antlr-rust-runtime 0.9.1

High performance Rust runtime and target support for ANTLR v4 generated parsers
Documentation
version = 1

# Grammar-family semantic helpers for grammars-v4's JavaScript lexer/parser.
# Target-specific state and token names live in the caller's Rust base modules;
# the generator/runtime only route structured helper calls to typed hooks.

[[helper]]
kind = "lexer-predicate"
name = "IsStartOfFile"
returns = "bool"
lower = "hook"

[[helper]]
kind = "lexer-predicate"
name = "IsRegexPossible"
returns = "bool"
lower = "hook"

[[helper]]
kind = "lexer-predicate"
name = "IsInTemplateString"
returns = "bool"
lower = "hook"

[[helper]]
kind = "lexer-predicate"
name = "IsStrictMode"
returns = "bool"
lower = "hook"

[[helper]]
kind = "lexer-action"
name = "ProcessOpenBrace"
returns = "unit"
lower = "hook"

[[helper]]
kind = "lexer-action"
name = "ProcessCloseBrace"
returns = "unit"
lower = "hook"

[[helper]]
kind = "lexer-action"
name = "ProcessStringLiteral"
returns = "unit"
lower = "hook"

[[helper]]
kind = "lexer-action"
name = "ProcessTemplateOpenBrace"
returns = "unit"
lower = "hook"

[[helper]]
kind = "lexer-action"
name = "ProcessTemplateCloseBrace"
returns = "unit"
lower = "hook"

# The sibling TypeScript grammar spells its template-state actions after the
# base-class methods instead of the JavaScript grammar's ProcessTemplate* pair.
[[helper]]
kind = "lexer-action"
name = "StartTemplateString"
returns = "unit"
lower = "hook"

[[helper]]
kind = "lexer-action"
name = "IncreaseTemplateDepth"
returns = "unit"
lower = "hook"

[[helper]]
kind = "lexer-action"
name = "DecreaseTemplateDepth"
returns = "unit"
lower = "hook"

[[helper]]
name = "notLineTerminator"
returns = "bool"
lower = "hook"

[[helper]]
name = "lineTerminatorAhead"
returns = "bool"
lower = "hook"

[[helper]]
name = "notOpenBraceAndNotFunction"
returns = "bool"
lower = "hook"

[[helper]]
name = "notOpenBraceAndNotFunctionAndNotInterface"
returns = "bool"
lower = "hook"

[[helper]]
name = "closeBrace"
returns = "bool"
lower = "hook"

[[helper]]
name = "n"
arguments = "string"
returns = "bool"
lower = "hook"

# Used by the sibling TypeScript grammar and harmless for JavaScript.
[[helper]]
name = "p"
arguments = "string"
returns = "bool"
lower = "hook"