RE: SISR: Comments on SISR April 2003 working draft

> I responded:
> There's no need for new syntax here. It seems that the following
> should work (as is implemented on our platform):
>  $rule =
>    $<http://example.com/foo.gram#foo>
>    $<http://example.com/bar.gram#bar>
>    {$.result = $foo + $bar};

M. Le Huitouze said:
Regarding Dean's answer, it may be some kind of workaround, but is
nothing near a general solution.
What if an external rule reference is done without mentioning the
rule name (because the referenced module has a root rule)?
What about a rule like the following?
  $rule =
    $<http://example.com/foo.gram#r1>
    $<http://example.com/bar.gram#r1>
    {$.result = $r1 + $r1};
                ^^^   ^^^

I respond further:
Of course, the same problem occurs for local rule references:

$rule = $r1 $r1 {$.result = $r1 + $r1};

But the solution is simple (and also works for the root rule case):

$rule = $r1 {$.firstres = $$} $r1 {$.result = $.firstres + $$};

(I could have used $r1 instead of $$ in both cases I think.}

- Dean

Received on Tuesday, 2 December 2003 12:32:29 UTC