EControl Syntax Editor SDK
Grammar

Grammar rules allows testing complex sequences of tokens. 

Grammar is defined in Gramma property. Grammar rules are separated by the semicolon. 

 

Syntax of grammar definitions:

Rule ::= RuleName '=' Branch_list ';'

Branch_list ::= Item_list
              | Branch_list '|' Item_list

Item_list ::= Element
            | Item_list Element

Element ::= Item
          | Item '*'
          | Item '+'
          | Item '?'

Item ::= RuleName
       | '"' Term '"'
       | ''' Term '''
       | '<' TokenType '>'
       | '(' Item_list ')'

where: 

"Term" - case insensitive terminal, 

'Term' - case sensitive terminal, 

TokenType - name of token type, 

RuleName - name of grammar rule. 

 

Repeaters: 

'*' - any number of entries including none 

'+' - at least one entry 

'?' - one entry or none 

 

There are special grammar rule "Skip". It is used after each match operation to skip unused tokens (for example, comments).

Copyright (c) 2004-2011. All rights reserved.
What do you think about this topic? Send feedback!