Hi Cliff, thanks for the input.  I think it might be hard to record complete 
"state of the lexer" for each input position efficiently.  Users could, for 
example, update a large global data structure as they lexed.

Hmm...yeah, i was trying this idea earlier but we sort of need to formalize 
arguments to parser rules to handle predicates that get generated outside of 
the defining function (when I need to gen cyclic DFA).  THis happens for Java 
as it has no goto. might as well do locals too.

T

On Apr 18, 2010, at 4:04 PM, Cliff Hudson wrote:

> With respect to local variables and actions in ambiguous sets of rule, it 
> seems to me that the entire rule alternative is the scope for all actions 
> which appear in it, so having an action which declares a variable and then 
> another action later in the alternative which executes some code is really 
> all one method.  What would need to be dealt with is that the language target 
> generator would need to be able to take the state pulled from the DFA and 
> insert that information into the alternative's action sequence so that each 
> action had access to the logical state at the time it executes.
> 
> For instance, in the rule:
> 
> FOO: { int n=4; } 'a'* { n += $text.Length; } 'bcd' { System.WriteLine("{0}: 
> {1}", n, $text); } ;
> 
> the alternative's action function would look like:
> 
> foo_alt1(State[] states)
> {
>     int n=4;
>     n += states[0].Text.Length;
>     System.WriteLine("{0}: {1}", n, states[1].Text);
> }
> 
> The State[] is an output from the DFA.  Ambiguity then doesn't have any 
> effect on your ability to execute actions, but language targets would need to 
> be rewritten.


List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

-- 
You received this message because you are subscribed to the Google Groups 
"il-antlr-interest" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.

Reply via email to