Version

Limitations (Syntax Parsing Engine)

Topic Overview

Purpose

This topic explains the Syntax Parsing Engine’s limitations.

Required background

The following topics are prerequisites to understanding this topic:

Topic Purpose

This topic provides an overview of the Syntax Parsing Engine.

This topic provides an overview of the Syntax Parsing Engine’s Grammar.

This topic explains the lexical analysis performed by the Syntax Parsing Engine.

This topic explains the syntax analysis performed by the Syntax Parsing Engine.

In this topic

This topic contains the following sections:

Symbol Limit

Summary

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.

Production Limit

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.

Lexer State Path Limit

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.

Related Content

Topics

The following topics provide additional information related to this topic.

Topic Purpose

This topic explains the restrictions placed on grammar definitions.

This topic describes the ambiguities that may occur while a document is parsing and how to handle them.