Thank you for reply.
Though, after removing all the syntactic predicates, there are still some errors.
Below are examples.
e.g.
error message:
action in lexer rule 'PP_EQUALITY_EXPRESSION' must be last element of single outermost alt.
related grammar:
fragment
PP_PRIMARY_EXPRESSION:
IDENTIFIER
{
Returns.Push(MacroDefines.ContainsKey($IDENTIFIER.Text));
}
| '(' PP_EXPRESSION ')'
;
error message:
redefinition of 'members' action
related grammar:
@lexer::members {
// Preprocessor Data Structures - see lexer section below and PreProcessor.cs
protected Dictionary<string,string> MacroDefines = new Dictionary<string,string>();
protected Stack<bool> Processing = new Stack<bool>();
// Uggh, lexer rules don't return values, so use a stack to return values.
protected Stack<bool> Returns = new Stack<bool>();
}
@members
{
protected bool is_class_modifier()
{
return false;
}
}
Thank you.
BJ
2013년 7월 5일 금요일 오후 12시 10분 7초 UTC+9, Jim Idle 님의 말: