This topic explains the Syntax Parsing Engine’s limitations.
The following topics are prerequisites to understanding this topic:
This topic contains the following sections:
Symbols must be assigned a unique integer ID in the parser for performance reasons. IDs are currently stored as 16-bit integers, allowing for 65,536 IDs; however, some IDs are reserved for current or future use. Therefore, the combined total of Terminal and Non-Terminal Symbols allowed is 65,500.
Productions have a unique 16-bit integer ID assigned to save space. The maximum number of productions allowed by expanding the syntax rule trees of all Non-Terminal Symbols instances defined in a Grammar is 65,536.
The Lexing performed by the Syntax Parsing Engine involves using Lexer states that form a stack as matched tokens enter and exit various states. Each possible stack configuration is assigned an 8-bit integer ID for performance reasons. Therefore, the maximum number of Lexer state stack configurations allowed is 256.
The following topics provide additional information related to this topic.