Grammar Kit RecoverWhile
Hello,
I'm sorry to ask for help again , but I'm having a hard time figuring out how to make a recoverWhile works.
I’ve read the HOWTO several times and thought I had understood but it doesn’t works.
pin(".*Definition")=1
cupSpec ::= packageDeclaration? importDeclaration* classNameDeclaration? codeParts* symbols+
precedences* startWith? production+
private symbols ::= terminalDefinition | nonTerminalDefinition
| typedNonTerminalDefinition | typedTerminalDefinition
{recoverWhile= symbols_recover}
private symbols_recover ::= !('terminal' | 'non' | 'nonterminal')
terminalDefinition ::= 'terminal' termNameList
typedTerminalDefinition ::= 'terminal' typeId termNameList
nonTerminalDefinition ::= ( 'non' 'terminal' |'nonterminal' ) termNameList
typedNonTerminalDefinition ::= ( 'non' 'terminal' |'nonterminal' ) typeId termNameList
typeId ::= qualifiedName
termNameList ::= identifier (',' identifier)* ';'
qualifiedName ::= identifier ('.' identifier)*
And when I test with this :
terminal ADD, MUL, PO, PF;
terminal NUM;
nksvojnsv
sijffo
non terminal l;
non terminal x, f, a;
Nothing goes wrong, the PSI tree looks good (the bad input is not present in it) but my Annotator highlighting goes down and I don't have any error highlighting.
Can someone explain me where is my stupid mistake ?
Thanks you !
Please sign in to leave a comment.