protected virtual void ExamineAllExecutableActions()
{
foreach ( Rule r in Rules )
{
// walk all actions within the rule elements, args, and exceptions
var actions = r.InlineActions;
foreach ( GrammarAST actionAST in actions )
{
ActionAnalysisLexer sniffer = new ActionAnalysisLexer( this, r.Name, actionAST );
sniffer.Analyze();
}
// walk any named actions like @init, @after
IEnumerable<GrammarAST> namedActions = r.Actions.Values.Cast<GrammarAST>();
foreach ( GrammarAST actionAST in namedActions )
{
ActionAnalysisLexer sniffer = new ActionAnalysisLexer( this, r.Name, actionAST );
sniffer.Analyze();
}
}
}