anchor.diff:  
   @members {
       // Generic type for OPTIONS, TOKENS and CHANNELS
  -    private int PREQUEL_CONSTRUCT = -10;
  +    private static final int PREQUEL_CONSTRUCT = -10;
  +    private static final int OPTIONS_CONSTRUCT = -11;
   
   	/** Track whether we are inside of a rule and whether it is lexical parser.
   	 *  _currentRuleType==Token.INVALID_TYPE means that we are outside of a rule.
  
positive.code: 				_currentRuleType = _type;                 // set to inside lexer or parser rule
  			}
  		}
  		else if (_type == SEMI) {                  // exit rule def
  			_currentRuleType = Token.INVALID_TYPE;
  		}
  
  		return super.emit();
  
negative.code: 	            && _currentRuleType == Token.INVALID_TYPE) { // enter prequel construct ending with an RBRACE
  	        _currentRuleType = PREQUEL_CONSTRUCT;
  	    }
  	    else if (_type == ANTLRv4Lexer.OPTIONS && _currentRuleType == ANTLRv4Lexer.TOKEN_REF) {
               _currentRuleType = OPTIONS_CONSTRUCT;
  	    } else if (_type == RBRACE) {
  	        if (_currentRuleType == PREQUEL_CONSTRUCT) { // exit prequel construct
  	            _currentRuleType = Token.INVALID_TYPE;
  	        }
  	        else if (_currentRuleType == OPTIONS_CONSTRUCT) { // exit options
  	            _currentRuleType = ANTLRv4Lexer.TOKEN_REF;
  	        }
  	    }
          else if (_type == AT && _currentRuleType == Token.INVALID_TYPE) { // enter action
              _currentRuleType = AT;
  