Re: how do i implement double-dispatching?
From: cl1motorsports (cwlambert76_at_yahoo.com)
Date: 12/20/03
- Next message: gilmour: ""A binding to the winsock 2 DLL""
- Previous message: Ekkehard Morgenstern: "Re: [announcement] SYSAPI and SYSSVC for Windows"
- In reply to: cl1motorsports: "how do i implement double-dispatching?"
- Next in thread: Martin Krischik: "Re: how do i implement double-dispatching?"
- Reply: Martin Krischik: "Re: how do i implement double-dispatching?"
- Reply: cl1motorsports: "Re: how do i implement double-dispatching?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sat, 20 Dec 2003 00:27:19 -0600
On Wed, 17 Dec 2003 12:08:41 -0600, cl1motorsports wrote:
<snip>
> package body Abstract_Visitor is
>
> procedure Accept_Visitor(V : in out Visitor_Record'Class; Node : in Parse_Tree_Node_Record'Class) is
> begin
> Visit(V, Node);
> end Accept_Visitor;
>
> end Abstract_Visitor;
>
> -- END OF CODE
<snip>
thanks for all of your suggestions. after careful consideration i decided
to change the above Accept_Visitor procedure to:
procedure Accept_Vistor(V:in out Visitor_Record'Class; Node : in Parse_Tree_Node_Record'Class) is
begin
if Node in Equal_Op'Class then
Visit(V, Equal_Op(Node));
elsif Node in Number_Node'Class then
Visit(V, Number_Node(Node));
...
end if;
end Accept_Visitor;
now it only dynamically dispatches on the Visitor_Record'Class and the
Node parameter is determined at compile time. I don't think i would have
figured that out by myself (at least not at this point in time).
and just to let y'all know. I'm trying to write a C to Ada translator. The
first task on my list is to handle #define statements. I'm sure this
should be in another thread if a topic gets started on this. But I thought
it would be nice to let y'all know what you were helping me with here.
Thanks again everyone
[:^)
- Next message: gilmour: ""A binding to the winsock 2 DLL""
- Previous message: Ekkehard Morgenstern: "Re: [announcement] SYSAPI and SYSSVC for Windows"
- In reply to: cl1motorsports: "how do i implement double-dispatching?"
- Next in thread: Martin Krischik: "Re: how do i implement double-dispatching?"
- Reply: Martin Krischik: "Re: how do i implement double-dispatching?"
- Reply: cl1motorsports: "Re: how do i implement double-dispatching?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|