From 717996a968180a5846793f9713ae38336f8bf3f7 Mon Sep 17 00:00:00 2001 From: opaopa6969 Date: Sat, 3 Oct 2026 18:42:16 +0900 Subject: [PATCH 1/4] Generate P4 lexical tokens from modular UBNF v2 grammars --- .github/unlaxer-source-pin | 2 +- .github/workflows/ci.yml | 34 +- README.md | 4 + docs/INDEX.ja.md | 1 + docs/INDEX.md | 1 + docs/declarative-lexical-modules.md | 76 + playground/README.md | 1 + playground/index.html | 5 +- playground/scripts/check.mjs | 6 +- playground/src/guide-content.js | 6 +- rust/check-generated.sh | 2 + rust/scripts/generate-compat.py | 18 +- rust/scripts/regenerate-ubnfc.sh | 50 +- rust/tinyexpression-rs/README.md | 10 +- rust/tinyexpression-rs/src/api.rs | 4 +- rust/tinyexpression-rs/src/frontend.rs | 8 +- .../src/frontend/declarative_tests.rs | 70 + .../tinyexpression-rs/src/generated/compat.rs | 88 +- .../src/generated/ubnfc/metadata.rs | 2 +- .../src/generated/ubnfc/parser.rs | 1837 +--- .../src/generated/ubnfc/runtime.rs | 654 +- .../generated/ubnfc_formula_info/parser.rs | 23 +- .../generated/ubnfc_formula_info/runtime.rs | 67 +- rust/ubnfc-formula-info-vendored.sha256 | 4 +- rust/ubnfc-pin.txt | 18 +- rust/ubnfc-vendored.sha256 | 6 +- scripts/generate-ubnfc-converter.py | 17 +- scripts/regenerate-ubnfc-parser.sh | 11 + .../unlaxer/tinyexpression/p4/ubnfc/UBNFC_PIN | 25 +- .../p4/ubnfc/UbnfcAstConverter.java | 66 +- .../tinyexpression/p4/ubnfc/UbnfcP4Parse.java | 3 +- .../generated/TinyExpressionP4Parser.java | 7982 +++++++++-------- .../p4/ubnfc/generated/api/ParseResult.java | 11 +- .../p4/ubnfc/generated/driver/Driver.java | 19 +- .../generated/internal/LexicalExpression.java | 129 + .../p4/ubnfc/generated/internal/Recipe.java | 23 +- .../p4/ubnfc/generated/internal/Session.java | 152 +- .../p4/ubnfc/generated/rt/Input.java | 8 + .../DeclarativeLexicalConformanceTest.java | 35 + .../eval-context-contract/rust-responses.tsv | 6 +- .../resources/p4-lexical-conformance.json | 21 + .../grammar/lexical/characters.ubnf | 6 + .../grammar/lexical/fences.ubnf | 14 + .../grammar/lexical/identifiers.ubnf | 6 + .../grammar/lexical/numbers.ubnf | 8 + .../grammar/lexical/strings.ubnf | 7 + .../grammar/tinyexpression-p4.ubnf | 47 +- 47 files changed, 5805 insertions(+), 5788 deletions(-) create mode 100644 docs/declarative-lexical-modules.md create mode 100644 rust/tinyexpression-rs/src/frontend/declarative_tests.rs create mode 100644 src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/internal/LexicalExpression.java create mode 100644 src/test/java/org/unlaxer/tinyexpression/p4/ubnfc/DeclarativeLexicalConformanceTest.java create mode 100644 src/test/resources/p4-lexical-conformance.json create mode 100644 tools/tinyexpression-p4-lsp-vscode/grammar/lexical/characters.ubnf create mode 100644 tools/tinyexpression-p4-lsp-vscode/grammar/lexical/fences.ubnf create mode 100644 tools/tinyexpression-p4-lsp-vscode/grammar/lexical/identifiers.ubnf create mode 100644 tools/tinyexpression-p4-lsp-vscode/grammar/lexical/numbers.ubnf create mode 100644 tools/tinyexpression-p4-lsp-vscode/grammar/lexical/strings.ubnf diff --git a/.github/unlaxer-source-pin b/.github/unlaxer-source-pin index b8d0201f..8ff8ded9 100644 --- a/.github/unlaxer-source-pin +++ b/.github/unlaxer-source-pin @@ -1,3 +1,3 @@ # unlaxer-parser commit CI builds while pom.xml's unlaxer.version is not on Maven Central # (scripts/ci/install-unlaxer-if-unpublished.sh, tinyexpression #220). Delete once 3.1.1 is published. -commit=4d228196f1e701b4ca39c8a3cb710afb0b73112f +commit=08f2bc1c918a34b84c333a8178c990383fdffb8d diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7124598d..8a57f284 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -147,7 +147,7 @@ jobs: - name: Parity, differential fuzz and engine mode matrix run: >- mvn -B test -Dgpg.skip=true -Dtinyexpression.skipRailroad=true -Dmaven.repo.local="$MAVEN_REPO" - -Dtest=UbnfcParityTest,UbnfcDifferentialFuzzTest,P4EngineModeMatrixTest,P4ParserEngineTest,P4DslJavaCodeCalculatorTest,P4DslJavaCodeCalculatorClassicEngineTest,P4AstEvaluatorCalculatorTest,P4AstEvaluatorCalculatorClassicEngineTest,P4PreferredAstMapperDiagnosticsTest,P4SourceMappingTest + -Dtest=DeclarativeLexicalConformanceTest,UbnfcParityTest,UbnfcDifferentialFuzzTest,P4EngineModeMatrixTest,P4ParserEngineTest,P4DslJavaCodeCalculatorTest,P4DslJavaCodeCalculatorClassicEngineTest,P4AstEvaluatorCalculatorTest,P4AstEvaluatorCalculatorClassicEngineTest,P4PreferredAstMapperDiagnosticsTest,P4SourceMappingTest - uses: actions/upload-artifact@v6 if: always() with: @@ -158,12 +158,12 @@ jobs: if-no-files-found: warn mapper-compatibility: - name: Mapper compatibility (${{ matrix.generator }}) + name: Mapper compatibility (${{ matrix.generator }} dependency) runs-on: [self-hosted, Linux, X64, tinyexpression-ci] strategy: fail-fast: false matrix: - generator: [published, source] + generator: [declared, source] steps: - uses: actions/checkout@v6 with: @@ -180,8 +180,8 @@ jobs: if: matrix.generator == 'source' with: repository: opaopa6969/unlaxer-parser - # Source-mapped alternate-entry contract; update together with its compatibility oracle. - ref: 6a4187c73f748282524fac579415bcd092ae9c6e + # Declarative lexical modules and comment-safe setting values. + ref: 08f2bc1c918a34b84c333a8178c990383fdffb8d path: unlaxer-parser - name: Install pinned development generator into its isolated repository if: matrix.generator == 'source' @@ -189,20 +189,17 @@ jobs: run: >- mvn -B -pl .,unlaxer-common,unlaxer-dsl install -DskipTests -Dgpg.skip=true -Dmaven.repo.local="$MAVEN_REPO" - # tinyexpression #220: the `published` leg checks the generator that is on Maven Central. While - # pom.xml's unlaxer.version (3.1.1) is not published yet, that is the previous release - # (UNLAXER_PUBLISHED_FALLBACK); the main artifact's default generator output is the same. + # The declared dependency must support declarative modules. Do not silently + # substitute 3.1.0: it cannot read this grammar. Until 3.1.1 is published, + # explicitly build the same pinned source dependency as the main CI job. + - name: Install declared dependency from its pin if unpublished + if: matrix.generator == 'declared' + working-directory: tinyexpression + run: bash scripts/ci/install-unlaxer-if-unpublished.sh - name: Choose the unlaxer version under test working-directory: tinyexpression - env: - UNLAXER_PUBLISHED_FALLBACK: 3.1.0 run: | version=$(sed -n 's:.*\(.*\).*:\1:p' pom.xml | head -1) - if [ "${{ matrix.generator }}" = published ] \ - && ! curl -fsI "https://repo1.maven.org/maven2/org/unlaxer/unlaxer-dsl/$version/unlaxer-dsl-$version.pom" > /dev/null; then - echo "unlaxer $version is not on Maven Central; the published leg uses $UNLAXER_PUBLISHED_FALLBACK" | tee -a "$GITHUB_STEP_SUMMARY" - version=$UNLAXER_PUBLISHED_FALLBACK - fi # The `source` leg tests the pinned unlaxer-parser checkout it installed: use its own revision. if [ "${{ matrix.generator }}" = source ]; then version=$(sed -n 's:.*\(.*\).*:\1:p' ../unlaxer-parser/pom.xml | head -1) @@ -211,11 +208,8 @@ jobs: echo "UNLAXER_VERSION=$version" >> "$GITHUB_ENV" - name: Verify public and snapshot APIs without shared Maven state working-directory: tinyexpression - # As of unlaxer 3.1.0 (#209) the published unlaxer-dsl jar already carries the - # snapshot / node-alias / optional-qualifier generator shapes that used to be - # source-pin-only (they landed on master at or before the 3.1.0 cut), so both - # matrix legs expect true here. The `source` leg's own commit pin still matters - # for later, still-unreleased generator changes (see the checkout step above). + # Both supported dependency routes must retain snapshot / node-alias / + # optional-qualifier API shapes while generating the new lexical modules. run: >- mvn -B clean test -Dgpg.skip=true -Dmaven.repo.local="$MAVEN_REPO" -Dunlaxer.version="$UNLAXER_VERSION" -Dtinyexpression.expected.mapper.snapshot=true diff --git a/README.md b/README.md index 53b3426e..2aeb6a69 100644 --- a/README.md +++ b/README.md @@ -255,6 +255,10 @@ DAP/ランタイムエイリアス: `token`, `ast`, `dsl-javacode`, `p4-ast`, `p `scripts/regenerate-ubnfc-parser.sh`)。返す AST・`selectionMode`・span・失敗時の例外とメッセージは 旧経路と同一で、`UbnfcParityTest`(340 件以上)が固定している。 +字句も [UBNF v2 の外部 grammar 部品](docs/declarative-lexical-modules.md) から生成する。 +NUMBER / IDENTIFIER / STRING / code fence は旧 Parser への mapping を使わず、 +`@import` alias による namespace で構成する。quote の正規化は AST 値変換に分離した。 + 旧 combinator 経路は **`classic`**(unlaxer Classic)として 2.x の間だけ選べる(**3.0 で削除予定**)。 `legacy` という id は **非推奨のエイリアス**として `classic` を指す(使うと一度だけ警告ログが出る)。 エンジン本体と一緒に 3.0 で削除される。 diff --git a/docs/INDEX.ja.md b/docs/INDEX.ja.md index e1394e06..795365c4 100644 --- a/docs/INDEX.ja.md +++ b/docs/INDEX.ja.md @@ -12,6 +12,7 @@ | [language-guide-ja.md](./language-guide-ja.md) | 完全な言語仕様 | | [backends-ja.md](./backends-ja.md) | 6 バックエンドの比較、generated-only 境界、パリティ契約 | | [architecture-ja.md](./architecture-ja.md) | パーサーコンビネータ、AST、6 エバリュエータ、型システム | +| [declarative-lexical-modules.md](./declarative-lexical-modules.md) | UBNF v2 の宣言的 token、外部 grammar、Java/Rust 生成と検証 | ## アーキテクチャ決定記録 diff --git a/docs/INDEX.md b/docs/INDEX.md index 173e4111..5f43c455 100644 --- a/docs/INDEX.md +++ b/docs/INDEX.md @@ -12,6 +12,7 @@ | [language-guide.md](./language-guide.md) | Complete language specification | | [backends.md](./backends.md) | 6 backend comparison, generated-only boundary, parity contract | | [architecture.md](./architecture.md) | Parser combinators, AST, 6 evaluators, type system | +| [declarative-lexical-modules.md](./declarative-lexical-modules.md) | Declarative UBNF v2 tokens, imported grammars, Java/Rust generation and verification (Japanese) | ## Architecture Decisions diff --git a/docs/declarative-lexical-modules.md b/docs/declarative-lexical-modules.md new file mode 100644 index 00000000..33c74c7c --- /dev/null +++ b/docs/declarative-lexical-modules.md @@ -0,0 +1,76 @@ +# P4 の宣言的 lexical grammar + +P4 の lexical token は UBNF v2 の `token NAME ::= expression ;` から生成する。 +NUMBER / IDENTIFIER / STRING / code fence / EOF を旧 Java Parser 名へ mapping しない。 +既定 Java engine は空の scanner registry、Rust engine は `RejectExtern` で動く。 +残してある旧 scanner は互換テスト用で、新しい P4 の認識には使用しない。 + +## 文法の分割 + +入口は `tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf`。 +その隣の `lexical/` に次の grammar を置く。 + +| module | 定義 | +|---|---| +| `characters.ubnf` | ASCII digit / letter / underscore、CRLF / CR / LF | +| `numbers.ubnf` | 符号、整数・小数、省略可能な完全な指数部 | +| `identifiers.ubnf` | identifier と dotted class name | +| `strings.ubnf` | single/double quote、raw escape pair、改行・非 BMP 文字 | +| `fences.ubnf` | 旧 triple fence と可変長の complete fenced block | + +```ubnf +@import numbers from 'lexical/numbers.ubnf' +token NUMBER ::= numbers.NUMBER; +``` + +alias が namespace になる。import path は宣言元の file 基準。 +module の内部参照・capture は宣言元で閉じ、caller の同名定義を見ない。 +独立した namespace 宣言や implicit import はない。相互再帰する expression 規則は +P4 本体に残し、独立した lexical grammar から分割する。 + +token 式の中には暗黙の空白を挿入しない。rule 間の javaStyle trivia は従来どおり。 +ubnfc の v2 keyword boundary への切替を lexical 移行に混ぜないため、本体は +`@literalBoundary: none` を明記して従来の literal matching を維持する。 + +## raw 認識と値変換 + +文字列の token は引用符も escape も入力どおり保持する。Java の +`generate-ubnfc-converter.py` と Rust の `generate-compat.py` が作る値変換で、 +公開 AST の従来どおり single quote だけを除く。double quote と escape は残し、 +最終的な解釈は既存 evaluator が行う。span は元入力の code-point 半開区間のまま。 + +4 個以上の fence は ``CAPTURE(fence, '`'{4,})`` と `SAME_AS(fence)` で同じ幅を +要求する。閉じは独立した行であり、短い/長い fence は本文になる。 +CRLF は 1 組として消費する。3 個の fence は互換のため最初の triple-backtick を +terminator 候補にする従来仕様を保つ。 + +新しい token は原子的に失敗し、失敗時の consumed / matched を動かさない。 +診断の公開 expected token 名は維持するが、内部 `farthestExpected` から旧実装の +`DigitParser` / `SignParser` 等が消える。この実装詳細の変更を、共通 response 記録に +実行結果から反映する。失敗位置や評価結果の変更として取り扱わない。 + +## pin と再生成 + +Java の `UBNFC_PIN` と Rust の `ubnfc-pin.txt` は compiler commit / IR / 生成物だけで +なく全 lexical module の hash を記録する。module の変更だけでも drift 検査が落ちる。 +Rust の再生成も `git archive` で pin commit を使い、共有 checkout の HEAD や未コミット +変更を使わない。`UBNFC_REV= ... --write` で pin を移動できる。 + +```sh +UBNFC_DIR=/path/to/ubnfc scripts/regenerate-ubnfc-parser.sh --write +UBNFC_DIR=/path/to/ubnfc rust/scripts/regenerate-ubnfc.sh --write +mvn compile +python3 scripts/generate-ubnfc-converter.py --write +python3 rust/scripts/generate-compat.py +UBNFC_DIR=/path/to/ubnfc scripts/regenerate-ubnfc-parser.sh --check --require-full +UBNFC_DIR=/path/to/ubnfc rust/check-generated.sh +``` + +Java compiler dependency は lexical module 対応の `.github/unlaxer-source-pin` が最低条件。 +未公開の間、CI の declared-dependency leg もこの pin から build する。 +新しい文法を読めない旧公開版 3.1.0 への fallback は行わず、公開版との検証と偽らない。 + +Java/Rust 共通の 19 ケースは `src/test/resources/p4-lexical-conformance.json`。 +受理/拒否・独立した consumed/matched・raw quote・公開 AST 値・span を比較する。 +既存の engine parity / 数値・文字列・fence / 差分評価 corpus も継続する。 +playground は同じ Rust engine を WASM 化し、check / parity / roundtrip / build で確認する。 diff --git a/playground/README.md b/playground/README.md index b352d6d6..cc9d4d54 100644 --- a/playground/README.md +++ b/playground/README.md @@ -131,6 +131,7 @@ endpoint を持つときだけ、結果の上に「評価先: wasm(仮の値 - tinyexpression(既定の ubnfc パーサの生成元): [tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf](../tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf) - FormulaInfo: [grammar/formula-info.ubnf](../grammar/formula-info.ubnf) +- 字句部品: [grammar/lexical/](../tools/tinyexpression-p4-lsp-vscode/grammar/lexical/) — 数値・識別子・文字列・fence を機械可読な UBNF から生成する([仕様](../docs/declarative-lexical-modules.md))。 - 鉄道図(railroad、tinyexpression の文法): [docs/railroad/](../docs/railroad/)(GitHub Pages には載せていないので GitHub のページへリンク) ## 評価トレース(段階 3) diff --git a/playground/index.html b/playground/index.html index c3b57d5f..d4c4bb48 100644 --- a/playground/index.html +++ b/playground/index.html @@ -13,7 +13,8 @@

tinyexpression playground

wasm を読み込み中…

@@ -30,7 +31,7 @@

tinyexpression playground

Ctrl+Space で補完、変数・関数にカーソルを合わせると説明(カタログ)を表示します。

diff --git a/playground/scripts/check.mjs b/playground/scripts/check.mjs index 812267c4..c020299c 100644 --- a/playground/scripts/check.mjs +++ b/playground/scripts/check.mjs @@ -522,8 +522,10 @@ assert.deepEqual(run.formulas.map((f) => f.value.value), ['42', true]); const ids = steps.map((s) => s.id); assert.ok(ids.indexOf('grammar') < ids.indexOf('code-server'), 'grammar recap should come before the code-server entry'); const grammar = sections.find((s) => s.id === 'grammar'); - assert.ok(grammar?.body.ja.some((text) => text.includes('UBNF v2') && text.includes('accepts')), 'grammar help must explain UBNF v2 token contracts'); - assert.match(indexHtml, /tinyexpression(v2・token 契約)/, 'the playground must label the TinyExpression grammar link as UBNF v2 token contracts'); + assert.ok(grammar?.body.ja.some((text) => text.includes('UBNF v2') && text.includes('生成')), 'grammar help must explain declarative UBNF generation'); + assert.ok(grammar?.body.ja.some((text) => text.includes('CAPTURE') && text.includes('SAME_AS')), 'grammar help must explain variable-width fences'); + assert.match(indexHtml, /tinyexpression(v2・宣言的 token)/, 'the grammar link must describe declarative tokens'); + assert.match(indexHtml, /grammar\/lexical/, 'the playground must link reusable lexical modules'); } // evaluation target switch (#221): the server runtime against a mocked Java service diff --git a/playground/src/guide-content.js b/playground/src/guide-content.js index e3295bbe..087d638b 100644 --- a/playground/src/guide-content.js +++ b/playground/src/guide-content.js @@ -168,12 +168,14 @@ export const GUIDE = [ body: { ja: [ 'tinyexpression 本体と FormulaInfo ブロックの文法は UBNF で定義されています。鉄道図(railroad diagram)はその文法を図にしたものです。', - 'tinyexpression の文法は UBNF v2 です。NUMBER や STRING など外部実装に結び付く token でも、FQN だけでなく accepts・failure・consumes・context の契約を文法ファイルで読めます。', + 'tinyexpression の文法は UBNF v2 です。NUMBER・IDENTIFIER・STRING・code fence の認識器は、機械可読な token 式から Java/Rust へ生成します。旧 Parser のクラス名への mapping は使いません。', + '字句部品のリンクから、数値・識別子・文字列・fence の外部 grammar を読めます。@import の alias が namespace になり、可変長 fence は CAPTURE と SAME_AS で開閉幅を照合します。', 'ヘッダーのこのリンクから両方の UBNF ファイルと鉄道図の一覧を開けます。', ], en: [ 'Both tinyexpression itself and the FormulaInfo block format are defined in UBNF grammars. The railroad diagrams are a picture of the same grammar.', - 'The tinyexpression grammar uses UBNF v2. For externally implemented tokens such as NUMBER and STRING, the grammar records accepts, failure, consumption and context contracts in addition to the FQN binding.', + 'UBNF v2 token expressions generate NUMBER, IDENTIFIER, STRING and code-fence recognition in Java and Rust, without mapping to legacy Parser classes.', + 'The lexical modules link opens reusable number, identifier, string and fence grammars. An @import alias is a namespace; CAPTURE and SAME_AS match the opening and closing widths of a variable-length fence.', 'These header links open both UBNF files and the list of railroad diagrams.', ], }, diff --git a/rust/check-generated.sh b/rust/check-generated.sh index b23cf8c4..7d897565 100755 --- a/rust/check-generated.sh +++ b/rust/check-generated.sh @@ -17,6 +17,8 @@ set -euo pipefail script_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd) repo_dir=$(cd -- "$script_dir/.." && pwd) +# The offline check must notice a changed imported grammar too. +(cd "$repo_dir" && sed -n 's/^grammar_file //p' rust/ubnfc-pin.txt | sha256sum -c -) if [ -d "${UBNFC_DIR:-$repo_dir/../ubnfc}" ]; then bash "$script_dir/scripts/regenerate-ubnfc.sh" --check else diff --git a/rust/scripts/generate-compat.py b/rust/scripts/generate-compat.py index 002b7249..49fcc0eb 100644 --- a/rust/scripts/generate-compat.py +++ b/rust/scripts/generate-compat.py @@ -37,6 +37,14 @@ use super::ubnfc::ast::Ast as U; use crate::Span; +// Recognition retains raw quotes. Preserve the published AST's historical +// single-quote normalization in the value conversion layer (no escape decode). +fn lexical_text(text: &str) -> String { + text.strip_prefix(char::from(39)) + .and_then(|inner| inner.strip_suffix(char::from(39))) + .unwrap_or(text).to_owned() +} + /// Converts one ubnfc AST into the published `Ast`. /// /// `clip` bounds every span, which the frontend needs when it re-parses a masked copy of the @@ -92,7 +100,7 @@ match source { U::Text(text) => { return Ok(AstValue::Text { - text: text.clone(), + text: lexical_text(text), span: self.span(owner), }) } @@ -100,7 +108,7 @@ if inner.g_left.is_none() && inner.g_right.is_empty() && inner.g_op.len() == 1 => { return Ok(AstValue::Text { - text: inner.g_op[0].clone(), + text: lexical_text(&inner.g_op[0]), span: self.span(inner.span), }) } @@ -140,9 +148,9 @@ """ CONVERSIONS = { - ("String", "String"): "source.g_{f}.clone()", - ("Option", "Option"): "source.g_{f}.clone()", - ("Vec", "Vec"): "source.g_{f}.clone()", + ("String", "String"): "lexical_text(&source.g_{f})", + ("Option", "Option"): "source.g_{f}.as_deref().map(lexical_text)", + ("Vec", "Vec"): "source.g_{f}.iter().map(|text| lexical_text(text)).collect()", ("Box", "Box"): "self.node(&source.g_{f})?", ("Option>", "Option>"): "self.opt_node(&source.g_{f})?", ("Vec", "Vec"): "self.list(&source.g_{f})?", diff --git a/rust/scripts/regenerate-ubnfc.sh b/rust/scripts/regenerate-ubnfc.sh index f4949927..c2e0f6d1 100755 --- a/rust/scripts/regenerate-ubnfc.sh +++ b/rust/scripts/regenerate-ubnfc.sh @@ -25,13 +25,13 @@ # 1. the generator's own Cargo.toml is dropped (this crate has its own manifest); # 2. `parse_entry_with_scanner` is derived from the generated `parse_entry_with_options` # by the same textual substitution ubnfc's examples/p4-rust/build.rs performs, so a -# caller-chosen entry rule can be parsed with the extern-token scanners registered. -# Without it the entry API falls back to `RejectExtern` and every STRING literal fails. +# caller-chosen entry rule can be parsed with a caller-supplied scanner policy. +# The default P4 frontend supplies `RejectExtern`: all its tokens are declarative. # 3. ubnfc's hand-written extern-token scanners (`scanners/rust/scanners.rs`) are copied in # and their leading `//!` header is turned into `//`: the file is `include!`d so that it # can see the `ubnfc_generated` alias, and a macro expansion may not carry inner # attributes. Nothing else in the file is touched. Its unit tests -# (`scanners_tests.rs`) are copied alongside it, unchanged. +# (`scanners_tests.rs`) are copied alongside it, unchanged, as compatibility oracles. # # The ubnfc checkout is located with $UBNFC_DIR, else ../ubnfc next to this repository. # Nothing is written inside the ubnfc checkout: CARGO_TARGET_DIR is redirected to a temp dir. @@ -48,10 +48,12 @@ manifest="$rust_dir/ubnfc-vendored.sha256" vendored_fi="$rust_dir/tinyexpression-rs/src/generated/ubnfc_formula_info" manifest_fi="$rust_dir/ubnfc-formula-info-vendored.sha256" mode=${1:---check} +case "$mode" in --check|--write) ;; *) echo "usage: $0 [--check|--write]" >&2; exit 2 ;; esac value() { sed -n "s/^$1=//p" "$pin"; } ubnfc_commit=$(value ubnfc_commit) +if [[ "$mode" == --write ]]; then ubnfc_commit=${UBNFC_REV:-$ubnfc_commit}; fi grammar_rel=$(value grammar) grammar_sha=$(value grammar_sha256) scanners_rel=$(value scanners) @@ -65,14 +67,23 @@ test -d "$ubnfc_dir" || { exit 2 } -# The ubnfc checkout is a shared working tree that other work moves, so a differing HEAD is -# reported but not fatal: what actually pins the vendored tree is the byte comparison below, -# plus the SHA-256 of the grammar, of the scanners and of the intermediate IR. -actual_commit=$(git -C "$ubnfc_dir" rev-parse HEAD) -test "$actual_commit" = "$ubnfc_commit" || - echo "note: ubnfc is at $actual_commit; rust/ubnfc-pin.txt records $ubnfc_commit" >&2 +# Use the immutable commit, never the checkout's potentially dirty or unrelated HEAD. +ubnfc_commit=$(git -C "$ubnfc_dir" rev-parse "${ubnfc_commit}^{commit}") +work=$(mktemp -d) +trap 'rm -rf "$work"' EXIT +mkdir "$work/ubnfc" +git -C "$ubnfc_dir" archive "$ubnfc_commit" | tar -x -C "$work/ubnfc" +ubnfc_dir="$work/ubnfc" +export CARGO_TARGET_DIR="$work/target" + +sha() { sha256sum "$1" | cut -d' ' -f1; } +grammar_manifest() { + (cd "$repo_dir" && { find "$(dirname "$grammar_rel")" -type f -name '*.ubnf'; echo "$fi_grammar_rel"; } | + LC_ALL=C sort -u | while IFS= read -r f; do echo "$(sha "$f") $f"; done) +} check_sha() { + [[ "$mode" == --check ]] || return 0 local path=$1 expected=$2 local actual actual=$(sha256sum "$path" | cut -d' ' -f1) @@ -85,10 +96,9 @@ check_sha "$repo_dir/$grammar_rel" "$grammar_sha" check_sha "$ubnfc_dir/$scanners_rel" "$scanners_sha" check_sha "$ubnfc_dir/${scanners_rel%.rs}_tests.rs" "$(value scanners_tests_sha256)" check_sha "$repo_dir/$fi_grammar_rel" "$fi_grammar_sha" - -work=$(mktemp -d) -trap 'rm -rf "$work"' EXIT -export CARGO_TARGET_DIR="$work/target" +if [[ "$mode" == --check ]]; then + diff <(sed -n 's/^grammar_file //p' "$pin") <(grammar_manifest) +fi (cd "$ubnfc_dir" && cargo run -q --offline -p ubnfc-front --bin ubnfc -- \ ir --grammar "$repo_dir/$grammar_rel" \ @@ -172,6 +182,20 @@ case "$mode" in cp -r "$work/generated-formula-info" "$vendored_fi" (cd "$vendored_fi" && find . -type f | LC_ALL=C sort | xargs sha256sum) > "$manifest_fi" echo "vendored ubnfc FormulaInfo parser: updated" + { + echo '# Generated by rust/scripts/regenerate-ubnfc.sh --write; do not edit hashes by hand.' + echo "ubnfc_commit=$ubnfc_commit" + echo "grammar=$grammar_rel" + echo "grammar_sha256=$(sha "$repo_dir/$grammar_rel")" + grammar_manifest | while IFS= read -r entry; do echo "grammar_file $entry"; done + echo "ir_sha256=$(sha "$work/p4.ir.json")" + echo "scanners=$scanners_rel" + echo "scanners_sha256=$(sha "$ubnfc_dir/$scanners_rel")" + echo "scanners_tests_sha256=$(sha "$ubnfc_dir/${scanners_rel%.rs}_tests.rs")" + echo "formula_info_grammar=$fi_grammar_rel" + echo "formula_info_grammar_sha256=$(sha "$repo_dir/$fi_grammar_rel")" + echo "formula_info_ir_sha256=$(sha "$work/formula-info.ir.json")" + } > "$pin" ;; *) echo "usage: regenerate-ubnfc.sh [--check|--write]" >&2 diff --git a/rust/tinyexpression-rs/README.md b/rust/tinyexpression-rs/README.md index d5ec8a07..a442739d 100644 --- a/rust/tinyexpression-rs/README.md +++ b/rust/tinyexpression-rs/README.md @@ -174,11 +174,11 @@ MVN_ARGS=-o bash rust/tinyexpression-rs/tests/java-diff/regenerate-java-golden.s | パス | 中身 | |---|---| | `src/generated/ubnfc/` | `ubnfc ir` → `ubnfc-rust --no-emit-driver` の出力。`#![forbid(unsafe_code)]`、std のみ | -| `src/generated/ubnfc/scanners.rs`, `scanners_tests.rs` | ubnfc `scanners/rust/` の extern token scanner(STRING / CODE_START / CODE_END)とその単体テスト | +| `src/generated/ubnfc/scanners.rs`, `scanners_tests.rs` | 旧 extern token scanner と互換単体テスト。現 P4 は宣言的 token のため認識に登録しない | | `src/generated/compat.rs` | ubnfc AST → 公開 `Ast` の変換。`rust/scripts/generate-compat.py` が両 `ast.rs` から生成 | | `src/generated/ast.rs`, `evaluator.rs` | 公開 typed AST と `Semantics` trait。旧 unlaxer 生成物を引き継ぎ、以後は手で保守(node 集合は文法由来なので、文法を変えたら `generate-compat.py` が不一致で止まる) | | `src/generated/ubnfc_formula_info/` | `grammar/formula-info.ubnf`(FormulaInfo 文書、issue #180)の `ubnfc ir` → `ubnfc-rust --no-emit-driver` の出力。extern token が無いので変更は (1) だけ。manifest は `rust/ubnfc-formula-info-vendored.sha256` | -| `rust/ubnfc-pin.txt` | ubnfc commit(2 文法共通)、文法・IR・scanner の SHA-256 | +| `rust/ubnfc-pin.txt` | ubnfc commit(2 文法共通)、全 lexical module を含む文法・IR・scanner の SHA-256 | 再生成と検査: @@ -190,9 +190,11 @@ bash rust/check-generated.sh # = regenerate-ubnfc.sh --check 生成器の出力に対して行う機械的な変更は 3 つだけで、`--check` も同じ手順を踏む: (1) 生成器の `Cargo.toml` を捨てる、(2) `parse_entry_with_options` から scanner 付きの `parse_entry_with_scanner` を ubnfc `examples/p4-rust/build.rs` と同じ文字列置換で派生させ `parser.rs` 末尾に追記し `mod.rs` から re-export する -(result-family の再解析で入口 rule を選ぶため。scanner 無しの入口では STRING が全部落ちる)、 +(result-family の再解析で入口 rule を選ぶ既存 API。現在は RejectExtern を渡し、STRING も宣言的 token から生成する)、 (3) `scanners.rs` 先頭の `//!` を `//` にする(`include!` で取り込むため)。 -ubnfc checkout は共有作業ツリーなので、HEAD が pin と違っても警告だけ出し、固定の実体は byte 比較と各 SHA-256 で担保する。 +ubnfc checkout の HEAD は使わず、pin commit を `git archive` して再生成する。 +`UBNFC_REV= ... --write` で pin を更新できる。全 imported grammar も hash 検査対象。 +字句と値変換の契約は [宣言的 lexical modules](../../docs/declarative-lexical-modules.md) を参照。 旧 `rust/unlaxer-revision.txt` と unlaxer generator による検査は役目を終えたので削除した。 ## FormulaInfo loader(issue #180) diff --git a/rust/tinyexpression-rs/src/api.rs b/rust/tinyexpression-rs/src/api.rs index a6e6e5c4..6dbaeb2e 100644 --- a/rust/tinyexpression-rs/src/api.rs +++ b/rust/tinyexpression-rs/src/api.rs @@ -37,9 +37,9 @@ pub const EXIT_INTERNAL: u8 = 70; pub const VERSION: &str = env!("CARGO_PKG_VERSION"); /// The ubnfc commit the vendored parsers were generated from. `rust/check-generated.sh` /// fails when it differs from `ubnfc_commit` in `rust/ubnfc-pin.txt`. -pub const UBNFC_COMMIT: &str = "cefdbd7be262c9ea7c58a56b28fa0319c354e446"; +pub const UBNFC_COMMIT: &str = "f54d6b90466ffde14066d32f911ed642b1e49201"; /// Exact P4 grammar source identity; checked against `rust/ubnfc-pin.txt` in CI. -pub const GRAMMAR_SHA256: &str = "b3ebead02cf9c4ff2c8d8b56767ca51f3665331d7b84cf1f1fce79d600774347"; +pub const GRAMMAR_SHA256: &str = "4a02d31de4e646a0664fd78a4b77ff2e145e7af7dde83a209e244e38298e962a"; /// One JSON response and the exit code that goes with it. #[derive(Clone, Debug, PartialEq, Eq)] diff --git a/rust/tinyexpression-rs/src/frontend.rs b/rust/tinyexpression-rs/src/frontend.rs index d5b80583..fa2280b0 100644 --- a/rust/tinyexpression-rs/src/frontend.rs +++ b/rust/tinyexpression-rs/src/frontend.rs @@ -2,12 +2,15 @@ use crate::diagnostic::{ParseDiagnostic, ParseError}; use crate::generated::ast::Ast; +use crate::generated::compat; use crate::generated::ubnfc::{ parse_entry_with_scanner, Diagnostic, DiagnosticKind, ParseOptions, ParseResult, }; -use crate::generated::{compat, scanners}; use crate::{FrontendError, Span}; +#[cfg(test)] +mod declarative_tests; + /// The grammar name the vendored parser answers to. pub(crate) const GRAMMAR: &str = "TinyExpressionP4"; @@ -17,7 +20,8 @@ pub(crate) fn options() -> ParseOptions { /// Parses `source` from `entry` (`None` is the grammar root) and returns the ubnfc result. pub(crate) fn run(entry: Option<&str>, source: &str, options: ParseOptions) -> ParseResult { - let mut scanner = scanners::registry(); + // All lexical tokens are generated; reject any accidentally reintroduced extern. + let mut scanner = crate::generated::ubnfc::api::RejectExtern; parse_entry_with_scanner(GRAMMAR, entry, source, options, &mut scanner) .expect("the vendored parser knows every entry rule this crate asks for") } diff --git a/rust/tinyexpression-rs/src/frontend/declarative_tests.rs b/rust/tinyexpression-rs/src/frontend/declarative_tests.rs new file mode 100644 index 00000000..ffdbd733 --- /dev/null +++ b/rust/tinyexpression-rs/src/frontend/declarative_tests.rs @@ -0,0 +1,70 @@ +//! Cross-language input/position/value contract; no legacy token registry is registered. +use crate::generated::{ + ast::{Ast, AstValue}, + compat, ubnfc, +}; + +#[test] +fn shared_lexical_cases_need_no_host_parser_mapping() { + use crate::request::{parse_json, Json}; + let Json::Arr(rows) = parse_json(include_str!( + "../../../../src/test/resources/p4-lexical-conformance.json" + )) + .unwrap() else { + panic!("array"); + }; + for row in rows { + let id = row.str_field("id").unwrap(); + let input = row.str_field("input").unwrap(); + let Some(Json::Bool(ok)) = row.get("ok") else { + panic!("{id}") + }; + let ok = *ok; + let end = row + .get("prefix") + .map(|v| { + if let Json::Num(text) = v { + text.parse::().unwrap() + } else { + panic!("{id}") + } + }) + .unwrap_or(if ok { input.chars().count() } else { 0 }); + let result = ubnfc::parse_entry_with_options( + "TinyExpressionP4", + row.str_field("entry"), + input, + ubnfc::ParseOptions { + require_eof: false, + ..Default::default() + }, + ) + .unwrap(); + assert_eq!( + (result.ok, result.consumed_cp, result.matched_cp), + (ok, end, end), + "{id}" + ); + if let Some(expected) = row.str_field("value") { + let raw = result.ast.unwrap(); + let ubnfc::Ast::g_TinyExpressionP4AST_2e_StringConcatExpr(node) = &raw else { + panic!("{id}") + }; + assert_eq!( + node.g_left.as_ref(), + &ubnfc::Ast::Text(input.to_owned()), + "{id}" + ); + let Ast::StringConcatExpr { + span, + left: AstValue::Text { text, .. }, + .. + } = compat::convert(&raw).unwrap() + else { + panic!("{id}") + }; + assert_eq!(text, expected, "{id}"); + assert_eq!((span.start, span.end), (0, end), "{id}"); + } + } +} diff --git a/rust/tinyexpression-rs/src/generated/compat.rs b/rust/tinyexpression-rs/src/generated/compat.rs index 781ebfb3..7b430c62 100644 --- a/rust/tinyexpression-rs/src/generated/compat.rs +++ b/rust/tinyexpression-rs/src/generated/compat.rs @@ -13,6 +13,14 @@ use super::ast::{Ast, AstValue}; use super::ubnfc::ast::Ast as U; use crate::Span; +// Recognition retains raw quotes. Preserve the published AST's historical +// single-quote normalization in the value conversion layer (no escape decode). +fn lexical_text(text: &str) -> String { + text.strip_prefix(char::from(39)) + .and_then(|inner| inner.strip_suffix(char::from(39))) + .unwrap_or(text).to_owned() +} + /// Converts one ubnfc AST into the published `Ast`. /// /// `clip` bounds every span, which the frontend needs when it re-parses a masked copy of the @@ -68,7 +76,7 @@ impl Converter { match source { U::Text(text) => { return Ok(AstValue::Text { - text: text.clone(), + text: lexical_text(text), span: self.span(owner), }) } @@ -76,7 +84,7 @@ impl Converter { if inner.g_left.is_none() && inner.g_right.is_empty() && inner.g_op.len() == 1 => { return Ok(AstValue::Text { - text: inner.g_op[0].clone(), + text: lexical_text(&inner.g_op[0]), span: self.span(inner.span), }) } @@ -118,71 +126,71 @@ impl Converter { }, U::g_TinyExpressionP4AST_2e_CodeBlockExpr(source) => Ast::r#CodeBlockExpr { span: self.span(source.span), - r#source: source.g_source.clone(), + r#source: lexical_text(&source.g_source), }, U::g_TinyExpressionP4AST_2e_ImportDeclarationExpr(source) => Ast::r#ImportDeclarationExpr { span: self.span(source.span), r#className: self.node(&source.g_className)?, - r#method: source.g_method.clone(), - r#alias: source.g_alias.clone(), + r#method: source.g_method.as_deref().map(lexical_text), + r#alias: lexical_text(&source.g_alias), }, U::g_TinyExpressionP4AST_2e_QualifiedNameExpr(source) => Ast::r#QualifiedNameExpr { span: self.span(source.span), - r#head: source.g_head.clone(), - r#tail: source.g_tail.clone(), + r#head: lexical_text(&source.g_head), + r#tail: source.g_tail.iter().map(|text| lexical_text(text)).collect(), }, U::g_TinyExpressionP4AST_2e_NumberVariableDeclarationExpr(source) => Ast::r#NumberVariableDeclarationExpr { span: self.span(source.span), - r#varName: source.g_varName.clone(), + r#varName: lexical_text(&source.g_varName), r#onlyIfAbsent: self.opt_node(&source.g_onlyIfAbsent)?, r#value: self.opt_node(&source.g_value)?, - r#desc: source.g_desc.clone(), + r#desc: source.g_desc.as_deref().map(lexical_text), }, U::g_TinyExpressionP4AST_2e_StringVariableDeclarationExpr(source) => Ast::r#StringVariableDeclarationExpr { span: self.span(source.span), - r#varName: source.g_varName.clone(), + r#varName: lexical_text(&source.g_varName), r#onlyIfAbsent: self.opt_node(&source.g_onlyIfAbsent)?, r#value: self.opt_node(&source.g_value)?, - r#desc: source.g_desc.clone(), + r#desc: source.g_desc.as_deref().map(lexical_text), }, U::g_TinyExpressionP4AST_2e_BooleanVariableDeclarationExpr(source) => Ast::r#BooleanVariableDeclarationExpr { span: self.span(source.span), - r#varName: source.g_varName.clone(), + r#varName: lexical_text(&source.g_varName), r#onlyIfAbsent: self.opt_node(&source.g_onlyIfAbsent)?, r#value: self.opt_node(&source.g_value)?, - r#desc: source.g_desc.clone(), + r#desc: source.g_desc.as_deref().map(lexical_text), }, U::g_TinyExpressionP4AST_2e_ObjectVariableDeclarationExpr(source) => Ast::r#ObjectVariableDeclarationExpr { span: self.span(source.span), - r#varName: source.g_varName.clone(), + r#varName: lexical_text(&source.g_varName), r#onlyIfAbsent: self.opt_node(&source.g_onlyIfAbsent)?, r#value: self.opt_node(&source.g_value)?, - r#desc: source.g_desc.clone(), + r#desc: source.g_desc.as_deref().map(lexical_text), }, U::g_TinyExpressionP4AST_2e_OnlyIfAbsentExpr(source) => Ast::r#OnlyIfAbsentExpr { span: self.span(source.span), }, U::g_TinyExpressionP4AST_2e_NumberMethodDeclarationExpr(source) => Ast::r#NumberMethodDeclarationExpr { span: self.span(source.span), - r#methodName: source.g_methodName.clone(), + r#methodName: lexical_text(&source.g_methodName), r#parameters: self.opt_node(&source.g_parameters)?, r#expression: self.node(&source.g_expression)?, }, U::g_TinyExpressionP4AST_2e_StringMethodDeclarationExpr(source) => Ast::r#StringMethodDeclarationExpr { span: self.span(source.span), - r#methodName: source.g_methodName.clone(), + r#methodName: lexical_text(&source.g_methodName), r#parameters: self.opt_node(&source.g_parameters)?, r#expression: self.node(&source.g_expression)?, }, U::g_TinyExpressionP4AST_2e_BooleanMethodDeclarationExpr(source) => Ast::r#BooleanMethodDeclarationExpr { span: self.span(source.span), - r#methodName: source.g_methodName.clone(), + r#methodName: lexical_text(&source.g_methodName), r#parameters: self.opt_node(&source.g_parameters)?, r#expression: self.node(&source.g_expression)?, }, U::g_TinyExpressionP4AST_2e_ObjectMethodDeclarationExpr(source) => Ast::r#ObjectMethodDeclarationExpr { span: self.span(source.span), - r#methodName: source.g_methodName.clone(), + r#methodName: lexical_text(&source.g_methodName), r#parameters: self.opt_node(&source.g_parameters)?, r#expression: self.node(&source.g_expression)?, }, @@ -192,36 +200,36 @@ impl Converter { }, U::g_TinyExpressionP4AST_2e_MethodParameterExpr(source) => Ast::r#MethodParameterExpr { span: self.span(source.span), - r#paramName: source.g_paramName.clone(), - r#type: source.g_type.clone(), + r#paramName: lexical_text(&source.g_paramName), + r#type: source.g_type.as_deref().map(lexical_text), }, U::g_TinyExpressionP4AST_2e_ExternalBooleanInvocationExpr(source) => Ast::r#ExternalBooleanInvocationExpr { span: self.span(source.span), r#className: self.opt_node(&source.g_className)?, - r#name: source.g_name.clone(), + r#name: lexical_text(&source.g_name), r#args: self.opt_node(&source.g_args)?, }, U::g_TinyExpressionP4AST_2e_ExternalNumberInvocationExpr(source) => Ast::r#ExternalNumberInvocationExpr { span: self.span(source.span), r#className: self.opt_node(&source.g_className)?, - r#name: source.g_name.clone(), + r#name: lexical_text(&source.g_name), r#args: self.opt_node(&source.g_args)?, }, U::g_TinyExpressionP4AST_2e_ExternalStringInvocationExpr(source) => Ast::r#ExternalStringInvocationExpr { span: self.span(source.span), r#className: self.opt_node(&source.g_className)?, - r#name: source.g_name.clone(), + r#name: lexical_text(&source.g_name), r#args: self.opt_node(&source.g_args)?, }, U::g_TinyExpressionP4AST_2e_ExternalObjectInvocationExpr(source) => Ast::r#ExternalObjectInvocationExpr { span: self.span(source.span), r#className: self.opt_node(&source.g_className)?, - r#name: source.g_name.clone(), + r#name: lexical_text(&source.g_name), r#args: self.opt_node(&source.g_args)?, }, U::g_TinyExpressionP4AST_2e_MethodInvocationExpr(source) => Ast::r#MethodInvocationExpr { span: self.span(source.span), - r#name: source.g_name.clone(), + r#name: lexical_text(&source.g_name), r#args: self.opt_node(&source.g_args)?, }, U::g_TinyExpressionP4AST_2e_TernaryExpr(source) => Ast::r#TernaryExpr { @@ -241,7 +249,7 @@ impl Converter { U::g_TinyExpressionP4AST_2e_BinaryExpr(source) => Ast::r#BinaryExpr { span: self.span(source.span), r#left: self.required_value(&source.g_left, "left", source.span)?, - r#op: source.g_op.clone(), + r#op: source.g_op.iter().map(|text| lexical_text(text)).collect(), r#right: self.value_list(&source.g_right, source.span)?, }, U::g_TinyExpressionP4AST_2e_SinExpr(source) => Ast::r#SinExpr { @@ -385,9 +393,9 @@ impl Converter { }, U::g_TinyExpressionP4AST_2e_InDayTimeRangeExpr(source) => Ast::r#InDayTimeRangeExpr { span: self.span(source.span), - r#startDay: source.g_startDay.clone(), + r#startDay: lexical_text(&source.g_startDay), r#startHour: self.node(&source.g_startHour)?, - r#endDay: source.g_endDay.clone(), + r#endDay: lexical_text(&source.g_endDay), r#endHour: self.node(&source.g_endHour)?, }, U::g_TinyExpressionP4AST_2e_SliceExpr(source) => Ast::r#SliceExpr { @@ -400,33 +408,33 @@ impl Converter { U::g_TinyExpressionP4AST_2e_StringConcatExpr(source) => Ast::r#StringConcatExpr { span: self.span(source.span), r#left: self.value(&source.g_left, source.span)?, - r#op: source.g_op.clone(), + r#op: source.g_op.iter().map(|text| lexical_text(text)).collect(), r#right: self.value_list(&source.g_right, source.span)?, }, U::g_TinyExpressionP4AST_2e_StringCastVariableRefExpr(source) => Ast::r#StringCastVariableRefExpr { span: self.span(source.span), - r#name: source.g_name.clone(), + r#name: lexical_text(&source.g_name), }, U::g_TinyExpressionP4AST_2e_StringTypedVariableRefExpr(source) => Ast::r#StringTypedVariableRefExpr { span: self.span(source.span), - r#name: source.g_name.clone(), + r#name: lexical_text(&source.g_name), }, U::g_TinyExpressionP4AST_2e_BooleanOrExpr(source) => Ast::r#BooleanOrExpr { span: self.span(source.span), r#left: self.node(&source.g_left)?, - r#op: source.g_op.clone(), + r#op: source.g_op.iter().map(|text| lexical_text(text)).collect(), r#right: self.list(&source.g_right)?, }, U::g_TinyExpressionP4AST_2e_BooleanAndExpr(source) => Ast::r#BooleanAndExpr { span: self.span(source.span), r#left: self.node(&source.g_left)?, - r#op: source.g_op.clone(), + r#op: source.g_op.iter().map(|text| lexical_text(text)).collect(), r#right: self.list(&source.g_right)?, }, U::g_TinyExpressionP4AST_2e_BooleanXorExpr(source) => Ast::r#BooleanXorExpr { span: self.span(source.span), r#left: self.node(&source.g_left)?, - r#op: source.g_op.clone(), + r#op: source.g_op.iter().map(|text| lexical_text(text)).collect(), r#right: self.list(&source.g_right)?, }, U::g_TinyExpressionP4AST_2e_NotExpr(source) => Ast::r#NotExpr { @@ -436,7 +444,7 @@ impl Converter { U::g_TinyExpressionP4AST_2e_BooleanEqualityExpr(source) => Ast::r#BooleanEqualityExpr { span: self.span(source.span), r#left: self.value(&source.g_left, source.span)?, - r#op: source.g_op.clone(), + r#op: lexical_text(&source.g_op), r#right: self.value(&source.g_right, source.span)?, }, U::g_TinyExpressionP4AST_2e_BooleanFactorExpr(source) => Ast::r#BooleanFactorExpr { @@ -446,13 +454,13 @@ impl Converter { U::g_TinyExpressionP4AST_2e_StringComparisonExpr(source) => Ast::r#StringComparisonExpr { span: self.span(source.span), r#left: self.node(&source.g_left)?, - r#op: source.g_op.clone(), + r#op: lexical_text(&source.g_op), r#right: self.node(&source.g_right)?, }, U::g_TinyExpressionP4AST_2e_ComparisonExpr(source) => Ast::r#ComparisonExpr { span: self.span(source.span), r#left: self.node(&source.g_left)?, - r#op: source.g_op.clone(), + r#op: lexical_text(&source.g_op), r#right: self.node(&source.g_right)?, }, U::g_TinyExpressionP4AST_2e_ObjectExpr(source) => Ast::r#ObjectExpr { @@ -528,8 +536,8 @@ impl Converter { }, U::g_TinyExpressionP4AST_2e_VariableRefExpr(source) => Ast::r#VariableRefExpr { span: self.span(source.span), - r#name: source.g_name.clone(), - r#type: source.g_type.clone(), + r#name: lexical_text(&source.g_name), + r#type: source.g_type.as_deref().map(lexical_text), }, U::g_TinyExpressionP4AST_2e_ExpressionExpr(source) => Ast::r#ExpressionExpr { span: self.span(source.span), diff --git a/rust/tinyexpression-rs/src/generated/ubnfc/metadata.rs b/rust/tinyexpression-rs/src/generated/ubnfc/metadata.rs index 5a228873..992b1a21 100644 --- a/rust/tinyexpression-rs/src/generated/ubnfc/metadata.rs +++ b/rust/tinyexpression-rs/src/generated/ubnfc/metadata.rs @@ -1,5 +1,5 @@ //! Grammar metadata; offsets in catalog sites refer to capture IDs, not input positions. #[derive(Clone,Copy,Debug,PartialEq,Eq)] pub struct Catalog {pub rule_id:&'static str,pub rule:&'static str,pub context:&'static str,pub captures:&'static [&'static str],pub site_ids:&'static [&'static str]} pub const CATALOGS:&[Catalog]=&[ -Catalog{rule_id:"TinyExpressionP4::VariableRef",rule:"VariableRef",context:"variable",captures:&["name", "type"],site_ids:&["expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24702:24712:body/1/tokenRef/capture/0", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24730:24741:body/2/0/1/ruleRef/capture/0"]}, +Catalog{rule_id:"TinyExpressionP4::VariableRef",rule:"VariableRef",context:"variable",captures:&["name", "type"],site_ids:&["expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24688:24698:body/1/tokenRef/capture/0", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24716:24727:body/2/0/1/ruleRef/capture/0"]}, ]; diff --git a/rust/tinyexpression-rs/src/generated/ubnfc/parser.rs b/rust/tinyexpression-rs/src/generated/ubnfc/parser.rs index 3e14dcbc..ad09e1dd 100644 --- a/rust/tinyexpression-rs/src/generated/ubnfc/parser.rs +++ b/rust/tinyexpression-rs/src/generated/ubnfc/parser.rs @@ -1444,7 +1444,7 @@ let mark=self.mark(); let key=Key {expression:0,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b0_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -1474,7 +1474,7 @@ out fn e1_c(&mut self,state:State)->Step { let mut out=self.b1_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -1506,7 +1506,7 @@ out fn e3_c(&mut self,state:State)->Step { let mut out=self.b3_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -1538,7 +1538,7 @@ out fn e5_c(&mut self,state:State)->Step { let mut out=self.b5_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -1570,7 +1570,7 @@ out fn e7_c(&mut self,state:State)->Step { let mut out=self.b7_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'('", "')'", "'@'"]);} out } @@ -1613,7 +1613,7 @@ out fn e10_c(&mut self,state:State)->Step { let mut out=self.b10_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -1646,21 +1646,18 @@ fn e12_c(&mut self,state:State)->Step { let mut out=self.b12_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,12,0); -} else {self.display_failures(state.consumed.max(state.matched),&["EndOfSourceParser"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["EOFParser"]);} out } fn b12_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_7::(out.state,"EOF","EndOfSourceParser"); +out=self.token_7::(out.state,"EOF","EOFParser"); out } fn e13_c(&mut self,state:State)->Step { -let mark=self.mark(); -let key=Key {expression:13,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} -self.display_enter(state.consumed.max(state.matched));let mut out=self.b13_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); +let mut out=self.b13_c(state); if out.ok { -} else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} -if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); +} else {self.display_failures(state.consumed.max(state.matched),&[]);} out } fn b13_c(&mut self,mut state:State)->Step { @@ -1694,10 +1691,9 @@ out fn b15_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); out='choice: {let mark=self.mark();let mut diagnostic=Diag::NONE;let mut best:Option<(Step,[usize;2])>=None; -let ct=self.input.cp_at(self.skip_0::(out.state.begin()).position::()).map(|(c,_)|c); self.restore(mark);let mut child=self.e16_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,96))) {self.guard_e17_c(out.state.begin())} else {self.e17_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e17_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);break 'choice if let Some((mut child,effects))=best {self.replay_effects(effects);child.diag=diagnostic;child} else {out.ok=false;out.diag=diagnostic;out}; }; @@ -1707,12 +1703,12 @@ fn e16_c(&mut self,state:State)->Step { let mut out=self.b16_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,16,1); -} else {self.display_failures(state.consumed.max(state.matched),&[]);} +} else {self.display_failures(state.consumed.max(state.matched),&["LONG_CODE_BLOCKParser"]);} out } fn b16_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_6::(out.state,"LONG_CODE_BLOCK","LongCodeBlockParser"); +out=self.token_6::(out.state,"LONG_CODE_BLOCK","LONG_CODE_BLOCKParser"); out } fn e17_c(&mut self,state:State)->Step { @@ -1739,42 +1735,42 @@ fn e18_c(&mut self,state:State)->Step { let mut out=self.b18_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,18,1); -} else {self.display_failures(state.consumed.max(state.matched),&[]);} +} else {self.display_failures(state.consumed.max(state.matched),&["CODE_STARTParser"]);} out } fn b18_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_3::(out.state,"CODE_START","CodeStartParser"); +out=self.token_3::(out.state,"CODE_START","CODE_STARTParser"); out } fn e19_c(&mut self,state:State)->Step { let mut out=self.b19_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,19,1); -} else {self.display_failures(state.consumed.max(state.matched),&["WildCardStringTerminatorParser"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["CODE_BODYParser"]);} out } fn b19_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_4::(out.state,"CODE_BODY","WildCardStringTerminatorParser"); +out=self.token_4::(out.state,"CODE_BODY","CODE_BODYParser"); out } fn e20_c(&mut self,state:State)->Step { let mut out=self.b20_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,20,1); -} else {self.display_failures(state.consumed.max(state.matched),&[]);} +} else {self.display_failures(state.consumed.max(state.matched),&["CODE_ENDParser"]);} out } fn b20_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_5::(out.state,"CODE_END","CodeEndParser"); +out=self.token_5::(out.state,"CODE_END","CODE_ENDParser"); out } fn e21_c(&mut self,state:State)->Step { let mut out=self.b21_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&[]);} out } @@ -1879,12 +1875,12 @@ let mut out=self.b27_c(state);self.display_reach(out.state.consumed.max(out.stat if out.ok { out.events=self.relabel_token(out.events,27,2); out.events=self.event(Event::Capture {site:7,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b27_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e28_c(&mut self,state:State)->Step { @@ -1905,12 +1901,12 @@ let mut out=self.b29_c(state);self.display_reach(out.state.consumed.max(out.stat if out.ok { out.events=self.relabel_token(out.events,29,2); out.events=self.event(Event::Capture {site:8,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b29_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e30_c(&mut self,state:State)->Step { @@ -1949,12 +1945,12 @@ let mut out=self.b32_c(state);self.display_reach(out.state.consumed.max(out.stat if out.ok { out.events=self.relabel_token(out.events,32,3); out.events=self.event(Event::Capture {site:9,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b32_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e33_c(&mut self,state:State)->Step { @@ -2012,12 +2008,12 @@ let mut out=self.b36_c(state);self.display_reach(out.state.consumed.max(out.stat if out.ok { out.events=self.relabel_token(out.events,36,3); out.events=self.event(Event::Capture {site:10,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b36_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e37_c(&mut self,state:State)->Step { @@ -2094,7 +2090,7 @@ let mark=self.mark(); let key=Key {expression:42,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b42_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -2193,12 +2189,12 @@ let mut out=self.b48_c(state);self.display_reach(out.state.consumed.max(out.stat if out.ok { out.events=self.relabel_token(out.events,48,5); out.events=self.event(Event::Capture {site:11,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b48_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e49_c(&mut self,state:State)->Step { @@ -2235,7 +2231,7 @@ out fn e51_c(&mut self,state:State)->Step { let mut out=self.b51_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'set'"]);} out } @@ -2256,7 +2252,7 @@ out fn e52_c(&mut self,state:State)->Step { let mut out=self.b52_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'set'"]);} out } @@ -2290,7 +2286,7 @@ out fn e54_c(&mut self,state:State)->Step { let mut out=self.b54_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -2382,7 +2378,7 @@ let mark=self.mark(); let key=Key {expression:60,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b60_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -2481,12 +2477,12 @@ let mut out=self.b66_c(state);self.display_reach(out.state.consumed.max(out.stat if out.ok { out.events=self.relabel_token(out.events,66,6); out.events=self.event(Event::Capture {site:15,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b66_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e67_c(&mut self,state:State)->Step { @@ -2523,7 +2519,7 @@ out fn e69_c(&mut self,state:State)->Step { let mut out=self.b69_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'set'"]);} out } @@ -2544,7 +2540,7 @@ out fn e70_c(&mut self,state:State)->Step { let mut out=self.b70_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'set'"]);} out } @@ -2578,7 +2574,7 @@ out fn e72_c(&mut self,state:State)->Step { let mut out=self.b72_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -2670,7 +2666,7 @@ let mark=self.mark(); let key=Key {expression:78,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b78_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -2769,12 +2765,12 @@ let mut out=self.b84_c(state);self.display_reach(out.state.consumed.max(out.stat if out.ok { out.events=self.relabel_token(out.events,84,7); out.events=self.event(Event::Capture {site:19,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b84_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e85_c(&mut self,state:State)->Step { @@ -2811,7 +2807,7 @@ out fn e87_c(&mut self,state:State)->Step { let mut out=self.b87_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'set'"]);} out } @@ -2832,7 +2828,7 @@ out fn e88_c(&mut self,state:State)->Step { let mut out=self.b88_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'set'"]);} out } @@ -2866,7 +2862,7 @@ out fn e90_c(&mut self,state:State)->Step { let mut out=self.b90_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -2958,7 +2954,7 @@ let mark=self.mark(); let key=Key {expression:96,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b96_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -3057,12 +3053,12 @@ let mut out=self.b102_c(state);self.display_reach(out.state.consumed.max(out.sta if out.ok { out.events=self.relabel_token(out.events,102,8); out.events=self.event(Event::Capture {site:23,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b102_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e103_c(&mut self,state:State)->Step { @@ -3099,7 +3095,7 @@ out fn e105_c(&mut self,state:State)->Step { let mut out=self.b105_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'set'"]);} out } @@ -3120,7 +3116,7 @@ out fn e106_c(&mut self,state:State)->Step { let mut out=self.b106_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'set'"]);} out } @@ -3154,7 +3150,7 @@ out fn e108_c(&mut self,state:State)->Step { let mut out=self.b108_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -3946,12 +3942,9 @@ if !out.ok {self.display_fail(state.consumed.max(state.matched),"'exists'");} out } fn e161_c(&mut self,state:State)->Step { -let mark=self.mark(); -let key=Key {expression:161,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} -self.display_enter(state.consumed.max(state.matched));let mut out=self.b161_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); +let mut out=self.b161_c(state); if out.ok { -} else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} -if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); +} else {self.display_failures(state.consumed.max(state.matched),&[]);} out } fn b161_c(&mut self,mut state:State)->Step { @@ -3998,12 +3991,12 @@ fn e164_c(&mut self,state:State)->Step { let mut out=self.b164_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,164,15); -} else {self.display_failures(state.consumed.max(state.matched),&[]);} +} else {self.display_failures(state.consumed.max(state.matched),&["STRINGParser"]);} out } fn b164_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_2::(out.state,"STRING","StringLiteralParser"); +out=self.token_2::(out.state,"STRING","STRINGParser"); out } fn e165_c(&mut self,state:State)->Step { @@ -4011,7 +4004,7 @@ let mark=self.mark(); let key=Key {expression:165,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b165_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -4051,12 +4044,12 @@ fn e167_c(&mut self,state:State)->Step { let mut out=self.b167_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,167,16); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser"]);} out } fn b167_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e168_c(&mut self,state:State)->Step { @@ -4075,7 +4068,7 @@ out fn e169_c(&mut self,state:State)->Step { let mut out=self.b169_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -4122,7 +4115,7 @@ let mark=self.mark(); let key=Key {expression:172,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b172_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -4153,7 +4146,7 @@ out fn e174_c(&mut self,state:State)->Step { let mut out=self.b174_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -4173,7 +4166,7 @@ out fn e175_c(&mut self,state:State)->Step { let mut out=self.b175_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','", "'='"]);} out } @@ -4218,7 +4211,7 @@ let mark=self.mark(); let key=Key {expression:178,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b178_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -4241,12 +4234,12 @@ fn e179_c(&mut self,state:State)->Step { let mut out=self.b179_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,179,18); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser"]);} out } fn b179_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e180_c(&mut self,state:State)->Step { @@ -4346,7 +4339,7 @@ let mark=self.mark(); let key=Key {expression:187,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b187_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -4391,12 +4384,12 @@ let mut out=self.b189_c(state);self.display_reach(out.state.consumed.max(out.sta if out.ok { out.events=self.relabel_token(out.events,189,20); out.events=self.event(Event::Capture {site:27,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b189_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e190_c(&mut self,state:State)->Step { @@ -4415,7 +4408,7 @@ out fn e191_c(&mut self,state:State)->Step { let mut out=self.b191_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -4501,7 +4494,7 @@ let mark=self.mark(); let key=Key {expression:197,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b197_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -4546,12 +4539,12 @@ let mut out=self.b199_c(state);self.display_reach(out.state.consumed.max(out.sta if out.ok { out.events=self.relabel_token(out.events,199,21); out.events=self.event(Event::Capture {site:30,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b199_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e200_c(&mut self,state:State)->Step { @@ -4570,7 +4563,7 @@ out fn e201_c(&mut self,state:State)->Step { let mut out=self.b201_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -4656,7 +4649,7 @@ let mark=self.mark(); let key=Key {expression:207,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b207_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -4701,12 +4694,12 @@ let mut out=self.b209_c(state);self.display_reach(out.state.consumed.max(out.sta if out.ok { out.events=self.relabel_token(out.events,209,22); out.events=self.event(Event::Capture {site:33,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b209_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e210_c(&mut self,state:State)->Step { @@ -4725,7 +4718,7 @@ out fn e211_c(&mut self,state:State)->Step { let mut out=self.b211_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -4811,7 +4804,7 @@ let mark=self.mark(); let key=Key {expression:217,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b217_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -4856,12 +4849,12 @@ let mut out=self.b219_c(state);self.display_reach(out.state.consumed.max(out.sta if out.ok { out.events=self.relabel_token(out.events,219,23); out.events=self.event(Event::Capture {site:36,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b219_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e220_c(&mut self,state:State)->Step { @@ -4880,7 +4873,7 @@ out fn e221_c(&mut self,state:State)->Step { let mut out=self.b221_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -4966,7 +4959,7 @@ let mark=self.mark(); let key=Key {expression:227,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b227_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -4998,7 +4991,7 @@ out fn e229_c(&mut self,state:State)->Step { let mut out=self.b229_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -5018,7 +5011,7 @@ out fn e230_c(&mut self,state:State)->Step { let mut out=self.b230_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -5100,12 +5093,12 @@ let mut out=self.b235_c(state);self.display_reach(out.state.consumed.max(out.sta if out.ok { out.events=self.relabel_token(out.events,235,25); out.events=self.event(Event::Capture {site:41,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b235_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e236_c(&mut self,state:State)->Step { @@ -5376,7 +5369,7 @@ let mark=self.mark(); let key=Key {expression:254,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b254_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -5549,7 +5542,7 @@ out fn e264_c(&mut self,state:State)->Step { let mut out=self.b264_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'#'"]);} out } @@ -5567,8 +5560,7 @@ out fn b265_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); out='choice: {let mark=self.mark();let mut diagnostic=Diag::NONE;let mut best:Option<(Step,[usize;2])>=None; -let ct=self.input.cp_at(self.skip_0::(out.state.begin()).position::()).map(|(c,_)|c); -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,65..=90|95|97..=122))) {self.guard_e266_c(out.state.begin())} else {self.e266_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e266_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);let mut child=self.e270_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} @@ -5579,7 +5571,7 @@ out fn e266_c(&mut self,state:State)->Step { let mut out=self.b266_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'#'"]);} out } @@ -5627,25 +5619,26 @@ let mut out=self.b269_c(state);self.display_reach(out.state.consumed.max(out.sta if out.ok { out.events=self.relabel_token(out.events,269,31); out.events=self.event(Event::Capture {site:44,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b269_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e270_c(&mut self,state:State)->Step { let mut out=self.b270_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,270,31); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:true}); out.events=self.event(Event::Capture {site:45,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b270_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e271_c(&mut self,state:State)->Step { @@ -5664,7 +5657,7 @@ out fn e272_c(&mut self,state:State)->Step { let mut out=self.b272_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -5712,7 +5705,7 @@ let mark=self.mark(); let key=Key {expression:275,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b275_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -5962,7 +5955,7 @@ out fn e290_c(&mut self,state:State)->Step { let mut out=self.b290_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'#'"]);} out } @@ -5980,8 +5973,7 @@ out fn b291_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); out='choice: {let mark=self.mark();let mut diagnostic=Diag::NONE;let mut best:Option<(Step,[usize;2])>=None; -let ct=self.input.cp_at(self.skip_0::(out.state.begin()).position::()).map(|(c,_)|c); -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,65..=90|95|97..=122))) {self.guard_e292_c(out.state.begin())} else {self.e292_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e292_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);let mut child=self.e296_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} @@ -5992,7 +5984,7 @@ out fn e292_c(&mut self,state:State)->Step { let mut out=self.b292_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'#'"]);} out } @@ -6040,25 +6032,26 @@ let mut out=self.b295_c(state);self.display_reach(out.state.consumed.max(out.sta if out.ok { out.events=self.relabel_token(out.events,295,32); out.events=self.event(Event::Capture {site:48,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b295_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e296_c(&mut self,state:State)->Step { let mut out=self.b296_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,296,32); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:true}); out.events=self.event(Event::Capture {site:49,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b296_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e297_c(&mut self,state:State)->Step { @@ -6077,7 +6070,7 @@ out fn e298_c(&mut self,state:State)->Step { let mut out=self.b298_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -6125,7 +6118,7 @@ let mark=self.mark(); let key=Key {expression:301,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b301_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -6298,7 +6291,7 @@ out fn e311_c(&mut self,state:State)->Step { let mut out=self.b311_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'#'"]);} out } @@ -6316,8 +6309,7 @@ out fn b312_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); out='choice: {let mark=self.mark();let mut diagnostic=Diag::NONE;let mut best:Option<(Step,[usize;2])>=None; -let ct=self.input.cp_at(self.skip_0::(out.state.begin()).position::()).map(|(c,_)|c); -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,65..=90|95|97..=122))) {self.guard_e313_c(out.state.begin())} else {self.e313_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e313_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);let mut child=self.e317_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} @@ -6328,7 +6320,7 @@ out fn e313_c(&mut self,state:State)->Step { let mut out=self.b313_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'#'"]);} out } @@ -6376,25 +6368,26 @@ let mut out=self.b316_c(state);self.display_reach(out.state.consumed.max(out.sta if out.ok { out.events=self.relabel_token(out.events,316,33); out.events=self.event(Event::Capture {site:52,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b316_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e317_c(&mut self,state:State)->Step { let mut out=self.b317_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,317,33); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:true}); out.events=self.event(Event::Capture {site:53,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b317_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e318_c(&mut self,state:State)->Step { @@ -6413,7 +6406,7 @@ out fn e319_c(&mut self,state:State)->Step { let mut out=self.b319_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -6461,7 +6454,7 @@ let mark=self.mark(); let key=Key {expression:322,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b322_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -6634,7 +6627,7 @@ out fn e332_c(&mut self,state:State)->Step { let mut out=self.b332_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'#'"]);} out } @@ -6652,8 +6645,7 @@ out fn b333_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); out='choice: {let mark=self.mark();let mut diagnostic=Diag::NONE;let mut best:Option<(Step,[usize;2])>=None; -let ct=self.input.cp_at(self.skip_0::(out.state.begin()).position::()).map(|(c,_)|c); -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,65..=90|95|97..=122))) {self.guard_e334_c(out.state.begin())} else {self.e334_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e334_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);let mut child=self.e338_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} @@ -6664,7 +6656,7 @@ out fn e334_c(&mut self,state:State)->Step { let mut out=self.b334_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'#'"]);} out } @@ -6712,25 +6704,26 @@ let mut out=self.b337_c(state);self.display_reach(out.state.consumed.max(out.sta if out.ok { out.events=self.relabel_token(out.events,337,34); out.events=self.event(Event::Capture {site:56,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b337_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e338_c(&mut self,state:State)->Step { let mut out=self.b338_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,338,34); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:true}); out.events=self.event(Event::Capture {site:57,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b338_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e339_c(&mut self,state:State)->Step { @@ -6749,7 +6742,7 @@ out fn e340_c(&mut self,state:State)->Step { let mut out=self.b340_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -6892,7 +6885,7 @@ let mark=self.mark(); let key=Key {expression:349,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b349_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -6931,12 +6924,12 @@ let mut out=self.b351_c(state);self.display_reach(out.state.consumed.max(out.sta if out.ok { out.events=self.relabel_token(out.events,351,36); out.events=self.event(Event::Capture {site:59,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b351_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e352_c(&mut self,state:State)->Step { @@ -6955,7 +6948,7 @@ out fn e353_c(&mut self,state:State)->Step { let mut out=self.b353_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Optional"]);} out } @@ -7003,7 +6996,7 @@ let mark=self.mark(); let key=Key {expression:356,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b356_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -7100,10 +7093,9 @@ out fn b362_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); out='choice: {let mark=self.mark();let mut diagnostic=Diag::NONE;let mut best:Option<(Step,[usize;2])>=None; -let ct=self.input.cp_at(self.skip_0::(out.state.begin()).position::()).map(|(c,_)|c); self.restore(mark);let mut child=self.e363_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,36|40|43|45..=46|48..=57|97|99|101..=102|105|108..=109|112|114..=116))) {self.guard_e364_c(out.state.begin())} else {self.e364_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e364_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);let mut child=self.e365_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} @@ -7166,7 +7158,7 @@ let mark=self.mark(); let key=Key {expression:367,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b367_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -7198,7 +7190,7 @@ out fn e369_c(&mut self,state:State)->Step { let mut out=self.b369_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -7218,7 +7210,7 @@ out fn e370_c(&mut self,state:State)->Step { let mut out=self.b370_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -7264,7 +7256,7 @@ let mark=self.mark(); let key=Key {expression:373,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b373_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -7296,7 +7288,7 @@ out fn e375_c(&mut self,state:State)->Step { let mut out=self.b375_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -7316,7 +7308,7 @@ out fn e376_c(&mut self,state:State)->Step { let mut out=self.b376_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["NumberExpressionRepeat0Parser"]);} out } @@ -7361,7 +7353,7 @@ let mark=self.mark(); let key=Key {expression:379,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b379_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -7393,7 +7385,7 @@ out fn e381_c(&mut self,state:State)->Step { let mut out=self.b381_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -7413,7 +7405,7 @@ out fn e382_c(&mut self,state:State)->Step { let mut out=self.b382_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["NumberTermRepeat0Parser"]);} out } @@ -7767,7 +7759,7 @@ let mark=self.mark(); let key=Key {expression:406,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b406_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -7844,7 +7836,7 @@ let mark=self.mark(); let key=Key {expression:411,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b411_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -7921,7 +7913,7 @@ let mark=self.mark(); let key=Key {expression:416,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b416_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -7998,7 +7990,7 @@ let mark=self.mark(); let key=Key {expression:421,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b421_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -8075,7 +8067,7 @@ let mark=self.mark(); let key=Key {expression:426,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b426_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -8139,7 +8131,7 @@ out fn e430_c(&mut self,state:State)->Step { let mut out=self.b430_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -8159,7 +8151,7 @@ out fn e431_c(&mut self,state:State)->Step { let mut out=self.b431_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -8218,7 +8210,7 @@ let mark=self.mark(); let key=Key {expression:435,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b435_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -8282,7 +8274,7 @@ out fn e439_c(&mut self,state:State)->Step { let mut out=self.b439_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -8302,7 +8294,7 @@ out fn e440_c(&mut self,state:State)->Step { let mut out=self.b440_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -8420,7 +8412,7 @@ let mark=self.mark(); let key=Key {expression:448,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b448_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -8497,7 +8489,7 @@ let mark=self.mark(); let key=Key {expression:453,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b453_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -8574,7 +8566,7 @@ let mark=self.mark(); let key=Key {expression:458,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b458_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -8651,7 +8643,7 @@ let mark=self.mark(); let key=Key {expression:463,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b463_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -8728,7 +8720,7 @@ let mark=self.mark(); let key=Key {expression:468,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b468_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -8834,7 +8826,7 @@ let mark=self.mark(); let key=Key {expression:475,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b475_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -8911,7 +8903,7 @@ let mark=self.mark(); let key=Key {expression:480,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b480_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -8988,7 +8980,7 @@ let mark=self.mark(); let key=Key {expression:485,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b485_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -9235,12 +9227,13 @@ fn e502_c(&mut self,state:State)->Step { let mut out=self.b502_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,502,60); -} else {self.display_failures(state.consumed.max(state.matched),&["NumberParser"]);} +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:true}); +} else {self.display_failures(state.consumed.max(state.matched),&["NUMBERParser"]);} out } fn b502_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_0::(out.state,"NUMBER","NumberParser"); +out=self.token_0::(out.state,"NUMBER","NUMBERParser"); out } fn e503_c(&mut self,state:State)->Step { @@ -9268,7 +9261,7 @@ out fn e505_c(&mut self,state:State)->Step { let mut out=self.b505_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'('", "')'"]);} out } @@ -9328,7 +9321,7 @@ let mark=self.mark(); let key=Key {expression:509,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b509_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -9405,7 +9398,7 @@ let mark=self.mark(); let key=Key {expression:514,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b514_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -9482,7 +9475,7 @@ let mark=self.mark(); let key=Key {expression:519,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b519_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -9559,7 +9552,7 @@ let mark=self.mark(); let key=Key {expression:524,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b524_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -9636,7 +9629,7 @@ let mark=self.mark(); let key=Key {expression:529,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b529_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -9713,7 +9706,7 @@ let mark=self.mark(); let key=Key {expression:534,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b534_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -9790,7 +9783,7 @@ let mark=self.mark(); let key=Key {expression:539,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b539_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -9867,7 +9860,7 @@ let mark=self.mark(); let key=Key {expression:544,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b544_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -9944,7 +9937,7 @@ let mark=self.mark(); let key=Key {expression:549,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b549_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -10021,7 +10014,7 @@ let mark=self.mark(); let key=Key {expression:554,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b554_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -10114,7 +10107,7 @@ out fn e560_c(&mut self,state:State)->Step { let mut out=self.b560_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -10134,7 +10127,7 @@ out fn e561_c(&mut self,state:State)->Step { let mut out=self.b561_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -10193,7 +10186,7 @@ let mark=self.mark(); let key=Key {expression:565,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b565_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -10286,7 +10279,7 @@ out fn e571_c(&mut self,state:State)->Step { let mut out=self.b571_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -10306,7 +10299,7 @@ out fn e572_c(&mut self,state:State)->Step { let mut out=self.b572_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -10365,7 +10358,7 @@ let mark=self.mark(); let key=Key {expression:576,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b576_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -10458,7 +10451,7 @@ out fn e582_c(&mut self,state:State)->Step { let mut out=self.b582_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -10478,7 +10471,7 @@ out fn e583_c(&mut self,state:State)->Step { let mut out=self.b583_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -10537,7 +10530,7 @@ let mark=self.mark(); let key=Key {expression:587,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b587_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -10615,7 +10608,7 @@ out fn e592_c(&mut self,state:State)->Step { let mut out=self.b592_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -10635,7 +10628,7 @@ out fn e593_c(&mut self,state:State)->Step { let mut out=self.b593_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -10694,7 +10687,7 @@ let mark=self.mark(); let key=Key {expression:597,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b597_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -10772,7 +10765,7 @@ out fn e602_c(&mut self,state:State)->Step { let mut out=self.b602_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -10792,7 +10785,7 @@ out fn e603_c(&mut self,state:State)->Step { let mut out=self.b603_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -10851,7 +10844,7 @@ let mark=self.mark(); let key=Key {expression:607,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b607_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -10929,7 +10922,7 @@ out fn e612_c(&mut self,state:State)->Step { let mut out=self.b612_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -10949,7 +10942,7 @@ out fn e613_c(&mut self,state:State)->Step { let mut out=self.b613_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -11008,7 +11001,7 @@ let mark=self.mark(); let key=Key {expression:617,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b617_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -11086,7 +11079,7 @@ out fn e622_c(&mut self,state:State)->Step { let mut out=self.b622_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -11106,7 +11099,7 @@ out fn e623_c(&mut self,state:State)->Step { let mut out=self.b623_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -11234,7 +11227,7 @@ let mark=self.mark(); let key=Key {expression:632,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b632_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -11311,7 +11304,7 @@ let mark=self.mark(); let key=Key {expression:637,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b637_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -11417,7 +11410,7 @@ let mark=self.mark(); let key=Key {expression:644,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b644_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -11749,7 +11742,7 @@ out fn e665_c(&mut self,state:State)->Step { let mut out=self.b665_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'$'", "'('", "')'"]);} out } @@ -11885,12 +11878,13 @@ fn e676_c(&mut self,state:State)->Step { let mut out=self.b676_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,676,82); -} else {self.display_failures(state.consumed.max(state.matched),&[]);} +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:true}); +} else {self.display_failures(state.consumed.max(state.matched),&["STRINGParser"]);} out } fn b676_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_2::(out.state,"STRING","StringLiteralParser"); +out=self.token_2::(out.state,"STRING","STRINGParser"); out } fn e677_c(&mut self,state:State)->Step { @@ -11920,7 +11914,7 @@ let mark=self.mark(); let key=Key {expression:679,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b679_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -11951,7 +11945,7 @@ let mark=self.mark(); let key=Key {expression:681,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b681_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -11982,7 +11976,7 @@ let mark=self.mark(); let key=Key {expression:683,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b683_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -12020,7 +12014,6 @@ out fn b685_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); out='choice: {let mark=self.mark();let mut diagnostic=Diag::NONE;let mut best:Option<(Step,[usize;2])>=None; -let ct=self.input.cp_at(self.skip_0::(out.state.begin()).position::()).map(|(c,_)|c); if self.options.factor && !out.state.invert { let entry=out.state.begin(); let mut child='factored: { @@ -12030,7 +12023,7 @@ st.reset=false; let mut cur=Step::yes(st); cur.state=st.begin(); let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); -let p0=cur.state;let child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,34|36|39..=40|99|101|105|116))) {self.guard_e687_c(cur.state)} else {self.e687_c(cur.state)};let ev0=child.events;let _=(p0,ev0);cur=self.combine(cur,child); +let p0=cur.state;let child=self.e687_c(cur.state);let ev0=child.events;let _=(p0,ev0);cur=self.combine(cur,child); if !cur.ok { self.display_failures(entry.consumed.max(entry.matched),&["':'", "'['", "']'"]); self.display_failures(p0.consumed.max(p0.matched),&["__CaptureSite"]); @@ -12080,7 +12073,7 @@ let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); let child=self.e694_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f19;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); diagnostic=self.diag_join(diagnostic,cur.diag);break 'factored cur; } self.display_failures(entry.consumed.max(entry.matched),&["':'", "'['", "']'"]); @@ -12090,7 +12083,7 @@ self.restore(m17);cur=b18; let child=self.e701_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f20;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); self.retag(ev0,Some(135),None); self.retag(ev3,None,Some(697)); self.retag(ev7,Some(136),None); @@ -12110,7 +12103,7 @@ let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); let child=self.e709_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f21;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); self.retag(ev0,Some(138),None); self.retag(ev3,None,Some(704)); self.retag(ev7,Some(139),None); @@ -12124,7 +12117,7 @@ self.restore(m13);cur=b14; let child=self.e715_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f22;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); self.retag(ev0,Some(141),None); self.retag(ev3,None,Some(712)); self.retag(ev7,Some(142),None); @@ -12162,7 +12155,7 @@ let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); let child=self.e723_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f31;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); self.retag(ev0,Some(143),None); self.retag(ev3,None,Some(718)); diagnostic=self.diag_join(diagnostic,cur.diag);break 'factored cur; @@ -12174,7 +12167,7 @@ self.restore(m29);cur=b30; let child=self.e729_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f32;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); self.retag(ev0,Some(146),None); self.retag(ev3,None,Some(726)); self.retag(ev23,None,Some(727)); @@ -12193,7 +12186,7 @@ let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); let child=self.e736_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f33;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); self.retag(ev0,Some(148),None); self.retag(ev3,None,Some(732)); self.retag(ev23,None,Some(733)); @@ -12206,7 +12199,7 @@ self.restore(m25);cur=b26; let child=self.e741_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f34;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:true}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:true,text:false}); self.retag(ev0,Some(150),None); self.retag(ev3,None,Some(739)); self.retag(ev23,None,Some(740)); @@ -12223,21 +12216,21 @@ let _=entry;self.restore(mark);out.ok=false;out.diag=diagnostic;out if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);break 'choice child; } -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,34|36|39..=40|99|101|105|116))) {self.guard_e686_c(out.state.begin())} else {self.e686_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e686_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,34|36|39..=40|99|101|105|116))) {self.guard_e695_c(out.state.begin())} else {self.e695_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e695_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,34|36|39..=40|99|101|105|116))) {self.guard_e702_c(out.state.begin())} else {self.e702_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e702_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,34|36|39..=40|99|101|105|116))) {self.guard_e710_c(out.state.begin())} else {self.e710_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e710_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,34|36|39..=40|99|101|105|116))) {self.guard_e716_c(out.state.begin())} else {self.e716_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e716_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,34|36|39..=40|99|101|105|116))) {self.guard_e724_c(out.state.begin())} else {self.e724_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e724_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,34|36|39..=40|99|101|105|116))) {self.guard_e730_c(out.state.begin())} else {self.e730_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e730_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,34|36|39..=40|99|101|105|116))) {self.guard_e737_c(out.state.begin())} else {self.e737_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e737_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);break 'choice if let Some((mut child,effects))=best {self.replay_effects(effects);child.diag=diagnostic;child} else {out.ok=false;out.diag=diagnostic;out}; }; @@ -12246,7 +12239,7 @@ out fn e686_c(&mut self,state:State)->Step { let mut out=self.b686_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -12377,7 +12370,7 @@ out fn e695_c(&mut self,state:State)->Step { let mut out=self.b695_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -12479,7 +12472,7 @@ out fn e702_c(&mut self,state:State)->Step { let mut out=self.b702_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -12596,7 +12589,7 @@ out fn e710_c(&mut self,state:State)->Step { let mut out=self.b710_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -12684,7 +12677,7 @@ out fn e716_c(&mut self,state:State)->Step { let mut out=self.b716_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -12801,7 +12794,7 @@ out fn e724_c(&mut self,state:State)->Step { let mut out=self.b724_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -12889,7 +12882,7 @@ out fn e730_c(&mut self,state:State)->Step { let mut out=self.b730_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -12992,7 +12985,7 @@ out fn e737_c(&mut self,state:State)->Step { let mut out=self.b737_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -13134,7 +13127,7 @@ let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); let child=self.e751_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f19;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); diagnostic=self.diag_join(diagnostic,cur.diag);break 'factored cur; } self.display_failures(entry.consumed.max(entry.matched),&["':'", "'['", "']'"]); @@ -13144,7 +13137,7 @@ self.restore(m17);cur=b18; let child=self.e758_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f20;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); self.retag(ev0,Some(155),None); self.retag(ev3,None,Some(754)); self.retag(ev7,Some(156),None); @@ -13164,7 +13157,7 @@ let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); let child=self.e766_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f21;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); self.retag(ev0,Some(158),None); self.retag(ev3,None,Some(761)); self.retag(ev7,Some(159),None); @@ -13178,7 +13171,7 @@ self.restore(m13);cur=b14; let child=self.e772_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f22;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); self.retag(ev0,Some(161),None); self.retag(ev3,None,Some(769)); self.retag(ev7,Some(162),None); @@ -13216,7 +13209,7 @@ let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); let child=self.e780_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f31;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); self.retag(ev0,Some(163),None); self.retag(ev3,None,Some(775)); diagnostic=self.diag_join(diagnostic,cur.diag);break 'factored cur; @@ -13228,7 +13221,7 @@ self.restore(m29);cur=b30; let child=self.e786_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f32;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); self.retag(ev0,Some(166),None); self.retag(ev3,None,Some(783)); self.retag(ev23,None,Some(784)); @@ -13247,7 +13240,7 @@ let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); let child=self.e793_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f33;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:false,text:false}); self.retag(ev0,Some(168),None); self.retag(ev3,None,Some(789)); self.retag(ev23,None,Some(790)); @@ -13260,7 +13253,7 @@ self.restore(m25);cur=b26; let child=self.e798_c(cur.state);cur=self.combine(cur,child);if !cur.ok {break 'f34;} let trivia=self.trivia_1::(cur.state);cur=self.combine(cur,trivia); cur.state=st.commit(cur.state); -cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:true}); +cur.events=self.event(Event::Values{span:[entry.consumed,cur.state.consumed],child:cur.events,wrap:true,text:false}); self.retag(ev0,Some(170),None); self.retag(ev3,None,Some(796)); self.retag(ev23,None,Some(797)); @@ -13300,7 +13293,7 @@ out fn e743_c(&mut self,state:State)->Step { let mut out=self.b743_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -13431,7 +13424,7 @@ out fn e752_c(&mut self,state:State)->Step { let mut out=self.b752_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -13533,7 +13526,7 @@ out fn e759_c(&mut self,state:State)->Step { let mut out=self.b759_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -13650,7 +13643,7 @@ out fn e767_c(&mut self,state:State)->Step { let mut out=self.b767_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -13738,7 +13731,7 @@ out fn e773_c(&mut self,state:State)->Step { let mut out=self.b773_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -13855,7 +13848,7 @@ out fn e781_c(&mut self,state:State)->Step { let mut out=self.b781_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -13943,7 +13936,7 @@ out fn e787_c(&mut self,state:State)->Step { let mut out=self.b787_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -14046,7 +14039,7 @@ out fn e794_c(&mut self,state:State)->Step { let mut out=self.b794_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["':'", "'['", "']'"]);} out } @@ -14164,7 +14157,7 @@ let mark=self.mark(); let key=Key {expression:802,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b802_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -14196,7 +14189,7 @@ out fn e804_c(&mut self,state:State)->Step { let mut out=self.b804_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -14216,7 +14209,7 @@ out fn e805_c(&mut self,state:State)->Step { let mut out=self.b805_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'+'"]);} out } @@ -14263,7 +14256,7 @@ let mark=self.mark(); let key=Key {expression:808,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b808_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -14515,12 +14508,13 @@ fn e826_c(&mut self,state:State)->Step { let mut out=self.b826_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,826,91); -} else {self.display_failures(state.consumed.max(state.matched),&[]);} +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:true}); +} else {self.display_failures(state.consumed.max(state.matched),&["STRINGParser"]);} out } fn b826_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_2::(out.state,"STRING","StringLiteralParser"); +out=self.token_2::(out.state,"STRING","STRINGParser"); out } fn e827_c(&mut self,state:State)->Step { @@ -14667,12 +14661,12 @@ let mut out=self.b837_c(state);self.display_reach(out.state.consumed.max(out.sta if out.ok { out.events=self.relabel_token(out.events,837,92); out.events=self.event(Event::Capture {site:174,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b837_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e838_c(&mut self,state:State)->Step { @@ -14715,12 +14709,12 @@ let mut out=self.b840_c(state);self.display_reach(out.state.consumed.max(out.sta if out.ok { out.events=self.relabel_token(out.events,840,93); out.events=self.event(Event::Capture {site:175,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b840_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e841_c(&mut self,state:State)->Step { @@ -14795,7 +14789,7 @@ let mark=self.mark(); let key=Key {expression:846,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b846_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -14827,7 +14821,7 @@ out fn e848_c(&mut self,state:State)->Step { let mut out=self.b848_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -14847,7 +14841,7 @@ out fn e849_c(&mut self,state:State)->Step { let mut out=self.b849_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'|'"]);} out } @@ -14894,7 +14888,7 @@ let mark=self.mark(); let key=Key {expression:852,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b852_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -14926,7 +14920,7 @@ out fn e854_c(&mut self,state:State)->Step { let mut out=self.b854_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -14946,7 +14940,7 @@ out fn e855_c(&mut self,state:State)->Step { let mut out=self.b855_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'&'"]);} out } @@ -14993,7 +14987,7 @@ let mark=self.mark(); let key=Key {expression:858,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b858_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -15025,7 +15019,7 @@ out fn e860_c(&mut self,state:State)->Step { let mut out=self.b860_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -15045,7 +15039,7 @@ out fn e861_c(&mut self,state:State)->Step { let mut out=self.b861_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'^'"]);} out } @@ -15092,7 +15086,7 @@ let mark=self.mark(); let key=Key {expression:864,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b864_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -15377,6 +15371,7 @@ fn e884_c(&mut self,state:State)->Step { let mut out=self.b884_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,884,98); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:true}); } else {self.display_failures(state.consumed.max(state.matched),&["'true'"]);} out } @@ -15390,6 +15385,7 @@ fn e885_c(&mut self,state:State)->Step { let mut out=self.b885_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,885,98); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:true}); } else {self.display_failures(state.consumed.max(state.matched),&["'false'"]);} out } @@ -15424,7 +15420,7 @@ out fn e888_c(&mut self,state:State)->Step { let mut out=self.b888_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'('", "')'"]);} out } @@ -15484,7 +15480,7 @@ let mark=self.mark(); let key=Key {expression:892,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b892_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -15551,10 +15547,9 @@ out fn b896_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); out='choice: {let mark=self.mark();let mut diagnostic=Diag::NONE;let mut best:Option<(Step,[usize;2])>=None; -let ct=self.input.cp_at(self.skip_0::(out.state.begin()).position::()).map(|(c,_)|c); self.restore(mark);let mut child=self.e897_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,36|40|43|45..=46|48..=57|97|99|101..=102|105|108..=109|112|114..=116))) {self.guard_e898_c(out.state.begin())} else {self.e898_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e898_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);let mut child=self.e899_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} @@ -15617,7 +15612,7 @@ let mark=self.mark(); let key=Key {expression:901,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b901_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -15720,7 +15715,7 @@ let mark=self.mark(); let key=Key {expression:908,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b908_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -15891,7 +15886,7 @@ fn b919_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); out='choice: {let mark=self.mark();let mut diagnostic=Diag::NONE;let mut best:Option<(Step,[usize;2])>=None; let ct=self.input.cp_at(self.skip_0::(out.state.begin()).position::()).map(|(c,_)|c); -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,36|40|43|45..=46|48..=57|97|99|101..=102|105|108..=109|112|114..=116))) {self.guard_e920_c(out.state.begin())} else {self.e920_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e920_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);let mut child=self.e921_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} @@ -15984,7 +15979,7 @@ let mark=self.mark(); let key=Key {expression:926,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b926_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -16172,13 +16167,13 @@ fn b938_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); out='choice: {let mark=self.mark();let mut diagnostic=Diag::NONE;let mut best:Option<(Step,[usize;2])>=None; let ct=self.input.cp_at(self.skip_0::(out.state.begin()).position::()).map(|(c,_)|c); -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,36|40|43|45..=46|48..=57|97|99|101..=102|105|108..=109|112|114..=116))) {self.guard_e939_c(out.state.begin())} else {self.e939_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e939_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);let mut child=self.e940_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);let mut child=self.e941_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,36|40|43|45..=46|48..=57|97|99|101..=102|105|108..=109|112|114..=116))) {self.guard_e942_c(out.state.begin())} else {self.e942_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e942_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);let mut child=self.e943_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} @@ -16293,7 +16288,7 @@ let mark=self.mark(); let key=Key {expression:947,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b947_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -16413,7 +16408,7 @@ let mark=self.mark(); let key=Key {expression:955,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b955_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -16481,7 +16476,7 @@ out fn e959_c(&mut self,state:State)->Step { let mut out=self.b959_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -16501,7 +16496,7 @@ out fn e960_c(&mut self,state:State)->Step { let mut out=self.b960_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -16585,7 +16580,7 @@ let mark=self.mark(); let key=Key {expression:966,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b966_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -16646,7 +16641,7 @@ let mark=self.mark(); let key=Key {expression:970,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b970_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -16708,7 +16703,7 @@ let mark=self.mark(); let key=Key {expression:974,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b974_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -16740,7 +16735,7 @@ let mark=self.mark(); let key=Key {expression:976,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b976_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -16808,7 +16803,7 @@ out fn e980_c(&mut self,state:State)->Step { let mut out=self.b980_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -16828,7 +16823,7 @@ out fn e981_c(&mut self,state:State)->Step { let mut out=self.b981_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -16912,7 +16907,7 @@ let mark=self.mark(); let key=Key {expression:987,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b987_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -16973,7 +16968,7 @@ let mark=self.mark(); let key=Key {expression:991,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b991_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -17035,7 +17030,7 @@ let mark=self.mark(); let key=Key {expression:995,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b995_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -17067,7 +17062,7 @@ let mark=self.mark(); let key=Key {expression:997,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b997_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -17135,7 +17130,7 @@ out fn e1001_c(&mut self,state:State)->Step { let mut out=self.b1001_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -17155,7 +17150,7 @@ out fn e1002_c(&mut self,state:State)->Step { let mut out=self.b1002_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["','"]);} out } @@ -17239,7 +17234,7 @@ let mark=self.mark(); let key=Key {expression:1008,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b1008_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -17300,7 +17295,7 @@ let mark=self.mark(); let key=Key {expression:1012,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b1012_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -17362,7 +17357,7 @@ let mark=self.mark(); let key=Key {expression:1016,state,matched_mode:false,version:self.scope.state_version()};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b1016_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out @@ -17430,12 +17425,12 @@ let mut out=self.b1020_c(state);self.display_reach(out.state.consumed.max(out.st if out.ok { out.events=self.relabel_token(out.events,1020,121); out.events=self.event(Event::Capture {site:240,span:[state.consumed,out.state.consumed],child:out.events,token_extent:false}); -} else {self.display_failures(state.consumed.max(state.matched),&["IdentifierParser", "__CaptureSite"]);} +} else {self.display_failures(state.consumed.max(state.matched),&["IDENTIFIERParser", "__CaptureSite"]);} out } fn b1020_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); -out=self.token_1::(out.state,"IDENTIFIER","IdentifierParser"); +out=self.token_1::(out.state,"IDENTIFIER","IDENTIFIERParser"); out } fn e1021_c(&mut self,state:State)->Step { @@ -17697,7 +17692,7 @@ fn b1037_c(&mut self,mut state:State)->Step { let mut out=Step::yes(state); out='choice: {let mark=self.mark();let mut diagnostic=Diag::NONE;let mut best:Option<(Step,[usize;2])>=None; let ct=self.input.cp_at(self.skip_0::(out.state.begin()).position::()).map(|(c,_)|c); -self.restore(mark);let mut child=if self.options.predict && !out.state.invert && !(ct.is_some_and(|c| matches!(c as u32,36|40|43|45..=46|48..=57|97|99|101..=102|105|108..=109|112|114..=116))) {self.guard_e1038_c(out.state.begin())} else {self.e1038_c(out.state.begin())};diagnostic=self.diag_join(diagnostic,child.diag); +self.restore(mark);let mut child=self.e1038_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} self.restore(mark);let mut child=self.e1039_c(out.state.begin());diagnostic=self.diag_join(diagnostic,child.diag); if child.ok {child.state=out.state.commit(child.state);child.diag=diagnostic;break 'choice child;} @@ -17776,7 +17771,7 @@ out fn e1043_c(&mut self,state:State)->Step { let mut out=self.b1043_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["'('", "')'"]);} out } @@ -17832,14 +17827,6 @@ out=self.literal::(out.state,")",true,5,false,")"); if !out.ok {self.display_fail(state.consumed.max(state.matched),"')'");} out } -fn guard_e17_c(&mut self,state:State)->Step { -if !self.can_replay(0) {return self.e17_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let d2=self.e18_c(t1).diag; -Step {ok:false,state,events:EventId(0),diag:d2} -} fn guard_e38_c(&mut self,state:State)->Step { if !self.can_replay(1) {return self.e38_c(state);} if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} @@ -17951,50 +17938,6 @@ self.display_failures(t1.consumed.max(t1.matched),&["'object'", "'object'"]); if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'object'"]);} Step {ok:false,state,events:EventId(0),diag:d3} } -fn guard_e266_c(&mut self,state:State)->Step { -if !self.can_replay(1) {return self.e266_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let d2=self.e32_c(t1).diag; -let d3=self.diag_rule(3,d2); -self.display_failures(t1.consumed.max(t1.matched),&["ClassNameParser", "__CaptureSite"]); -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'#'"]);} -Step {ok:false,state,events:EventId(0),diag:d3} -} -fn guard_e292_c(&mut self,state:State)->Step { -if !self.can_replay(1) {return self.e292_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let d2=self.e32_c(t1).diag; -let d3=self.diag_rule(3,d2); -self.display_failures(t1.consumed.max(t1.matched),&["ClassNameParser", "__CaptureSite"]); -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'#'"]);} -Step {ok:false,state,events:EventId(0),diag:d3} -} -fn guard_e313_c(&mut self,state:State)->Step { -if !self.can_replay(1) {return self.e313_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let d2=self.e32_c(t1).diag; -let d3=self.diag_rule(3,d2); -self.display_failures(t1.consumed.max(t1.matched),&["ClassNameParser", "__CaptureSite"]); -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'#'"]);} -Step {ok:false,state,events:EventId(0),diag:d3} -} -fn guard_e334_c(&mut self,state:State)->Step { -if !self.can_replay(1) {return self.e334_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let d2=self.e32_c(t1).diag; -let d3=self.diag_rule(3,d2); -self.display_failures(t1.consumed.max(t1.matched),&["ClassNameParser", "__CaptureSite"]); -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'#'"]);} -Step {ok:false,state,events:EventId(0),diag:d3} -} fn guard_e344_c(&mut self,state:State)->Step { if !self.can_replay(0) {return self.e344_c(state);} if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} @@ -18005,107 +17948,6 @@ self.display_failures(t1.consumed.max(t1.matched),&["'call'", "'call'"]); if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'call'", "'internal'"]);} Step {ok:false,state,events:EventId(0),diag:d2} } -fn guard_e364_c(&mut self,state:State)->Step { -if !self.can_replay(6) {return self.e364_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"("); -let d4=self.diag_rule(108,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"match"); -let d6=self.diag_rule(109,d5); -d2=self.diag_join(d2,d6); -let d7=self.diag_fail(t1.position::(),"if"); -let d8=self.diag_rule(106,d7); -d2=self.diag_join(d2,d8); -let mut d9=Diag::NONE; -let d10=self.diag_fail(t1.position::(),"sin"); -let d11=self.diag_rule(45,d10); -d9=self.diag_join(d9,d11); -let d12=self.diag_fail(t1.position::(),"cos"); -let d13=self.diag_rule(46,d12); -d9=self.diag_join(d9,d13); -let d14=self.diag_fail(t1.position::(),"tan"); -let d15=self.diag_rule(47,d14); -d9=self.diag_join(d9,d15); -let d16=self.diag_fail(t1.position::(),"sqrt"); -let d17=self.diag_rule(48,d16); -d9=self.diag_join(d9,d17); -let d18=self.diag_fail(t1.position::(),"min"); -let d19=self.diag_rule(49,d18); -d9=self.diag_join(d9,d19); -let d20=self.diag_fail(t1.position::(),"max"); -let d21=self.diag_rule(50,d20); -d9=self.diag_join(d9,d21); -let d22=self.diag_fail(t1.position::(),"random"); -let d23=self.diag_rule(51,d22); -d9=self.diag_join(d9,d23); -let d24=self.diag_fail(t1.position::(),"abs"); -let d25=self.diag_rule(52,d24); -d9=self.diag_join(d9,d25); -let d26=self.diag_fail(t1.position::(),"round"); -let d27=self.diag_rule(53,d26); -d9=self.diag_join(d9,d27); -let d28=self.diag_fail(t1.position::(),"ceil"); -let d29=self.diag_rule(54,d28); -d9=self.diag_join(d9,d29); -let d30=self.diag_fail(t1.position::(),"floor"); -let d31=self.diag_rule(55,d30); -d9=self.diag_join(d9,d31); -let d32=self.diag_fail(t1.position::(),"pow"); -let d33=self.diag_rule(56,d32); -d9=self.diag_join(d9,d33); -let d34=self.diag_fail(t1.position::(),"log"); -let d35=self.diag_rule(57,d34); -d9=self.diag_join(d9,d35); -let d36=self.diag_fail(t1.position::(),"exp"); -let d37=self.diag_rule(58,d36); -d9=self.diag_join(d9,d37); -let d38=self.diag_rule(44,d9); -d2=self.diag_join(d2,d38); -let d39=self.diag_fail(t1.position::(),"toNum"); -let d40=self.diag_rule(59,d39); -d2=self.diag_join(d2,d40); -let d41=self.diag_fail(t1.position::(),"$"); -let d42=self.diag_rule(121,d41); -let d43=self.diag_rule(69,d42); -d2=self.diag_join(d2,d43); -let d44=self.diag_fail(t1.position::(),"len"); -let d45=self.diag_rule(65,d44); -d2=self.diag_join(d2,d45); -let d46=self.diag_fail(t1.position::(),"length"); -let d47=self.diag_rule(64,d46); -d2=self.diag_join(d2,d47); -let d48=self.diag_fail(t1.position::(),"external"); -let d49=self.diag_rule(32,d48); -d2=self.diag_join(d2,d49); -let d50=self.e502_c(t1.begin()).diag; -d2=self.diag_join(d2,d50); -let d51=self.diag_fail(t1.position::(),"$"); -let d52=self.diag_rule(121,d51); -d2=self.diag_join(d2,d52); -let mut d53=Diag::NONE; -let d54=self.diag_fail(t1.position::(),"call"); -d53=self.diag_join(d53,d54); -let d55=self.diag_fail(t1.begin().position::(),"internal"); -d53=self.diag_join(d53,d55); -let d56=self.diag_rule(35,d53); -let d57=self.diag_rule(36,d56); -d2=self.diag_join(d2,d57); -let d58=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d58); -let d59=self.diag_rule(60,d2); -let d60=self.diag_rule(41,d59); -let d61=self.diag_rule(40,d60); -let d62=self.diag_rule(103,d61); -self.display_failures(t1.consumed.max(t1.matched),&["'('", "'('", "'match'", "'match'", "'if'", "'if'", "'sin'", "'sin'", "'cos'", "'cos'", "'tan'", "'tan'", "'sqrt'", "'sqrt'", "'min'", "'min'", "'max'", "'max'", "'random'", "'random'", "'abs'", "'abs'", "'round'", "'round'", "'ceil'", "'ceil'", "'floor'", "'floor'", "'pow'", "'pow'", "'log'", "'log'", "'exp'", "'exp'", "'toNum'", "'toNum'", "'$'", "'$'", "'$'", "'$'", "'len'", "'len'", "'length'", "'length'", "'external'", "'external'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'('", "'('", "'('", "'?'", "':'", "')'", "'match'", "'{'", "','", "'}'", "'if'", "'else'", "'toNum'", "'.length'", "'len'", "'length'", "'external'", "'$'", "__CaptureSite", "NumberTermParser", "__CaptureSite", "NumberExpressionParser", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'('", "'?'", "':'", "')'", "'match'", "'{'", "','", "'}'", "'if'", "'('", "')'", "'{'", "'}'", "'else'", "'sin'", "'('", "')'", "'cos'", "'tan'", "'sqrt'", "'min'", "'max'", "'random'", "'abs'", "'round'", "'ceil'", "'floor'", "'pow'", "','", "'log'", "'exp'", "'toNum'", "'('", "','", "')'", "'.length'", "'('", "')'", "'len'", "'('", "')'", "'length'", "'('", "')'", "'external'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'", "'('", "')'"]);} -if t1.begin().begin().consumed.max(t1.begin().begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'sin'", "'('", "')'", "'cos'", "'('", "')'", "'tan'", "'('", "')'", "'sqrt'", "'('", "')'", "'min'", "'('", "')'", "'max'", "'('", "')'", "'random'", "'('", "')'", "'abs'", "'('", "')'", "'round'", "'('", "')'", "'ceil'", "'('", "')'", "'floor'", "'('", "')'", "'pow'", "'('", "','", "')'", "'log'", "'('", "')'", "'exp'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["ComparisonExpressionParser", "__CaptureSite"]);} -Step {ok:false,state,events:EventId(0),diag:d62} -} fn guard_e392_c(&mut self,state:State)->Step { if !self.can_replay(1) {return self.e392_c(state);} if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} @@ -18614,493 +18456,6 @@ if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {sel if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'internal'", "'('", "')'"]);} Step {ok:false,state,events:EventId(0),diag:d6} } -fn guard_e686_c(&mut self,state:State)->Step { -if !self.can_replay(3) {return self.e686_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"external"); -let d4=self.diag_rule(33,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d5); -let d6=self.diag_fail(t1.position::(),"("); -let d7=self.diag_rule(90,d6); -d2=self.diag_join(d2,d7); -let d8=self.diag_fail(t1.position::(),"toUpperCase"); -let d9=self.diag_rule(61,d8); -d2=self.diag_join(d2,d9); -let d10=self.diag_fail(t1.position::(),"toLowerCase"); -let d11=self.diag_rule(62,d10); -d2=self.diag_join(d2,d11); -let d12=self.diag_fail(t1.position::(),"trim"); -let d13=self.diag_rule(63,d12); -d2=self.diag_join(d2,d13); -let d14=self.diag_fail(t1.position::(),"$"); -let d15=self.diag_rule(121,d14); -let d16=self.diag_rule(66,d15); -d2=self.diag_join(d2,d16); -let d17=self.diag_fail(t1.position::(),"$"); -let d18=self.diag_rule(121,d17); -let d19=self.diag_rule(67,d18); -d2=self.diag_join(d2,d19); -let d20=self.diag_fail(t1.position::(),"$"); -let d21=self.diag_rule(121,d20); -let d22=self.diag_rule(68,d21); -d2=self.diag_join(d2,d22); -let d23=self.e676_c(t1.begin()).diag; -d2=self.diag_join(d2,d23); -let d24=self.diag_fail(t1.position::(),"$"); -let d25=self.diag_rule(121,d24); -d2=self.diag_join(d2,d25); -let mut d26=Diag::NONE; -let d27=self.diag_fail(t1.position::(),"call"); -d26=self.diag_join(d26,d27); -let d28=self.diag_fail(t1.begin().position::(),"internal"); -d26=self.diag_join(d26,d28); -let d29=self.diag_rule(35,d26); -let d30=self.diag_rule(36,d29); -d2=self.diag_join(d2,d30); -let d31=self.diag_rule(82,d2); -self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'external'", "'('", "'('", "'('", "'('", "'toUpperCase'", "'toUpperCase'", "'toLowerCase'", "'toLowerCase'", "'trim'", "'trim'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'external'", "'('", "')'", "'toUpperCase'", "'toLowerCase'", "'trim'", "'.toUpperCase'", "'.toLowerCase'", "'.trim'", "'$'", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'string'", "':'", "'('", "')'", "'$'", "'('", "')'", "'('", "')'", "'toUpperCase'", "'('", "')'", "'toLowerCase'", "'('", "')'", "'trim'", "'('", "')'", "'.toUpperCase'", "'('", "')'", "'.toLowerCase'", "'('", "')'", "'.trim'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["':'", "'['", "']'"]);} -Step {ok:false,state,events:EventId(0),diag:d31} -} -fn guard_e687_c(&mut self,state:State)->Step { -if !self.can_replay(3) {return self.e687_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let mut d1=Diag::NONE; -let t2=self.trivia_1::(state.begin().entered(true,true)).state; -let d3=self.diag_fail(t2.position::(),"external"); -let d4=self.diag_rule(33,d3); -d1=self.diag_join(d1,d4); -let d5=self.diag_fail(t2.position::(),"("); -d1=self.diag_join(d1,d5); -let d6=self.diag_fail(t2.position::(),"("); -let d7=self.diag_rule(90,d6); -d1=self.diag_join(d1,d7); -let d8=self.diag_fail(t2.position::(),"toUpperCase"); -let d9=self.diag_rule(61,d8); -d1=self.diag_join(d1,d9); -let d10=self.diag_fail(t2.position::(),"toLowerCase"); -let d11=self.diag_rule(62,d10); -d1=self.diag_join(d1,d11); -let d12=self.diag_fail(t2.position::(),"trim"); -let d13=self.diag_rule(63,d12); -d1=self.diag_join(d1,d13); -let d14=self.diag_fail(t2.position::(),"$"); -let d15=self.diag_rule(121,d14); -let d16=self.diag_rule(66,d15); -d1=self.diag_join(d1,d16); -let d17=self.diag_fail(t2.position::(),"$"); -let d18=self.diag_rule(121,d17); -let d19=self.diag_rule(67,d18); -d1=self.diag_join(d1,d19); -let d20=self.diag_fail(t2.position::(),"$"); -let d21=self.diag_rule(121,d20); -let d22=self.diag_rule(68,d21); -d1=self.diag_join(d1,d22); -let d23=self.e676_c(state.begin()).diag; -d1=self.diag_join(d1,d23); -let d24=self.diag_fail(t2.position::(),"$"); -let d25=self.diag_rule(121,d24); -d1=self.diag_join(d1,d25); -let mut d26=Diag::NONE; -let d27=self.diag_fail(t2.position::(),"call"); -d26=self.diag_join(d26,d27); -let d28=self.diag_fail(t2.begin().position::(),"internal"); -d26=self.diag_join(d26,d28); -let d29=self.diag_rule(35,d26); -let d30=self.diag_rule(36,d29); -d1=self.diag_join(d1,d30); -let d31=self.diag_rule(82,d1); -self.display_failures(t2.consumed.max(t2.matched),&["'external'", "'external'", "'('", "'('", "'('", "'('", "'toUpperCase'", "'toUpperCase'", "'toLowerCase'", "'toLowerCase'", "'trim'", "'trim'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'"]); -if state.begin().consumed.max(state.begin().matched)==t2.consumed.max(t2.matched) {self.display_failures(t2.consumed.max(t2.matched),&["'external'", "'string'", "':'", "'('", "')'", "'$'", "'('", "')'", "'('", "')'", "'toUpperCase'", "'('", "')'", "'toLowerCase'", "'('", "')'", "'trim'", "'('", "')'", "'.toUpperCase'", "'('", "')'", "'.toLowerCase'", "'('", "')'", "'.trim'", "'('", "')'", "'$'", "'internal'", "'('", "')'"]);} -if t2.begin().consumed.max(t2.begin().matched)==t2.consumed.max(t2.matched) {self.display_failures(t2.consumed.max(t2.matched),&["'call'", "'internal'", "'internal'", "'internal'"]);} -if state.consumed.max(state.matched)==t2.consumed.max(t2.matched) {self.display_failures(t2.consumed.max(t2.matched),&["'external'", "'('", "')'", "'toUpperCase'", "'toLowerCase'", "'trim'", "'.toUpperCase'", "'.toLowerCase'", "'.trim'", "'$'", "__CaptureSite"]);} -Step {ok:false,state,events:EventId(0),diag:d31} -} -fn guard_e695_c(&mut self,state:State)->Step { -if !self.can_replay(3) {return self.e695_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"external"); -let d4=self.diag_rule(33,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d5); -let d6=self.diag_fail(t1.position::(),"("); -let d7=self.diag_rule(90,d6); -d2=self.diag_join(d2,d7); -let d8=self.diag_fail(t1.position::(),"toUpperCase"); -let d9=self.diag_rule(61,d8); -d2=self.diag_join(d2,d9); -let d10=self.diag_fail(t1.position::(),"toLowerCase"); -let d11=self.diag_rule(62,d10); -d2=self.diag_join(d2,d11); -let d12=self.diag_fail(t1.position::(),"trim"); -let d13=self.diag_rule(63,d12); -d2=self.diag_join(d2,d13); -let d14=self.diag_fail(t1.position::(),"$"); -let d15=self.diag_rule(121,d14); -let d16=self.diag_rule(66,d15); -d2=self.diag_join(d2,d16); -let d17=self.diag_fail(t1.position::(),"$"); -let d18=self.diag_rule(121,d17); -let d19=self.diag_rule(67,d18); -d2=self.diag_join(d2,d19); -let d20=self.diag_fail(t1.position::(),"$"); -let d21=self.diag_rule(121,d20); -let d22=self.diag_rule(68,d21); -d2=self.diag_join(d2,d22); -let d23=self.e676_c(t1.begin()).diag; -d2=self.diag_join(d2,d23); -let d24=self.diag_fail(t1.position::(),"$"); -let d25=self.diag_rule(121,d24); -d2=self.diag_join(d2,d25); -let mut d26=Diag::NONE; -let d27=self.diag_fail(t1.position::(),"call"); -d26=self.diag_join(d26,d27); -let d28=self.diag_fail(t1.begin().position::(),"internal"); -d26=self.diag_join(d26,d28); -let d29=self.diag_rule(35,d26); -let d30=self.diag_rule(36,d29); -d2=self.diag_join(d2,d30); -let d31=self.diag_rule(82,d2); -self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'external'", "'('", "'('", "'('", "'('", "'toUpperCase'", "'toUpperCase'", "'toLowerCase'", "'toLowerCase'", "'trim'", "'trim'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'external'", "'('", "')'", "'toUpperCase'", "'toLowerCase'", "'trim'", "'.toUpperCase'", "'.toLowerCase'", "'.trim'", "'$'", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'string'", "':'", "'('", "')'", "'$'", "'('", "')'", "'('", "')'", "'toUpperCase'", "'('", "')'", "'toLowerCase'", "'('", "')'", "'trim'", "'('", "')'", "'.toUpperCase'", "'('", "')'", "'.toLowerCase'", "'('", "')'", "'.trim'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["':'", "'['", "']'"]);} -Step {ok:false,state,events:EventId(0),diag:d31} -} -fn guard_e702_c(&mut self,state:State)->Step { -if !self.can_replay(3) {return self.e702_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"external"); -let d4=self.diag_rule(33,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d5); -let d6=self.diag_fail(t1.position::(),"("); -let d7=self.diag_rule(90,d6); -d2=self.diag_join(d2,d7); -let d8=self.diag_fail(t1.position::(),"toUpperCase"); -let d9=self.diag_rule(61,d8); -d2=self.diag_join(d2,d9); -let d10=self.diag_fail(t1.position::(),"toLowerCase"); -let d11=self.diag_rule(62,d10); -d2=self.diag_join(d2,d11); -let d12=self.diag_fail(t1.position::(),"trim"); -let d13=self.diag_rule(63,d12); -d2=self.diag_join(d2,d13); -let d14=self.diag_fail(t1.position::(),"$"); -let d15=self.diag_rule(121,d14); -let d16=self.diag_rule(66,d15); -d2=self.diag_join(d2,d16); -let d17=self.diag_fail(t1.position::(),"$"); -let d18=self.diag_rule(121,d17); -let d19=self.diag_rule(67,d18); -d2=self.diag_join(d2,d19); -let d20=self.diag_fail(t1.position::(),"$"); -let d21=self.diag_rule(121,d20); -let d22=self.diag_rule(68,d21); -d2=self.diag_join(d2,d22); -let d23=self.e676_c(t1.begin()).diag; -d2=self.diag_join(d2,d23); -let d24=self.diag_fail(t1.position::(),"$"); -let d25=self.diag_rule(121,d24); -d2=self.diag_join(d2,d25); -let mut d26=Diag::NONE; -let d27=self.diag_fail(t1.position::(),"call"); -d26=self.diag_join(d26,d27); -let d28=self.diag_fail(t1.begin().position::(),"internal"); -d26=self.diag_join(d26,d28); -let d29=self.diag_rule(35,d26); -let d30=self.diag_rule(36,d29); -d2=self.diag_join(d2,d30); -let d31=self.diag_rule(82,d2); -self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'external'", "'('", "'('", "'('", "'('", "'toUpperCase'", "'toUpperCase'", "'toLowerCase'", "'toLowerCase'", "'trim'", "'trim'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'external'", "'('", "')'", "'toUpperCase'", "'toLowerCase'", "'trim'", "'.toUpperCase'", "'.toLowerCase'", "'.trim'", "'$'", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'string'", "':'", "'('", "')'", "'$'", "'('", "')'", "'('", "')'", "'toUpperCase'", "'('", "')'", "'toLowerCase'", "'('", "')'", "'trim'", "'('", "')'", "'.toUpperCase'", "'('", "')'", "'.toLowerCase'", "'('", "')'", "'.trim'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["':'", "'['", "']'"]);} -Step {ok:false,state,events:EventId(0),diag:d31} -} -fn guard_e710_c(&mut self,state:State)->Step { -if !self.can_replay(3) {return self.e710_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"external"); -let d4=self.diag_rule(33,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d5); -let d6=self.diag_fail(t1.position::(),"("); -let d7=self.diag_rule(90,d6); -d2=self.diag_join(d2,d7); -let d8=self.diag_fail(t1.position::(),"toUpperCase"); -let d9=self.diag_rule(61,d8); -d2=self.diag_join(d2,d9); -let d10=self.diag_fail(t1.position::(),"toLowerCase"); -let d11=self.diag_rule(62,d10); -d2=self.diag_join(d2,d11); -let d12=self.diag_fail(t1.position::(),"trim"); -let d13=self.diag_rule(63,d12); -d2=self.diag_join(d2,d13); -let d14=self.diag_fail(t1.position::(),"$"); -let d15=self.diag_rule(121,d14); -let d16=self.diag_rule(66,d15); -d2=self.diag_join(d2,d16); -let d17=self.diag_fail(t1.position::(),"$"); -let d18=self.diag_rule(121,d17); -let d19=self.diag_rule(67,d18); -d2=self.diag_join(d2,d19); -let d20=self.diag_fail(t1.position::(),"$"); -let d21=self.diag_rule(121,d20); -let d22=self.diag_rule(68,d21); -d2=self.diag_join(d2,d22); -let d23=self.e676_c(t1.begin()).diag; -d2=self.diag_join(d2,d23); -let d24=self.diag_fail(t1.position::(),"$"); -let d25=self.diag_rule(121,d24); -d2=self.diag_join(d2,d25); -let mut d26=Diag::NONE; -let d27=self.diag_fail(t1.position::(),"call"); -d26=self.diag_join(d26,d27); -let d28=self.diag_fail(t1.begin().position::(),"internal"); -d26=self.diag_join(d26,d28); -let d29=self.diag_rule(35,d26); -let d30=self.diag_rule(36,d29); -d2=self.diag_join(d2,d30); -let d31=self.diag_rule(82,d2); -self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'external'", "'('", "'('", "'('", "'('", "'toUpperCase'", "'toUpperCase'", "'toLowerCase'", "'toLowerCase'", "'trim'", "'trim'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'external'", "'('", "')'", "'toUpperCase'", "'toLowerCase'", "'trim'", "'.toUpperCase'", "'.toLowerCase'", "'.trim'", "'$'", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'string'", "':'", "'('", "')'", "'$'", "'('", "')'", "'('", "')'", "'toUpperCase'", "'('", "')'", "'toLowerCase'", "'('", "')'", "'trim'", "'('", "')'", "'.toUpperCase'", "'('", "')'", "'.toLowerCase'", "'('", "')'", "'.trim'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["':'", "'['", "']'"]);} -Step {ok:false,state,events:EventId(0),diag:d31} -} -fn guard_e716_c(&mut self,state:State)->Step { -if !self.can_replay(3) {return self.e716_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"external"); -let d4=self.diag_rule(33,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d5); -let d6=self.diag_fail(t1.position::(),"("); -let d7=self.diag_rule(90,d6); -d2=self.diag_join(d2,d7); -let d8=self.diag_fail(t1.position::(),"toUpperCase"); -let d9=self.diag_rule(61,d8); -d2=self.diag_join(d2,d9); -let d10=self.diag_fail(t1.position::(),"toLowerCase"); -let d11=self.diag_rule(62,d10); -d2=self.diag_join(d2,d11); -let d12=self.diag_fail(t1.position::(),"trim"); -let d13=self.diag_rule(63,d12); -d2=self.diag_join(d2,d13); -let d14=self.diag_fail(t1.position::(),"$"); -let d15=self.diag_rule(121,d14); -let d16=self.diag_rule(66,d15); -d2=self.diag_join(d2,d16); -let d17=self.diag_fail(t1.position::(),"$"); -let d18=self.diag_rule(121,d17); -let d19=self.diag_rule(67,d18); -d2=self.diag_join(d2,d19); -let d20=self.diag_fail(t1.position::(),"$"); -let d21=self.diag_rule(121,d20); -let d22=self.diag_rule(68,d21); -d2=self.diag_join(d2,d22); -let d23=self.e676_c(t1.begin()).diag; -d2=self.diag_join(d2,d23); -let d24=self.diag_fail(t1.position::(),"$"); -let d25=self.diag_rule(121,d24); -d2=self.diag_join(d2,d25); -let mut d26=Diag::NONE; -let d27=self.diag_fail(t1.position::(),"call"); -d26=self.diag_join(d26,d27); -let d28=self.diag_fail(t1.begin().position::(),"internal"); -d26=self.diag_join(d26,d28); -let d29=self.diag_rule(35,d26); -let d30=self.diag_rule(36,d29); -d2=self.diag_join(d2,d30); -let d31=self.diag_rule(82,d2); -self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'external'", "'('", "'('", "'('", "'('", "'toUpperCase'", "'toUpperCase'", "'toLowerCase'", "'toLowerCase'", "'trim'", "'trim'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'external'", "'('", "')'", "'toUpperCase'", "'toLowerCase'", "'trim'", "'.toUpperCase'", "'.toLowerCase'", "'.trim'", "'$'", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'string'", "':'", "'('", "')'", "'$'", "'('", "')'", "'('", "')'", "'toUpperCase'", "'('", "')'", "'toLowerCase'", "'('", "')'", "'trim'", "'('", "')'", "'.toUpperCase'", "'('", "')'", "'.toLowerCase'", "'('", "')'", "'.trim'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["':'", "'['", "']'"]);} -Step {ok:false,state,events:EventId(0),diag:d31} -} -fn guard_e724_c(&mut self,state:State)->Step { -if !self.can_replay(3) {return self.e724_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"external"); -let d4=self.diag_rule(33,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d5); -let d6=self.diag_fail(t1.position::(),"("); -let d7=self.diag_rule(90,d6); -d2=self.diag_join(d2,d7); -let d8=self.diag_fail(t1.position::(),"toUpperCase"); -let d9=self.diag_rule(61,d8); -d2=self.diag_join(d2,d9); -let d10=self.diag_fail(t1.position::(),"toLowerCase"); -let d11=self.diag_rule(62,d10); -d2=self.diag_join(d2,d11); -let d12=self.diag_fail(t1.position::(),"trim"); -let d13=self.diag_rule(63,d12); -d2=self.diag_join(d2,d13); -let d14=self.diag_fail(t1.position::(),"$"); -let d15=self.diag_rule(121,d14); -let d16=self.diag_rule(66,d15); -d2=self.diag_join(d2,d16); -let d17=self.diag_fail(t1.position::(),"$"); -let d18=self.diag_rule(121,d17); -let d19=self.diag_rule(67,d18); -d2=self.diag_join(d2,d19); -let d20=self.diag_fail(t1.position::(),"$"); -let d21=self.diag_rule(121,d20); -let d22=self.diag_rule(68,d21); -d2=self.diag_join(d2,d22); -let d23=self.e676_c(t1.begin()).diag; -d2=self.diag_join(d2,d23); -let d24=self.diag_fail(t1.position::(),"$"); -let d25=self.diag_rule(121,d24); -d2=self.diag_join(d2,d25); -let mut d26=Diag::NONE; -let d27=self.diag_fail(t1.position::(),"call"); -d26=self.diag_join(d26,d27); -let d28=self.diag_fail(t1.begin().position::(),"internal"); -d26=self.diag_join(d26,d28); -let d29=self.diag_rule(35,d26); -let d30=self.diag_rule(36,d29); -d2=self.diag_join(d2,d30); -let d31=self.diag_rule(82,d2); -self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'external'", "'('", "'('", "'('", "'('", "'toUpperCase'", "'toUpperCase'", "'toLowerCase'", "'toLowerCase'", "'trim'", "'trim'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'external'", "'('", "')'", "'toUpperCase'", "'toLowerCase'", "'trim'", "'.toUpperCase'", "'.toLowerCase'", "'.trim'", "'$'", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'string'", "':'", "'('", "')'", "'$'", "'('", "')'", "'('", "')'", "'toUpperCase'", "'('", "')'", "'toLowerCase'", "'('", "')'", "'trim'", "'('", "')'", "'.toUpperCase'", "'('", "')'", "'.toLowerCase'", "'('", "')'", "'.trim'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["':'", "'['", "']'"]);} -Step {ok:false,state,events:EventId(0),diag:d31} -} -fn guard_e730_c(&mut self,state:State)->Step { -if !self.can_replay(3) {return self.e730_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"external"); -let d4=self.diag_rule(33,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d5); -let d6=self.diag_fail(t1.position::(),"("); -let d7=self.diag_rule(90,d6); -d2=self.diag_join(d2,d7); -let d8=self.diag_fail(t1.position::(),"toUpperCase"); -let d9=self.diag_rule(61,d8); -d2=self.diag_join(d2,d9); -let d10=self.diag_fail(t1.position::(),"toLowerCase"); -let d11=self.diag_rule(62,d10); -d2=self.diag_join(d2,d11); -let d12=self.diag_fail(t1.position::(),"trim"); -let d13=self.diag_rule(63,d12); -d2=self.diag_join(d2,d13); -let d14=self.diag_fail(t1.position::(),"$"); -let d15=self.diag_rule(121,d14); -let d16=self.diag_rule(66,d15); -d2=self.diag_join(d2,d16); -let d17=self.diag_fail(t1.position::(),"$"); -let d18=self.diag_rule(121,d17); -let d19=self.diag_rule(67,d18); -d2=self.diag_join(d2,d19); -let d20=self.diag_fail(t1.position::(),"$"); -let d21=self.diag_rule(121,d20); -let d22=self.diag_rule(68,d21); -d2=self.diag_join(d2,d22); -let d23=self.e676_c(t1.begin()).diag; -d2=self.diag_join(d2,d23); -let d24=self.diag_fail(t1.position::(),"$"); -let d25=self.diag_rule(121,d24); -d2=self.diag_join(d2,d25); -let mut d26=Diag::NONE; -let d27=self.diag_fail(t1.position::(),"call"); -d26=self.diag_join(d26,d27); -let d28=self.diag_fail(t1.begin().position::(),"internal"); -d26=self.diag_join(d26,d28); -let d29=self.diag_rule(35,d26); -let d30=self.diag_rule(36,d29); -d2=self.diag_join(d2,d30); -let d31=self.diag_rule(82,d2); -self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'external'", "'('", "'('", "'('", "'('", "'toUpperCase'", "'toUpperCase'", "'toLowerCase'", "'toLowerCase'", "'trim'", "'trim'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'external'", "'('", "')'", "'toUpperCase'", "'toLowerCase'", "'trim'", "'.toUpperCase'", "'.toLowerCase'", "'.trim'", "'$'", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'string'", "':'", "'('", "')'", "'$'", "'('", "')'", "'('", "')'", "'toUpperCase'", "'('", "')'", "'toLowerCase'", "'('", "')'", "'trim'", "'('", "')'", "'.toUpperCase'", "'('", "')'", "'.toLowerCase'", "'('", "')'", "'.trim'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["':'", "'['", "']'"]);} -Step {ok:false,state,events:EventId(0),diag:d31} -} -fn guard_e737_c(&mut self,state:State)->Step { -if !self.can_replay(3) {return self.e737_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"external"); -let d4=self.diag_rule(33,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d5); -let d6=self.diag_fail(t1.position::(),"("); -let d7=self.diag_rule(90,d6); -d2=self.diag_join(d2,d7); -let d8=self.diag_fail(t1.position::(),"toUpperCase"); -let d9=self.diag_rule(61,d8); -d2=self.diag_join(d2,d9); -let d10=self.diag_fail(t1.position::(),"toLowerCase"); -let d11=self.diag_rule(62,d10); -d2=self.diag_join(d2,d11); -let d12=self.diag_fail(t1.position::(),"trim"); -let d13=self.diag_rule(63,d12); -d2=self.diag_join(d2,d13); -let d14=self.diag_fail(t1.position::(),"$"); -let d15=self.diag_rule(121,d14); -let d16=self.diag_rule(66,d15); -d2=self.diag_join(d2,d16); -let d17=self.diag_fail(t1.position::(),"$"); -let d18=self.diag_rule(121,d17); -let d19=self.diag_rule(67,d18); -d2=self.diag_join(d2,d19); -let d20=self.diag_fail(t1.position::(),"$"); -let d21=self.diag_rule(121,d20); -let d22=self.diag_rule(68,d21); -d2=self.diag_join(d2,d22); -let d23=self.e676_c(t1.begin()).diag; -d2=self.diag_join(d2,d23); -let d24=self.diag_fail(t1.position::(),"$"); -let d25=self.diag_rule(121,d24); -d2=self.diag_join(d2,d25); -let mut d26=Diag::NONE; -let d27=self.diag_fail(t1.position::(),"call"); -d26=self.diag_join(d26,d27); -let d28=self.diag_fail(t1.begin().position::(),"internal"); -d26=self.diag_join(d26,d28); -let d29=self.diag_rule(35,d26); -let d30=self.diag_rule(36,d29); -d2=self.diag_join(d2,d30); -let d31=self.diag_rule(82,d2); -self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'external'", "'('", "'('", "'('", "'('", "'toUpperCase'", "'toUpperCase'", "'toLowerCase'", "'toLowerCase'", "'trim'", "'trim'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'external'", "'('", "')'", "'toUpperCase'", "'toLowerCase'", "'trim'", "'.toUpperCase'", "'.toLowerCase'", "'.trim'", "'$'", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'external'", "'string'", "':'", "'('", "')'", "'$'", "'('", "')'", "'('", "')'", "'toUpperCase'", "'('", "')'", "'toLowerCase'", "'('", "')'", "'trim'", "'('", "')'", "'.toUpperCase'", "'('", "')'", "'.toLowerCase'", "'('", "')'", "'.trim'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["':'", "'['", "']'"]);} -Step {ok:false,state,events:EventId(0),diag:d31} -} fn guard_e813_c(&mut self,state:State)->Step { if !self.can_replay(1) {return self.e813_c(state);} if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} @@ -19487,207 +18842,6 @@ self.display_failures(t1.consumed.max(t1.matched),&["'('", "'('"]); if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'('", "')'"]);} Step {ok:false,state,events:EventId(0),diag:d2} } -fn guard_e898_c(&mut self,state:State)->Step { -if !self.can_replay(6) {return self.e898_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"("); -let d4=self.diag_rule(108,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"match"); -let d6=self.diag_rule(109,d5); -d2=self.diag_join(d2,d6); -let d7=self.diag_fail(t1.position::(),"if"); -let d8=self.diag_rule(106,d7); -d2=self.diag_join(d2,d8); -let mut d9=Diag::NONE; -let d10=self.diag_fail(t1.position::(),"sin"); -let d11=self.diag_rule(45,d10); -d9=self.diag_join(d9,d11); -let d12=self.diag_fail(t1.position::(),"cos"); -let d13=self.diag_rule(46,d12); -d9=self.diag_join(d9,d13); -let d14=self.diag_fail(t1.position::(),"tan"); -let d15=self.diag_rule(47,d14); -d9=self.diag_join(d9,d15); -let d16=self.diag_fail(t1.position::(),"sqrt"); -let d17=self.diag_rule(48,d16); -d9=self.diag_join(d9,d17); -let d18=self.diag_fail(t1.position::(),"min"); -let d19=self.diag_rule(49,d18); -d9=self.diag_join(d9,d19); -let d20=self.diag_fail(t1.position::(),"max"); -let d21=self.diag_rule(50,d20); -d9=self.diag_join(d9,d21); -let d22=self.diag_fail(t1.position::(),"random"); -let d23=self.diag_rule(51,d22); -d9=self.diag_join(d9,d23); -let d24=self.diag_fail(t1.position::(),"abs"); -let d25=self.diag_rule(52,d24); -d9=self.diag_join(d9,d25); -let d26=self.diag_fail(t1.position::(),"round"); -let d27=self.diag_rule(53,d26); -d9=self.diag_join(d9,d27); -let d28=self.diag_fail(t1.position::(),"ceil"); -let d29=self.diag_rule(54,d28); -d9=self.diag_join(d9,d29); -let d30=self.diag_fail(t1.position::(),"floor"); -let d31=self.diag_rule(55,d30); -d9=self.diag_join(d9,d31); -let d32=self.diag_fail(t1.position::(),"pow"); -let d33=self.diag_rule(56,d32); -d9=self.diag_join(d9,d33); -let d34=self.diag_fail(t1.position::(),"log"); -let d35=self.diag_rule(57,d34); -d9=self.diag_join(d9,d35); -let d36=self.diag_fail(t1.position::(),"exp"); -let d37=self.diag_rule(58,d36); -d9=self.diag_join(d9,d37); -let d38=self.diag_rule(44,d9); -d2=self.diag_join(d2,d38); -let d39=self.diag_fail(t1.position::(),"toNum"); -let d40=self.diag_rule(59,d39); -d2=self.diag_join(d2,d40); -let d41=self.diag_fail(t1.position::(),"$"); -let d42=self.diag_rule(121,d41); -let d43=self.diag_rule(69,d42); -d2=self.diag_join(d2,d43); -let d44=self.diag_fail(t1.position::(),"len"); -let d45=self.diag_rule(65,d44); -d2=self.diag_join(d2,d45); -let d46=self.diag_fail(t1.position::(),"length"); -let d47=self.diag_rule(64,d46); -d2=self.diag_join(d2,d47); -let d48=self.diag_fail(t1.position::(),"external"); -let d49=self.diag_rule(32,d48); -d2=self.diag_join(d2,d49); -let d50=self.e502_c(t1.begin()).diag; -d2=self.diag_join(d2,d50); -let d51=self.diag_fail(t1.position::(),"$"); -let d52=self.diag_rule(121,d51); -d2=self.diag_join(d2,d52); -let mut d53=Diag::NONE; -let d54=self.diag_fail(t1.position::(),"call"); -d53=self.diag_join(d53,d54); -let d55=self.diag_fail(t1.begin().position::(),"internal"); -d53=self.diag_join(d53,d55); -let d56=self.diag_rule(35,d53); -let d57=self.diag_rule(36,d56); -d2=self.diag_join(d2,d57); -let d58=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d58); -let d59=self.diag_rule(60,d2); -let d60=self.diag_rule(41,d59); -let d61=self.diag_rule(40,d60); -let d62=self.diag_rule(103,d61); -self.display_failures(t1.consumed.max(t1.matched),&["'('", "'('", "'match'", "'match'", "'if'", "'if'", "'sin'", "'sin'", "'cos'", "'cos'", "'tan'", "'tan'", "'sqrt'", "'sqrt'", "'min'", "'min'", "'max'", "'max'", "'random'", "'random'", "'abs'", "'abs'", "'round'", "'round'", "'ceil'", "'ceil'", "'floor'", "'floor'", "'pow'", "'pow'", "'log'", "'log'", "'exp'", "'exp'", "'toNum'", "'toNum'", "'$'", "'$'", "'$'", "'$'", "'len'", "'len'", "'length'", "'length'", "'external'", "'external'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'('", "'('", "'('", "'?'", "':'", "')'", "'match'", "'{'", "','", "'}'", "'if'", "'else'", "'toNum'", "'.length'", "'len'", "'length'", "'external'", "'$'", "__CaptureSite", "NumberTermParser", "__CaptureSite", "NumberExpressionParser", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'('", "'?'", "':'", "')'", "'match'", "'{'", "','", "'}'", "'if'", "'('", "')'", "'{'", "'}'", "'else'", "'sin'", "'('", "')'", "'cos'", "'tan'", "'sqrt'", "'min'", "'max'", "'random'", "'abs'", "'round'", "'ceil'", "'floor'", "'pow'", "','", "'log'", "'exp'", "'toNum'", "'('", "','", "')'", "'.length'", "'('", "')'", "'len'", "'('", "')'", "'length'", "'('", "')'", "'external'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'", "'('", "')'"]);} -if t1.begin().begin().consumed.max(t1.begin().begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'sin'", "'('", "')'", "'cos'", "'('", "')'", "'tan'", "'('", "')'", "'sqrt'", "'('", "')'", "'min'", "'('", "')'", "'max'", "'('", "')'", "'random'", "'('", "')'", "'abs'", "'('", "')'", "'round'", "'('", "')'", "'ceil'", "'('", "')'", "'floor'", "'('", "')'", "'pow'", "'('", "','", "')'", "'log'", "'('", "')'", "'exp'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["ComparisonExpressionParser", "__CaptureSite"]);} -Step {ok:false,state,events:EventId(0),diag:d62} -} -fn guard_e920_c(&mut self,state:State)->Step { -if !self.can_replay(5) {return self.e920_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"("); -let d4=self.diag_rule(108,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"match"); -let d6=self.diag_rule(109,d5); -d2=self.diag_join(d2,d6); -let d7=self.diag_fail(t1.position::(),"if"); -let d8=self.diag_rule(106,d7); -d2=self.diag_join(d2,d8); -let mut d9=Diag::NONE; -let d10=self.diag_fail(t1.position::(),"sin"); -let d11=self.diag_rule(45,d10); -d9=self.diag_join(d9,d11); -let d12=self.diag_fail(t1.position::(),"cos"); -let d13=self.diag_rule(46,d12); -d9=self.diag_join(d9,d13); -let d14=self.diag_fail(t1.position::(),"tan"); -let d15=self.diag_rule(47,d14); -d9=self.diag_join(d9,d15); -let d16=self.diag_fail(t1.position::(),"sqrt"); -let d17=self.diag_rule(48,d16); -d9=self.diag_join(d9,d17); -let d18=self.diag_fail(t1.position::(),"min"); -let d19=self.diag_rule(49,d18); -d9=self.diag_join(d9,d19); -let d20=self.diag_fail(t1.position::(),"max"); -let d21=self.diag_rule(50,d20); -d9=self.diag_join(d9,d21); -let d22=self.diag_fail(t1.position::(),"random"); -let d23=self.diag_rule(51,d22); -d9=self.diag_join(d9,d23); -let d24=self.diag_fail(t1.position::(),"abs"); -let d25=self.diag_rule(52,d24); -d9=self.diag_join(d9,d25); -let d26=self.diag_fail(t1.position::(),"round"); -let d27=self.diag_rule(53,d26); -d9=self.diag_join(d9,d27); -let d28=self.diag_fail(t1.position::(),"ceil"); -let d29=self.diag_rule(54,d28); -d9=self.diag_join(d9,d29); -let d30=self.diag_fail(t1.position::(),"floor"); -let d31=self.diag_rule(55,d30); -d9=self.diag_join(d9,d31); -let d32=self.diag_fail(t1.position::(),"pow"); -let d33=self.diag_rule(56,d32); -d9=self.diag_join(d9,d33); -let d34=self.diag_fail(t1.position::(),"log"); -let d35=self.diag_rule(57,d34); -d9=self.diag_join(d9,d35); -let d36=self.diag_fail(t1.position::(),"exp"); -let d37=self.diag_rule(58,d36); -d9=self.diag_join(d9,d37); -let d38=self.diag_rule(44,d9); -d2=self.diag_join(d2,d38); -let d39=self.diag_fail(t1.position::(),"toNum"); -let d40=self.diag_rule(59,d39); -d2=self.diag_join(d2,d40); -let d41=self.diag_fail(t1.position::(),"$"); -let d42=self.diag_rule(121,d41); -let d43=self.diag_rule(69,d42); -d2=self.diag_join(d2,d43); -let d44=self.diag_fail(t1.position::(),"len"); -let d45=self.diag_rule(65,d44); -d2=self.diag_join(d2,d45); -let d46=self.diag_fail(t1.position::(),"length"); -let d47=self.diag_rule(64,d46); -d2=self.diag_join(d2,d47); -let d48=self.diag_fail(t1.position::(),"external"); -let d49=self.diag_rule(32,d48); -d2=self.diag_join(d2,d49); -let d50=self.e502_c(t1.begin()).diag; -d2=self.diag_join(d2,d50); -let d51=self.diag_fail(t1.position::(),"$"); -let d52=self.diag_rule(121,d51); -d2=self.diag_join(d2,d52); -let mut d53=Diag::NONE; -let d54=self.diag_fail(t1.position::(),"call"); -d53=self.diag_join(d53,d54); -let d55=self.diag_fail(t1.begin().position::(),"internal"); -d53=self.diag_join(d53,d55); -let d56=self.diag_rule(35,d53); -let d57=self.diag_rule(36,d56); -d2=self.diag_join(d2,d57); -let d58=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d58); -let d59=self.diag_rule(60,d2); -let d60=self.diag_rule(41,d59); -let d61=self.diag_rule(40,d60); -self.display_failures(t1.consumed.max(t1.matched),&["'('", "'('", "'match'", "'match'", "'if'", "'if'", "'sin'", "'sin'", "'cos'", "'cos'", "'tan'", "'tan'", "'sqrt'", "'sqrt'", "'min'", "'min'", "'max'", "'max'", "'random'", "'random'", "'abs'", "'abs'", "'round'", "'round'", "'ceil'", "'ceil'", "'floor'", "'floor'", "'pow'", "'pow'", "'log'", "'log'", "'exp'", "'exp'", "'toNum'", "'toNum'", "'$'", "'$'", "'$'", "'$'", "'len'", "'len'", "'length'", "'length'", "'external'", "'external'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'('", "'('", "'('", "'?'", "':'", "')'", "'match'", "'{'", "','", "'}'", "'if'", "'else'", "'toNum'", "'.length'", "'len'", "'length'", "'external'", "'$'", "__CaptureSite", "NumberTermParser", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'('", "'?'", "':'", "')'", "'match'", "'{'", "','", "'}'", "'if'", "'('", "')'", "'{'", "'}'", "'else'", "'sin'", "'('", "')'", "'cos'", "'tan'", "'sqrt'", "'min'", "'max'", "'random'", "'abs'", "'round'", "'ceil'", "'floor'", "'pow'", "','", "'log'", "'exp'", "'toNum'", "'('", "','", "')'", "'.length'", "'('", "')'", "'len'", "'('", "')'", "'length'", "'('", "')'", "'external'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'", "'('", "')'"]);} -if t1.begin().begin().consumed.max(t1.begin().begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'sin'", "'('", "')'", "'cos'", "'('", "')'", "'tan'", "'('", "')'", "'sqrt'", "'('", "')'", "'min'", "'('", "')'", "'max'", "'('", "')'", "'random'", "'('", "')'", "'abs'", "'('", "')'", "'round'", "'('", "')'", "'ceil'", "'('", "')'", "'floor'", "'('", "')'", "'pow'", "'('", "','", "')'", "'log'", "'('", "')'", "'exp'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["NumberExpressionParser", "__CaptureSite"]);} -Step {ok:false,state,events:EventId(0),diag:d61} -} fn guard_e923_c(&mut self,state:State)->Step { if !self.can_replay(1) {return self.e923_c(state);} if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} @@ -19727,207 +18881,6 @@ if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {sel if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'internal'", "'('", "')'", "'('", "')'"]);} Step {ok:false,state,events:EventId(0),diag:d6} } -fn guard_e939_c(&mut self,state:State)->Step { -if !self.can_replay(6) {return self.e939_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"("); -let d4=self.diag_rule(108,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"match"); -let d6=self.diag_rule(109,d5); -d2=self.diag_join(d2,d6); -let d7=self.diag_fail(t1.position::(),"if"); -let d8=self.diag_rule(106,d7); -d2=self.diag_join(d2,d8); -let mut d9=Diag::NONE; -let d10=self.diag_fail(t1.position::(),"sin"); -let d11=self.diag_rule(45,d10); -d9=self.diag_join(d9,d11); -let d12=self.diag_fail(t1.position::(),"cos"); -let d13=self.diag_rule(46,d12); -d9=self.diag_join(d9,d13); -let d14=self.diag_fail(t1.position::(),"tan"); -let d15=self.diag_rule(47,d14); -d9=self.diag_join(d9,d15); -let d16=self.diag_fail(t1.position::(),"sqrt"); -let d17=self.diag_rule(48,d16); -d9=self.diag_join(d9,d17); -let d18=self.diag_fail(t1.position::(),"min"); -let d19=self.diag_rule(49,d18); -d9=self.diag_join(d9,d19); -let d20=self.diag_fail(t1.position::(),"max"); -let d21=self.diag_rule(50,d20); -d9=self.diag_join(d9,d21); -let d22=self.diag_fail(t1.position::(),"random"); -let d23=self.diag_rule(51,d22); -d9=self.diag_join(d9,d23); -let d24=self.diag_fail(t1.position::(),"abs"); -let d25=self.diag_rule(52,d24); -d9=self.diag_join(d9,d25); -let d26=self.diag_fail(t1.position::(),"round"); -let d27=self.diag_rule(53,d26); -d9=self.diag_join(d9,d27); -let d28=self.diag_fail(t1.position::(),"ceil"); -let d29=self.diag_rule(54,d28); -d9=self.diag_join(d9,d29); -let d30=self.diag_fail(t1.position::(),"floor"); -let d31=self.diag_rule(55,d30); -d9=self.diag_join(d9,d31); -let d32=self.diag_fail(t1.position::(),"pow"); -let d33=self.diag_rule(56,d32); -d9=self.diag_join(d9,d33); -let d34=self.diag_fail(t1.position::(),"log"); -let d35=self.diag_rule(57,d34); -d9=self.diag_join(d9,d35); -let d36=self.diag_fail(t1.position::(),"exp"); -let d37=self.diag_rule(58,d36); -d9=self.diag_join(d9,d37); -let d38=self.diag_rule(44,d9); -d2=self.diag_join(d2,d38); -let d39=self.diag_fail(t1.position::(),"toNum"); -let d40=self.diag_rule(59,d39); -d2=self.diag_join(d2,d40); -let d41=self.diag_fail(t1.position::(),"$"); -let d42=self.diag_rule(121,d41); -let d43=self.diag_rule(69,d42); -d2=self.diag_join(d2,d43); -let d44=self.diag_fail(t1.position::(),"len"); -let d45=self.diag_rule(65,d44); -d2=self.diag_join(d2,d45); -let d46=self.diag_fail(t1.position::(),"length"); -let d47=self.diag_rule(64,d46); -d2=self.diag_join(d2,d47); -let d48=self.diag_fail(t1.position::(),"external"); -let d49=self.diag_rule(32,d48); -d2=self.diag_join(d2,d49); -let d50=self.e502_c(t1.begin()).diag; -d2=self.diag_join(d2,d50); -let d51=self.diag_fail(t1.position::(),"$"); -let d52=self.diag_rule(121,d51); -d2=self.diag_join(d2,d52); -let mut d53=Diag::NONE; -let d54=self.diag_fail(t1.position::(),"call"); -d53=self.diag_join(d53,d54); -let d55=self.diag_fail(t1.begin().position::(),"internal"); -d53=self.diag_join(d53,d55); -let d56=self.diag_rule(35,d53); -let d57=self.diag_rule(36,d56); -d2=self.diag_join(d2,d57); -let d58=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d58); -let d59=self.diag_rule(60,d2); -let d60=self.diag_rule(41,d59); -let d61=self.diag_rule(40,d60); -let d62=self.diag_rule(103,d61); -self.display_failures(t1.consumed.max(t1.matched),&["'('", "'('", "'match'", "'match'", "'if'", "'if'", "'sin'", "'sin'", "'cos'", "'cos'", "'tan'", "'tan'", "'sqrt'", "'sqrt'", "'min'", "'min'", "'max'", "'max'", "'random'", "'random'", "'abs'", "'abs'", "'round'", "'round'", "'ceil'", "'ceil'", "'floor'", "'floor'", "'pow'", "'pow'", "'log'", "'log'", "'exp'", "'exp'", "'toNum'", "'toNum'", "'$'", "'$'", "'$'", "'$'", "'len'", "'len'", "'length'", "'length'", "'external'", "'external'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'('", "'('", "'('", "'?'", "':'", "')'", "'match'", "'{'", "','", "'}'", "'if'", "'else'", "'toNum'", "'.length'", "'len'", "'length'", "'external'", "'$'", "__CaptureSite", "NumberTermParser", "__CaptureSite", "NumberExpressionParser", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'('", "'?'", "':'", "')'", "'match'", "'{'", "','", "'}'", "'if'", "'('", "')'", "'{'", "'}'", "'else'", "'sin'", "'('", "')'", "'cos'", "'tan'", "'sqrt'", "'min'", "'max'", "'random'", "'abs'", "'round'", "'ceil'", "'floor'", "'pow'", "','", "'log'", "'exp'", "'toNum'", "'('", "','", "')'", "'.length'", "'('", "')'", "'len'", "'('", "')'", "'length'", "'('", "')'", "'external'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'", "'('", "')'"]);} -if t1.begin().begin().consumed.max(t1.begin().begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'sin'", "'('", "')'", "'cos'", "'('", "')'", "'tan'", "'('", "')'", "'sqrt'", "'('", "')'", "'min'", "'('", "')'", "'max'", "'('", "')'", "'random'", "'('", "')'", "'abs'", "'('", "')'", "'round'", "'('", "')'", "'ceil'", "'('", "')'", "'floor'", "'('", "')'", "'pow'", "'('", "','", "')'", "'log'", "'('", "')'", "'exp'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["ComparisonExpressionParser", "__CaptureSite"]);} -Step {ok:false,state,events:EventId(0),diag:d62} -} -fn guard_e942_c(&mut self,state:State)->Step { -if !self.can_replay(5) {return self.e942_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"("); -let d4=self.diag_rule(108,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"match"); -let d6=self.diag_rule(109,d5); -d2=self.diag_join(d2,d6); -let d7=self.diag_fail(t1.position::(),"if"); -let d8=self.diag_rule(106,d7); -d2=self.diag_join(d2,d8); -let mut d9=Diag::NONE; -let d10=self.diag_fail(t1.position::(),"sin"); -let d11=self.diag_rule(45,d10); -d9=self.diag_join(d9,d11); -let d12=self.diag_fail(t1.position::(),"cos"); -let d13=self.diag_rule(46,d12); -d9=self.diag_join(d9,d13); -let d14=self.diag_fail(t1.position::(),"tan"); -let d15=self.diag_rule(47,d14); -d9=self.diag_join(d9,d15); -let d16=self.diag_fail(t1.position::(),"sqrt"); -let d17=self.diag_rule(48,d16); -d9=self.diag_join(d9,d17); -let d18=self.diag_fail(t1.position::(),"min"); -let d19=self.diag_rule(49,d18); -d9=self.diag_join(d9,d19); -let d20=self.diag_fail(t1.position::(),"max"); -let d21=self.diag_rule(50,d20); -d9=self.diag_join(d9,d21); -let d22=self.diag_fail(t1.position::(),"random"); -let d23=self.diag_rule(51,d22); -d9=self.diag_join(d9,d23); -let d24=self.diag_fail(t1.position::(),"abs"); -let d25=self.diag_rule(52,d24); -d9=self.diag_join(d9,d25); -let d26=self.diag_fail(t1.position::(),"round"); -let d27=self.diag_rule(53,d26); -d9=self.diag_join(d9,d27); -let d28=self.diag_fail(t1.position::(),"ceil"); -let d29=self.diag_rule(54,d28); -d9=self.diag_join(d9,d29); -let d30=self.diag_fail(t1.position::(),"floor"); -let d31=self.diag_rule(55,d30); -d9=self.diag_join(d9,d31); -let d32=self.diag_fail(t1.position::(),"pow"); -let d33=self.diag_rule(56,d32); -d9=self.diag_join(d9,d33); -let d34=self.diag_fail(t1.position::(),"log"); -let d35=self.diag_rule(57,d34); -d9=self.diag_join(d9,d35); -let d36=self.diag_fail(t1.position::(),"exp"); -let d37=self.diag_rule(58,d36); -d9=self.diag_join(d9,d37); -let d38=self.diag_rule(44,d9); -d2=self.diag_join(d2,d38); -let d39=self.diag_fail(t1.position::(),"toNum"); -let d40=self.diag_rule(59,d39); -d2=self.diag_join(d2,d40); -let d41=self.diag_fail(t1.position::(),"$"); -let d42=self.diag_rule(121,d41); -let d43=self.diag_rule(69,d42); -d2=self.diag_join(d2,d43); -let d44=self.diag_fail(t1.position::(),"len"); -let d45=self.diag_rule(65,d44); -d2=self.diag_join(d2,d45); -let d46=self.diag_fail(t1.position::(),"length"); -let d47=self.diag_rule(64,d46); -d2=self.diag_join(d2,d47); -let d48=self.diag_fail(t1.position::(),"external"); -let d49=self.diag_rule(32,d48); -d2=self.diag_join(d2,d49); -let d50=self.e502_c(t1.begin()).diag; -d2=self.diag_join(d2,d50); -let d51=self.diag_fail(t1.position::(),"$"); -let d52=self.diag_rule(121,d51); -d2=self.diag_join(d2,d52); -let mut d53=Diag::NONE; -let d54=self.diag_fail(t1.position::(),"call"); -d53=self.diag_join(d53,d54); -let d55=self.diag_fail(t1.begin().position::(),"internal"); -d53=self.diag_join(d53,d55); -let d56=self.diag_rule(35,d53); -let d57=self.diag_rule(36,d56); -d2=self.diag_join(d2,d57); -let d58=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d58); -let d59=self.diag_rule(60,d2); -let d60=self.diag_rule(41,d59); -let d61=self.diag_rule(40,d60); -self.display_failures(t1.consumed.max(t1.matched),&["'('", "'('", "'match'", "'match'", "'if'", "'if'", "'sin'", "'sin'", "'cos'", "'cos'", "'tan'", "'tan'", "'sqrt'", "'sqrt'", "'min'", "'min'", "'max'", "'max'", "'random'", "'random'", "'abs'", "'abs'", "'round'", "'round'", "'ceil'", "'ceil'", "'floor'", "'floor'", "'pow'", "'pow'", "'log'", "'log'", "'exp'", "'exp'", "'toNum'", "'toNum'", "'$'", "'$'", "'$'", "'$'", "'len'", "'len'", "'length'", "'length'", "'external'", "'external'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'('", "'('", "'('", "'?'", "':'", "')'", "'match'", "'{'", "','", "'}'", "'if'", "'else'", "'toNum'", "'.length'", "'len'", "'length'", "'external'", "'$'", "__CaptureSite", "NumberTermParser", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'('", "'?'", "':'", "')'", "'match'", "'{'", "','", "'}'", "'if'", "'('", "')'", "'{'", "'}'", "'else'", "'sin'", "'('", "')'", "'cos'", "'tan'", "'sqrt'", "'min'", "'max'", "'random'", "'abs'", "'round'", "'ceil'", "'floor'", "'pow'", "','", "'log'", "'exp'", "'toNum'", "'('", "','", "')'", "'.length'", "'('", "')'", "'len'", "'('", "')'", "'length'", "'('", "')'", "'external'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'", "'('", "')'"]);} -if t1.begin().begin().consumed.max(t1.begin().begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'sin'", "'('", "')'", "'cos'", "'('", "')'", "'tan'", "'('", "')'", "'sqrt'", "'('", "')'", "'min'", "'('", "')'", "'max'", "'('", "')'", "'random'", "'('", "')'", "'abs'", "'('", "')'", "'round'", "'('", "')'", "'ceil'", "'('", "')'", "'floor'", "'('", "')'", "'pow'", "'('", "','", "')'", "'log'", "'('", "')'", "'exp'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["NumberExpressionParser", "__CaptureSite"]);} -Step {ok:false,state,events:EventId(0),diag:d61} -} fn guard_e946_c(&mut self,state:State)->Step { if !self.can_replay(2) {return self.e946_c(state);} if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} @@ -19945,106 +18898,6 @@ if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {sel if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'internal'", "'('", "')'", "'('", "')'"]);} Step {ok:false,state,events:EventId(0),diag:d6} } -fn guard_e1038_c(&mut self,state:State)->Step { -if !self.can_replay(5) {return self.e1038_c(state);} -if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} -self.display_reach(state.consumed.max(state.matched)); -let t1=self.trivia_1::(state.entered(true,true)).state; -let mut d2=Diag::NONE; -let d3=self.diag_fail(t1.position::(),"("); -let d4=self.diag_rule(108,d3); -d2=self.diag_join(d2,d4); -let d5=self.diag_fail(t1.position::(),"match"); -let d6=self.diag_rule(109,d5); -d2=self.diag_join(d2,d6); -let d7=self.diag_fail(t1.position::(),"if"); -let d8=self.diag_rule(106,d7); -d2=self.diag_join(d2,d8); -let mut d9=Diag::NONE; -let d10=self.diag_fail(t1.position::(),"sin"); -let d11=self.diag_rule(45,d10); -d9=self.diag_join(d9,d11); -let d12=self.diag_fail(t1.position::(),"cos"); -let d13=self.diag_rule(46,d12); -d9=self.diag_join(d9,d13); -let d14=self.diag_fail(t1.position::(),"tan"); -let d15=self.diag_rule(47,d14); -d9=self.diag_join(d9,d15); -let d16=self.diag_fail(t1.position::(),"sqrt"); -let d17=self.diag_rule(48,d16); -d9=self.diag_join(d9,d17); -let d18=self.diag_fail(t1.position::(),"min"); -let d19=self.diag_rule(49,d18); -d9=self.diag_join(d9,d19); -let d20=self.diag_fail(t1.position::(),"max"); -let d21=self.diag_rule(50,d20); -d9=self.diag_join(d9,d21); -let d22=self.diag_fail(t1.position::(),"random"); -let d23=self.diag_rule(51,d22); -d9=self.diag_join(d9,d23); -let d24=self.diag_fail(t1.position::(),"abs"); -let d25=self.diag_rule(52,d24); -d9=self.diag_join(d9,d25); -let d26=self.diag_fail(t1.position::(),"round"); -let d27=self.diag_rule(53,d26); -d9=self.diag_join(d9,d27); -let d28=self.diag_fail(t1.position::(),"ceil"); -let d29=self.diag_rule(54,d28); -d9=self.diag_join(d9,d29); -let d30=self.diag_fail(t1.position::(),"floor"); -let d31=self.diag_rule(55,d30); -d9=self.diag_join(d9,d31); -let d32=self.diag_fail(t1.position::(),"pow"); -let d33=self.diag_rule(56,d32); -d9=self.diag_join(d9,d33); -let d34=self.diag_fail(t1.position::(),"log"); -let d35=self.diag_rule(57,d34); -d9=self.diag_join(d9,d35); -let d36=self.diag_fail(t1.position::(),"exp"); -let d37=self.diag_rule(58,d36); -d9=self.diag_join(d9,d37); -let d38=self.diag_rule(44,d9); -d2=self.diag_join(d2,d38); -let d39=self.diag_fail(t1.position::(),"toNum"); -let d40=self.diag_rule(59,d39); -d2=self.diag_join(d2,d40); -let d41=self.diag_fail(t1.position::(),"$"); -let d42=self.diag_rule(121,d41); -let d43=self.diag_rule(69,d42); -d2=self.diag_join(d2,d43); -let d44=self.diag_fail(t1.position::(),"len"); -let d45=self.diag_rule(65,d44); -d2=self.diag_join(d2,d45); -let d46=self.diag_fail(t1.position::(),"length"); -let d47=self.diag_rule(64,d46); -d2=self.diag_join(d2,d47); -let d48=self.diag_fail(t1.position::(),"external"); -let d49=self.diag_rule(32,d48); -d2=self.diag_join(d2,d49); -let d50=self.e502_c(t1.begin()).diag; -d2=self.diag_join(d2,d50); -let d51=self.diag_fail(t1.position::(),"$"); -let d52=self.diag_rule(121,d51); -d2=self.diag_join(d2,d52); -let mut d53=Diag::NONE; -let d54=self.diag_fail(t1.position::(),"call"); -d53=self.diag_join(d53,d54); -let d55=self.diag_fail(t1.begin().position::(),"internal"); -d53=self.diag_join(d53,d55); -let d56=self.diag_rule(35,d53); -let d57=self.diag_rule(36,d56); -d2=self.diag_join(d2,d57); -let d58=self.diag_fail(t1.position::(),"("); -d2=self.diag_join(d2,d58); -let d59=self.diag_rule(60,d2); -let d60=self.diag_rule(41,d59); -let d61=self.diag_rule(40,d60); -self.display_failures(t1.consumed.max(t1.matched),&["'('", "'('", "'match'", "'match'", "'if'", "'if'", "'sin'", "'sin'", "'cos'", "'cos'", "'tan'", "'tan'", "'sqrt'", "'sqrt'", "'min'", "'min'", "'max'", "'max'", "'random'", "'random'", "'abs'", "'abs'", "'round'", "'round'", "'ceil'", "'ceil'", "'floor'", "'floor'", "'pow'", "'pow'", "'log'", "'log'", "'exp'", "'exp'", "'toNum'", "'toNum'", "'$'", "'$'", "'$'", "'$'", "'len'", "'len'", "'length'", "'length'", "'external'", "'external'", "'$'", "'$'", "'call'", "'call'", "'call'", "'internal'", "'('", "'('", "'('", "'?'", "':'", "')'", "'match'", "'{'", "','", "'}'", "'if'", "'else'", "'toNum'", "'.length'", "'len'", "'length'", "'external'", "'$'", "__CaptureSite", "NumberTermParser", "__CaptureSite"]); -if t1.begin().consumed.max(t1.begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'('", "'?'", "':'", "')'", "'match'", "'{'", "','", "'}'", "'if'", "'('", "')'", "'{'", "'}'", "'else'", "'sin'", "'('", "')'", "'cos'", "'tan'", "'sqrt'", "'min'", "'max'", "'random'", "'abs'", "'round'", "'ceil'", "'floor'", "'pow'", "','", "'log'", "'exp'", "'toNum'", "'('", "','", "')'", "'.length'", "'('", "')'", "'len'", "'('", "')'", "'length'", "'('", "')'", "'external'", "'('", "')'", "'$'", "'call'", "'internal'", "'internal'", "'internal'", "'internal'", "'('", "')'", "'('", "')'"]);} -if t1.begin().begin().consumed.max(t1.begin().begin().matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["'sin'", "'('", "')'", "'cos'", "'('", "')'", "'tan'", "'('", "')'", "'sqrt'", "'('", "')'", "'min'", "'('", "')'", "'max'", "'('", "')'", "'random'", "'('", "')'", "'abs'", "'('", "')'", "'round'", "'('", "')'", "'ceil'", "'('", "')'", "'floor'", "'('", "')'", "'pow'", "'('", "','", "')'", "'log'", "'('", "')'", "'exp'", "'('", "')'"]);} -if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_failures(t1.consumed.max(t1.matched),&["NumberExpressionParser", "__CaptureSite"]);} -Step {ok:false,state,events:EventId(0),diag:d61} -} fn guard_e1042_c(&mut self,state:State)->Step { if !self.can_replay(2) {return self.e1042_c(state);} if !DIAG {return Step {ok:false,state,events:EventId(0),diag:Diag::NONE};} @@ -20073,28 +18926,94 @@ if state.consumed.max(state.matched)==t1.consumed.max(t1.matched) {self.display_ Step {ok:false,state,events:EventId(0),diag:d2} } fn token_0(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ -self.number::(state,label) +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"+",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"-",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:1,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:".",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:".",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:1,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:1,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"e",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"E",min:0,max:0,children:&[]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"+",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"-",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:1,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} };if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} fn token_1(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ -self.identifier::(state,label) +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} };if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} fn token_2(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ -self.scan::(state,"TinyExpressionP4::STRING",label) -};let _=display;out} +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\"",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\\",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::ANY,text:"",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::EXCEPT,text:"\"\\",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\"",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"'",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\\",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::ANY,text:"",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::EXCEPT,text:"'\\",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"'",min:0,max:0,children:&[]}]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} fn token_3(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ -self.scan::(state,"TinyExpressionP4::CODE_START",label) -};let _=display;out} +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::BOL,text:"",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"```",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:":",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:".",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r\n",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\n",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::EOF,text:"",min:0,max:0,children:&[]}]}]}]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} fn token_4(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ -self.until::(state,"```","'```'") +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::NOT,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"```",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::ANY,text:"",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::LOOK,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"```",min:0,max:0,children:&[]}]}]}]}]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} };if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} fn token_5(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ -self.scan::(state,"TinyExpressionP4::CODE_END",label) -};let _=display;out} +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::BOL,text:"",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"```",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r\n",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\n",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::EOF,text:"",min:0,max:0,children:&[]}]}]}]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} fn token_6(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ -self.scan::(state,"TinyExpressionP4::LONG_CODE_BLOCK",label) -};let _=display;out} +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::BOL,text:"",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::CAPTURE,text:"fence",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:4,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"`",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:":",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:".",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r\n",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\n",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::NOT,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::BOL,text:"",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::BACKREF,text:"fence",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::EOL,text:"",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::ANY,text:"",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::BOL,text:"",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::BACKREF,text:"fence",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r\n",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\n",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::EOF,text:"",min:0,max:0,children:&[]}]}]}]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} fn token_7(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ -self.eof::(state,label) +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::EOF,text:"",min:0,max:0,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_8(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"+",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"-",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:1,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:".",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:".",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:1,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:1,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"e",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"E",min:0,max:0,children:&[]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"+",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"-",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:1,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_9(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_10(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_11(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r\n",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\n",min:0,max:0,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_12(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_13(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:".",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_14(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_15(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_16(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r\n",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\n",min:0,max:0,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_17(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\"",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\\",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::ANY,text:"",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::EXCEPT,text:"\"\\",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\"",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"'",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\\",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::ANY,text:"",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::EXCEPT,text:"'\\",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"'",min:0,max:0,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_18(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::BOL,text:"",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"```",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:":",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:".",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r\n",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\n",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::EOF,text:"",min:0,max:0,children:&[]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_19(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::NOT,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"```",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::ANY,text:"",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::LOOK,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"```",min:0,max:0,children:&[]}]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_20(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::BOL,text:"",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"```",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r\n",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\n",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::EOF,text:"",min:0,max:0,children:&[]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_21(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::BOL,text:"",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::CAPTURE,text:"fence",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:4,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"`",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:":",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:".",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r\n",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\n",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::NOT,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::BOL,text:"",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::BACKREF,text:"fence",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::EOL,text:"",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::ANY,text:"",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::BOL,text:"",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::BACKREF,text:"fence",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r\n",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\n",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::EOF,text:"",min:0,max:0,children:&[]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_22(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_23(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_24(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r\n",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\n",min:0,max:0,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_25(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_26(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:".",min:0,max:0,children:&[]},lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::REPEAT,text:"",min:0,max:-1,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_27(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:48,max:57,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_28(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:97,max:122,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::RANGE,text:"",min:65,max:90,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"_",min:0,max:0,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} +};if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} +fn token_29(&mut self,state:State,label:&'static str,display:&'static str)->Step {let _=label;let out={ +let start=state.position::();let end=lexical_program::LexicalExpression {op:lexical_program::Op::SCOPE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::CHOICE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r\n",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\r",min:0,max:0,children:&[]}]},lexical_program::LexicalExpression {op:lexical_program::Op::SEQUENCE,text:"",min:0,max:0,children:&[lexical_program::LexicalExpression {op:lexical_program::Op::LITERAL,text:"\n",min:0,max:0,children:&[]}]}]}]}.match_at(self.text,start);let end=if state.invert {if end.is_none() {Some(start)} else {None}} else {end};match end {Some(end)=>{let mut next=state;if end>start {next.advance::(end-start);}let mut step=Step::yes(next);step.events=self.event(Event::Token {text_span:None,content_span:None,expr:usize::MAX,rule:usize::MAX,span:[start,end]});step},None=>self.fail(state,start,label)} };if !out.ok {self.display_fail(state.consumed.max(state.matched),display);}out} fn trivia_0(&mut self,state:State)->Step { self.display_reach(state.consumed.max(state.matched));let mut out=Step::yes(state);loop {let before=out.state.position::(); diff --git a/rust/tinyexpression-rs/src/generated/ubnfc/runtime.rs b/rust/tinyexpression-rs/src/generated/ubnfc/runtime.rs index 9e558923..77e0018e 100644 --- a/rust/tinyexpression-rs/src/generated/ubnfc/runtime.rs +++ b/rust/tinyexpression-rs/src/generated/ubnfc/runtime.rs @@ -68,6 +68,8 @@ pub(crate) enum Event { span: Span, child: EventId, wrap: bool, + /// D-078: 意味値を持つ選択の text だけの候補。一致範囲の字句(空でも)を 1 つの値にする。 + text: bool, }, Capture { token_extent: bool, @@ -161,9 +163,14 @@ impl PackedEvent { p.w[0] = w32(a.0); p.w[1] = w32(b.0); } - Event::Values { span, child, wrap } => { + Event::Values { + span, + child, + wrap, + text, + } => { p.tag = EV_VALUES; - p.flags = wrap as u8; + p.flags = wrap as u8 | (text as u8) << 1; p.w[..3].copy_from_slice(&[w32(span[0]), w32(span[1]), w32(child.0)]); } Event::Capture { @@ -236,7 +243,8 @@ impl PackedEvent { EV_VALUES => Event::Values { span: span(0), child: EventId(w[2] as usize), - wrap: self.flags != 0, + wrap: self.flags & 1 != 0, + text: self.flags & 2 != 0, }, EV_CAPTURE => Event::Capture { token_extent: self.flags != 0, @@ -448,6 +456,9 @@ pub(crate) struct Session<'a, const DIAG: bool> { effect_bytes: usize, mapping_depth: usize, mapping_anchor: Option, + /// #86: いま値を組み立てている意味値の領域(`Values{text:false}`)の入れ子の深さ。 + /// 写像される規則の本体に入るたびに 0 から数え直す。 + value_region: u32, /// 回復ごとの公開候補(最遠位置 byte, label)。`Event::Recovery::hints` が索く。 recovery_hints: Vec)>>, } @@ -692,6 +703,7 @@ impl<'a, const DIAG: bool> Session<'a, DIAG> { effect_bytes: 0, mapping_depth: 0, mapping_anchor: None, + value_region: 0, recovery_hints: Vec::new(), recovery_events: Vec::new(), } @@ -1438,11 +1450,13 @@ if name.is_empty() self.text_values(caps, sites, out); } /// node 変換の field 値。出現ごとに子の値を構築し、値が無く空でない出現は字句 Text にする。 + /// `text_sites` は中身が text だけの site で、出現 1 つが一致範囲の字句 1 つになる(#89、D-032)。 /// `fallback` は leaf 型(Text を leaf node に昇格する recipe)。 pub fn node_values( &mut self, caps: &[Cap], sites: &[usize], + text_sites: &[usize], fallback: Option, out: &mut Vec, ) -> Result<(), String> { @@ -1451,7 +1465,12 @@ if name.is_empty() continue; } let start = out.len(); - self.build_values_into(child, out)?; + if text_sites.contains(&site) && span[0] != span[1] && !self.has_recovery(child) { + let text = self.semantic_text(child, span); + out.push(text); + } else { + self.build_values_into(child, out)?; + } if out.len() == start && span[0] != span[1] && !self.has_recovery(child) @@ -1776,6 +1795,125 @@ if name.is_empty() } self.give_stack(stack); } +} + +pub mod lexical_program { +use std::collections::HashMap; + +#[allow(clippy::upper_case_acronyms)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Op { + LITERAL, + ANY, + EOF, + BOF, + BOL, + EOL, + RANGE, + EXCEPT, + SEQUENCE, + CHOICE, + REPEAT, + LOOK, + NOT, + CAPTURE, + BACKREF, + SCOPE, +} + +#[derive(Clone, Debug)] +pub struct LexicalExpression { + pub op: Op, + pub text: &'static str, + pub min: i32, + pub max: i32, + pub children: &'static [LexicalExpression], +} + +impl LexicalExpression { + pub fn match_at(&self, source: &str, start: usize) -> Option { + self.run(source, start, &mut HashMap::new()) + } + fn run<'a>( + &self, + s: &'a str, + p: usize, + bindings: &mut HashMap<&'static str, &'a str>, + ) -> Option { + let before = bindings.clone(); + let end = self.eval(s, p, bindings); + if end.is_none() { + *bindings = before; + } + end + } + fn eval<'a>( + &self, + s: &'a str, + p: usize, + bindings: &mut HashMap<&'static str, &'a str>, + ) -> Option { + match self.op { + Op::LITERAL => s[p..].starts_with(self.text).then_some(p + self.text.len()), + Op::ANY => s[p..].chars().next().map(|c| p + c.len_utf8()), + Op::EOF => (p == s.len()).then_some(p), + Op::BOF => (p == 0).then_some(p), + Op::BOL => { + (p == 0 || matches!(s.as_bytes().get(p - 1), Some(b'\r' | b'\n'))).then_some(p) + } + Op::EOL => { + (p == s.len() || matches!(s.as_bytes().get(p), Some(b'\r' | b'\n'))).then_some(p) + } + Op::RANGE => s[p..] + .chars() + .next() + .filter(|c| (*c as i32) >= self.min && (*c as i32) <= self.max) + .map(|c| p + c.len_utf8()), + Op::EXCEPT => s[p..] + .chars() + .next() + .filter(|c| !self.text.contains(*c)) + .map(|c| p + c.len_utf8()), + Op::SEQUENCE => self + .children + .iter() + .try_fold(p, |p, child| child.run(s, p, bindings)), + Op::CHOICE => self + .children + .iter() + .find_map(|child| child.run(s, p, bindings)), + Op::REPEAT => { + let mut end = p; + let mut count = 0; + while self.max < 0 || count < self.max { + let Some(next) = self.children[0].run(s, end, bindings) else { + break; + }; + count += 1; + assert!(next != end || self.max >= 0, "nullable lexical repeat"); + end = next; + } + (count >= self.min).then_some(end) + } + Op::LOOK | Op::NOT => { + let matched = self.children[0].run(s, p, &mut bindings.clone()).is_some(); + (matched == (self.op == Op::LOOK)).then_some(p) + } + Op::CAPTURE => { + let end = self.children[0].run(s, p, bindings)?; + bindings.insert(self.text, &s[p..end]); + Some(end) + } + Op::BACKREF => bindings + .get(self.text) + .filter(|text| s[p..].starts_with(**text)) + .map(|text| p + text.len()), + Op::SCOPE => self.children[0].run(s, p, &mut HashMap::new()), + } + } +} + + } /// 統合 DFA の bitset 語数(literal 98 個)。0 なら cache を作らない。 const LEX_WORDS:usize=2; @@ -3097,11 +3235,11 @@ const HAS_RECOVERY:bool=false; const SCOPE_MODES:&[&str]=&["lexical"]; const HAS_SCOPE:bool=true; const RULES:&[&str]=&["TinyExpressionP4::Formula", "TinyExpressionP4::CodeBlock", "TinyExpressionP4::ImportDeclaration", "TinyExpressionP4::ClassName", "TinyExpressionP4::VariableDeclaration", "TinyExpressionP4::NumberVariableDeclaration", "TinyExpressionP4::StringVariableDeclaration", "TinyExpressionP4::BooleanVariableDeclaration", "TinyExpressionP4::ObjectVariableDeclaration", "TinyExpressionP4::TypeHint", "TinyExpressionP4::NumberTypeHint", "TinyExpressionP4::StringTypeHint", "TinyExpressionP4::BooleanTypeHint", "TinyExpressionP4::ObjectTypeHint", "TinyExpressionP4::OnlyIfAbsent", "TinyExpressionP4::Description", "TinyExpressionP4::Annotation", "TinyExpressionP4::AnnotationParameters", "TinyExpressionP4::AnnotationParameter", "TinyExpressionP4::MethodDeclaration", "TinyExpressionP4::NumberMethodDeclaration", "TinyExpressionP4::StringMethodDeclaration", "TinyExpressionP4::BooleanMethodDeclaration", "TinyExpressionP4::ObjectMethodDeclaration", "TinyExpressionP4::MethodParameters", "TinyExpressionP4::MethodParameter", "TinyExpressionP4::NumberReturnType", "TinyExpressionP4::StringReturnType", "TinyExpressionP4::BooleanReturnType", "TinyExpressionP4::ObjectReturnType", "TinyExpressionP4::ReturnType", "TinyExpressionP4::ExternalBooleanInvocation", "TinyExpressionP4::ExternalNumberInvocation", "TinyExpressionP4::ExternalStringInvocation", "TinyExpressionP4::ExternalObjectInvocation", "TinyExpressionP4::MethodInvocationHeader", "TinyExpressionP4::MethodInvocation", "TinyExpressionP4::ArgumentTernary", "TinyExpressionP4::ArgumentExpression", "TinyExpressionP4::Arguments", "TinyExpressionP4::NumberExpression", "TinyExpressionP4::NumberTerm", "TinyExpressionP4::AddOp", "TinyExpressionP4::MulOp", "TinyExpressionP4::MathFunction", "TinyExpressionP4::SinFunction", "TinyExpressionP4::CosFunction", "TinyExpressionP4::TanFunction", "TinyExpressionP4::SqrtFunction", "TinyExpressionP4::MinFunction", "TinyExpressionP4::MaxFunction", "TinyExpressionP4::RandomFunction", "TinyExpressionP4::AbsFunction", "TinyExpressionP4::RoundFunction", "TinyExpressionP4::CeilFunction", "TinyExpressionP4::FloorFunction", "TinyExpressionP4::PowFunction", "TinyExpressionP4::LogFunction", "TinyExpressionP4::ExpFunction", "TinyExpressionP4::ToNumFunction", "TinyExpressionP4::NumberFactor", "TinyExpressionP4::ToUpperCaseFunction", "TinyExpressionP4::ToLowerCaseFunction", "TinyExpressionP4::TrimFunction", "TinyExpressionP4::LengthFunction", "TinyExpressionP4::LenFunction", "TinyExpressionP4::ToUpperCaseDotMethod", "TinyExpressionP4::ToLowerCaseDotMethod", "TinyExpressionP4::TrimDotMethod", "TinyExpressionP4::LengthDotMethod", "TinyExpressionP4::StartsWithFunction", "TinyExpressionP4::EndsWithFunction", "TinyExpressionP4::ContainsFunction", "TinyExpressionP4::InMethod", "TinyExpressionP4::StartsWithDotMethod", "TinyExpressionP4::EndsWithDotMethod", "TinyExpressionP4::ContainsDotMethod", "TinyExpressionP4::StringPredicateReceiver", "TinyExpressionP4::IsPresentFunction", "TinyExpressionP4::InTimeRangeFunction", "TinyExpressionP4::InDayTimeRangeFunction", "TinyExpressionP4::DayOfWeek", "TinyExpressionP4::SliceBaseReceiver", "TinyExpressionP4::SliceStartIndex", "TinyExpressionP4::SliceEndIndex", "TinyExpressionP4::SliceStepIndex", "TinyExpressionP4::SliceBaseExpression", "TinyExpressionP4::SliceNestedExpression", "TinyExpressionP4::SliceExpression", "TinyExpressionP4::StringExpression", "TinyExpressionP4::ParenthesizedStringExpression", "TinyExpressionP4::StringTerm", "TinyExpressionP4::StringCastVariable", "TinyExpressionP4::StringTypedVariable", "TinyExpressionP4::BooleanExpression", "TinyExpressionP4::BooleanAndExpression", "TinyExpressionP4::BooleanXorExpression", "TinyExpressionP4::NotExpression", "TinyExpressionP4::BooleanComparable", "TinyExpressionP4::BooleanEqualityExpression", "TinyExpressionP4::BooleanFactor", "TinyExpressionP4::StringComparisonExpression", "TinyExpressionP4::EqualityOp", "TinyExpressionP4::ComparisonExpression", "TinyExpressionP4::CompareOp", "TinyExpressionP4::ObjectExpression", "TinyExpressionP4::IfExpression", "TinyExpressionP4::BranchExpression", "TinyExpressionP4::TernaryExpression", "TinyExpressionP4::NumberMatchExpression", "TinyExpressionP4::NumberCase", "TinyExpressionP4::NumberDefaultCase", "TinyExpressionP4::NumberCaseValue", "TinyExpressionP4::StringMatchExpression", "TinyExpressionP4::StringCase", "TinyExpressionP4::StringDefaultCase", "TinyExpressionP4::StringCaseValue", "TinyExpressionP4::BooleanMatchExpression", "TinyExpressionP4::BooleanCase", "TinyExpressionP4::BooleanDefaultCase", "TinyExpressionP4::BooleanCaseValue", "TinyExpressionP4::VariableRef", "TinyExpressionP4::TypeKeyword", "TinyExpressionP4::Expression"]; -const EXPRESSIONS:&[&str]=&["expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1021:1192:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1021:1046:body/0/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1023:1032:body/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1047:1077:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1049:1066:body/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1078:1115:body/2/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1080:1099:body/2/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1120:1134:body/3/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1122:1132:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1135:1145:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1158:1188:body/5/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1160:1177:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1189:1192:body/6/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1625:1676:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1625:1676:body/0/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1627:1674:body/0/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1627:1642:body/0/0/0/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1645:1674:body/0/0/1/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1645:1655:body/0/0/1/0/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1656:1665:body/0/0/1/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1666:1674:body/0/0/1/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2132:2215:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2132:2140:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2141:2150:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2162:2188:body/2/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2164:2178:body/2/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2164:2167:body/2/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2168:2178:body/2/0/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2189:2193:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2194:2204:body/4/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2212:2215:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2286:2327:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2286:2296:body/0/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2303:2327:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2305:2319:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2305:2308:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2309:2319:body/1/0/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2478:2600:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2478:2503:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2510:2535:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2542:2568:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2575:2600:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2773:2949:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2773:2795:body/0/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2775:2793:body/0/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2775:2785:body/0/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2788:2793:body/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2800:2803:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2804:2814:body/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2828:2846:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2830:2844:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2851:2915:body/4/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2853:2906:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2853:2858:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2859:2889:body/4/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2861:2873:body/4/0/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2890:2906:body/4/0/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2920:2941:body/5/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2922:2933:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2946:2949:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3122:3298:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3122:3144:body/0/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3124:3142:body/0/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3124:3134:body/0/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3137:3142:body/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3149:3152:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3153:3163:body/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3177:3195:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3179:3193:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3200:3264:body/4/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3202:3255:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3202:3207:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3208:3238:body/4/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3210:3222:body/4/0/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3239:3255:body/4/0/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3269:3290:body/5/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3271:3282:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3295:3298:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3473:3651:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3473:3495:body/0/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3475:3493:body/0/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3475:3485:body/0/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3488:3493:body/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3500:3503:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3504:3514:body/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3528:3547:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3530:3545:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3552:3617:body/4/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3554:3608:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3554:3559:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3560:3590:body/4/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3562:3574:body/4/0/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3591:3608:body/4/0/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3622:3643:body/5/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3624:3635:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3648:3651:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3824:4000:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3824:3846:body/0/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3826:3844:body/0/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3826:3836:body/0/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3839:3844:body/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3851:3854:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3855:3865:body/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3879:3897:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3881:3895:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3902:3966:body/4/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3904:3957:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3904:3909:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3910:3940:body/4/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3912:3924:body/4/0/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3941:3957:body/4/0/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3971:3992:body/5/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3973:3984:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3997:4000:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4019:4123:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4019:4027:body/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4021:4025:body/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4028:4123:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4030:4121:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4030:4038:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4041:4049:body/1/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4052:4060:body/1/0/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4063:4071:body/1/0/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4078:4087:body/1/0/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4090:4099:body/1/0/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4102:4110:body/1/0/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4113:4121:body/1/0/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4148:4200:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4148:4156:body/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4150:4154:body/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4157:4200:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4159:4198:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4159:4167:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4170:4178:body/1/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4181:4188:body/1/0/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4191:4198:body/1/0/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4224:4256:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4224:4232:body/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4226:4230:body/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4233:4256:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4235:4254:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4235:4243:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4246:4254:body/1/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4281:4315:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4281:4289:body/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4283:4287:body/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4290:4315:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4292:4313:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4292:4301:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4304:4313:body/1/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4339:4371:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4339:4347:body/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4341:4345:body/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4348:4371:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4350:4369:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4350:4358:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4361:4369:body/1/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4423:4442:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4423:4427:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4428:4433:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4434:4442:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4464:4488:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4464:4477:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4478:4481:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4482:4488:body/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4509:4556:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4509:4512:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4513:4523:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4524:4527:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4528:4552:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4530:4550:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4553:4556:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4586:4633:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4586:4605:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4606:4633:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4608:4631:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4608:4611:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4612:4631:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4662:4687:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4662:4672:body/0/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4673:4676:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4677:4687:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4721:4835:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4721:4744:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4751:4774:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4781:4805:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4812:4835:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5016:5161:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5016:5032:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5033:5043:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5060:5063:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5070:5102:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5072:5088:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5107:5110:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5115:5118:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5125:5141:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5158:5161:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5342:5487:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5342:5358:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5359:5369:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5386:5389:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5396:5428:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5398:5414:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5433:5436:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5441:5444:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5451:5467:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5484:5487:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5670:5817:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5670:5687:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5688:5698:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5715:5718:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5725:5757:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5727:5743:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5762:5765:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5770:5773:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5780:5797:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5814:5817:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5998:6143:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5998:6014:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6015:6025:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6042:6045:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6052:6084:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6054:6070:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6089:6092:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6097:6100:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6107:6123:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6140:6143:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6220:6275:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6220:6235:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6244:6275:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6246:6265:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6246:6249:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6250:6265:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6389:6440:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6389:6392:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6393:6403:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6415:6440:body/2/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6417:6432:body/2/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6417:6421:body/2/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6422:6432:body/2/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6467:6485:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6467:6475:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6478:6485:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6511:6519:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6511:6519:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6546:6555:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6546:6555:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6581:6589:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6581:6589:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6609:6683:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6609:6625:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6628:6644:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6647:6664:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6667:6683:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7009:7175:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7009:7019:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7020:7044:body/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7022:7042:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7022:7033:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7034:7042:body/1/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7036:7040:body/1/0/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7045:7062:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7067:7074:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7069:7072:body/3/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7079:7143:body/4/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7081:7135:body/4/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7081:7116:body/4/0/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7081:7090:body/4/0/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7102:7105:body/4/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7106:7116:body/4/0/0/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7125:7135:body/4/0/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7148:7151:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7152:7171:body/6/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7154:7163:body/6/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7172:7175:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7287:7466:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7287:7297:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7302:7365:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7304:7363:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7304:7353:body/1/0/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7304:7328:body/1/0/0/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7306:7326:body/1/0/0/0/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7306:7317:body/1/0/0/0/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7318:7326:body/1/0/0/0/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7320:7324:body/1/0/0/0/0/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7329:7345:body/1/0/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7346:7353:body/1/0/0/2/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7348:7351:body/1/0/0/2/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7356:7363:body/1/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7358:7361:body/1/0/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7370:7434:body/2/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7372:7426:body/2/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7372:7407:body/2/0/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7372:7381:body/2/0/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7393:7396:body/2/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7397:7407:body/2/0/0/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7416:7426:body/2/0/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7439:7442:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7443:7462:body/4/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7445:7454:body/4/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7463:7466:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7578:7743:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7578:7588:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7589:7613:body/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7591:7611:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7591:7602:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7603:7611:body/1/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7605:7609:body/1/0/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7614:7630:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7635:7642:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7637:7640:body/3/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7647:7711:body/4/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7649:7703:body/4/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7649:7684:body/4/0/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7649:7658:body/4/0/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7670:7673:body/4/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7674:7684:body/4/0/0/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7693:7703:body/4/0/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7716:7719:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7720:7739:body/6/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7722:7731:body/6/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7740:7743:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7855:8020:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7855:7865:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7866:7890:body/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7868:7888:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7868:7879:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7880:7888:body/1/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7882:7886:body/1/0/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7891:7907:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7912:7919:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7914:7917:body/3/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7924:7988:body/4/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7926:7980:body/4/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7926:7961:body/4/0/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7926:7935:body/4/0/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7947:7950:body/4/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7951:7961:body/4/0/0/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7970:7980:body/4/0/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7993:7996:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7997:8016:body/6/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7999:8008:body/6/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8017:8020:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8225:8259:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8225:8246:body/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8225:8231:body/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8232:8246:body/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8234:8244:body/0/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8249:8259:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8362:8429:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8362:8384:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8385:8395:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8402:8405:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8406:8425:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8408:8417:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8426:8429:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8596:8676:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8596:8613:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8625:8628:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8629:8645:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8656:8659:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8660:8676:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8772:8885:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8772:8787:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8801:8821:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8835:8861:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8875:8885:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8955:9016:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8955:8973:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8982:9016:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8984:9006:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8984:8987:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8988:9006:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9211:9259:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9211:9221:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9228:9259:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9230:9250:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9230:9235:body/1/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9240:9250:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9366:9418:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9366:9378:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9385:9418:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9387:9409:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9387:9392:body/1/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9397:9409:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9434:9443:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9434:9437:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9440:9443:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9458:9467:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9458:9461:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9464:9467:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9575:9829:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9575:9586:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9593:9604:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9611:9622:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9629:9641:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9648:9659:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9666:9677:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9684:9698:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9705:9716:body/7/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9723:9736:body/8/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9743:9755:body/9/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9762:9775:body/10/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9782:9793:body/11/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9800:9811:body/12/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9818:9829:body/13/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9885:9922:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9885:9890:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9891:9894:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9895:9913:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9919:9922:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9978:10015:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9978:9983:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9984:9987:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9988:10006:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10012:10015:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10071:10108:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10071:10076:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10077:10080:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10081:10099:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10105:10108:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10166:10204:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10166:10172:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10173:10176:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10177:10195:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10201:10204:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10268:10340:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10268:10273:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10274:10277:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10278:10296:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10304:10336:body/3/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10306:10328:body/3/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10306:10309:body/3/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10310:10328:body/3/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10337:10340:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10404:10476:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10404:10409:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10410:10413:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10414:10432:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10440:10472:body/3/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10442:10464:body/3/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10442:10445:body/3/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10446:10464:body/3/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10473:10476:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10524:10540:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10524:10532:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10533:10536:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10537:10540:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10596:10633:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10596:10601:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10602:10605:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10606:10624:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10630:10633:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10693:10732:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10693:10700:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10701:10704:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10705:10723:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10729:10732:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10790:10828:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10790:10796:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10797:10800:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10801:10819:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10825:10828:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10888:10927:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10888:10895:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10896:10899:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10900:10918:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10924:10927:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10994:11065:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10994:10999:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11000:11003:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11004:11022:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11029:11032:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11033:11051:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11062:11065:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11121:11158:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11121:11126:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11127:11130:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11131:11149:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11155:11158:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11214:11251:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11214:11219:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11220:11223:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11224:11242:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11248:11251:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11405:11481:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11405:11412:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11413:11416:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11417:11433:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11441:11444:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11445:11463:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11478:11481:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11510:11790:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11510:11527:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11534:11555:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11562:11574:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11581:11593:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11600:11613:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11620:11635:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11642:11653:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11660:11674:body/7/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11681:11705:body/8/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11712:11718:body/9/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11725:11736:body/10/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11743:11759:body/11/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11766:11790:body/12/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11766:11769:body/12/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11770:11786:body/12/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11787:11790:body/12/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11943:11988:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11943:11956:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11957:11960:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11961:11977:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11985:11988:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12062:12107:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12062:12075:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12076:12079:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12080:12096:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12104:12107:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12167:12205:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12167:12173:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12174:12177:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12178:12194:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12202:12205:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12269:12309:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12269:12277:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12278:12281:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12282:12298:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12306:12309:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12370:12407:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12370:12375:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12376:12379:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12380:12396:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12404:12407:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12732:12773:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12732:12743:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12751:12765:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12766:12769:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12770:12773:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12851:12892:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12851:12862:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12870:12884:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12885:12888:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12889:12892:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12956:12990:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12956:12967:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12975:12982:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12983:12986:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12987:12990:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13058:13094:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13058:13069:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13077:13086:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13087:13090:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13091:13094:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13314:13428:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13314:13326:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13327:13330:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13331:13347:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13355:13358:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13359:13375:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13390:13424:body/5/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13392:13412:body/5/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13392:13395:body/5/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13396:13412:body/5/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13425:13428:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13506:13618:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13506:13516:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13517:13520:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13521:13537:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13545:13548:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13549:13565:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13580:13614:body/5/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13582:13602:body/5/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13582:13585:body/5/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13586:13602:body/5/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13615:13618:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13696:13808:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13696:13706:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13707:13710:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13711:13727:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13735:13738:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13739:13755:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13770:13804:body/5/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13772:13792:body/5/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13772:13775:body/5/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13776:13792:body/5/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13805:13808:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13874:13977:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13874:13890:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13898:13903:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13904:13907:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13908:13924:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13937:13973:body/4/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13939:13959:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13939:13942:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13943:13959:body/4/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13974:13977:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14142:14260:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14142:14165:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14173:14186:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14187:14190:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14191:14207:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14222:14256:body/4/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14224:14244:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14224:14227:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14228:14244:body/4/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14257:14260:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14342:14458:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14342:14365:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14373:14384:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14385:14388:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14389:14405:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14420:14454:body/4/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14422:14442:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14422:14425:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14426:14442:body/4/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14455:14458:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14540:14656:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14540:14563:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14571:14582:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14583:14586:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14587:14603:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14618:14652:body/4/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14620:14640:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14620:14623:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14624:14640:body/4/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14653:14656:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14690:14760:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14690:14709:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14712:14731:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14734:14746:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14749:14760:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14909:14947:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14909:14920:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14921:14924:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14925:14936:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14944:14947:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15111:15190:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15111:15124:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15125:15128:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15129:15145:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15157:15160:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15161:15177:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15187:15190:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15301:15429:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15301:15317:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15318:15321:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15322:15331:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15342:15345:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15346:15362:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15374:15377:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15378:15387:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15396:15399:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15400:15416:body/8/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15426:15429:body/9/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15449:15531:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15449:15457:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15460:15469:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15472:15483:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15486:15496:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15499:15507:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15510:15520:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15523:15531:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15699:15968:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15699:15723:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15730:15749:body/1/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15730:15733:body/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15734:15745:body/1/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15746:15749:body/1/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15756:15785:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15792:15811:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15814:15833:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15836:15848:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15855:15875:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15878:15898:body/7/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15901:15914:body/8/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15921:15927:body/9/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15934:15945:body/10/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15952:15968:body/11/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16484:16500:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16484:16500:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16525:16541:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16525:16541:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16566:16582:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16566:16582:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16674:17279:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16674:16777:body/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16674:16691:body/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16699:16702:body/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16703:16718:body/0/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16726:16729:body/0/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16730:16743:body/0/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16749:16752:body/0/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16753:16767:body/0/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16774:16777:body/0/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16784:16862:body/1/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16784:16801:body/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16809:16812:body/1/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16813:16828:body/1/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16836:16839:body/1/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16840:16853:body/1/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16859:16862:body/1/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16869:16953:body/2/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16869:16886:body/2/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16894:16897:body/2/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16898:16913:body/2/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16921:16924:body/2/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16925:16928:body/2/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16929:16943:body/2/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16950:16953:body/2/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16960:17019:body/3/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16960:16977:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16985:16988:body/3/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16989:17004:body/3/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17012:17015:body/3/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17016:17019:body/3/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17026:17106:body/4/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17026:17043:body/4/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17051:17054:body/4/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17055:17058:body/4/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17059:17072:body/4/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17078:17081:body/4/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17082:17096:body/4/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17103:17106:body/4/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17113:17168:body/5/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17113:17130:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17138:17141:body/5/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17142:17145:body/5/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17146:17159:body/5/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17165:17168:body/5/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17175:17236:body/6/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17175:17192:body/6/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17200:17203:body/6/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17204:17207:body/6/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17208:17211:body/6/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17212:17226:body/6/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17233:17236:body/6/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17243:17279:body/7/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17243:17260:body/7/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17268:17271:body/7/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17272:17275:body/7/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17276:17279:body/7/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17373:17994:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17373:17478:body/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17373:17392:body/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17400:17403:body/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17404:17419:body/0/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17427:17430:body/0/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17431:17444:body/0/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17450:17453:body/0/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17454:17468:body/0/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17475:17478:body/0/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17485:17565:body/1/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17485:17504:body/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17512:17515:body/1/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17516:17531:body/1/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17539:17542:body/1/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17543:17556:body/1/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17562:17565:body/1/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17572:17658:body/2/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17572:17591:body/2/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17599:17602:body/2/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17603:17618:body/2/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17626:17629:body/2/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17630:17633:body/2/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17634:17648:body/2/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17655:17658:body/2/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17665:17726:body/3/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17665:17684:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17692:17695:body/3/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17696:17711:body/3/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17719:17722:body/3/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17723:17726:body/3/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17733:17815:body/4/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17733:17752:body/4/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17760:17763:body/4/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17764:17767:body/4/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17768:17781:body/4/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17787:17790:body/4/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17791:17805:body/4/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17812:17815:body/4/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17822:17879:body/5/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17822:17841:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17849:17852:body/5/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17853:17856:body/5/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17857:17870:body/5/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17876:17879:body/5/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17886:17949:body/6/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17886:17905:body/6/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17913:17916:body/6/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17917:17920:body/6/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17921:17924:body/6/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17925:17939:body/6/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17946:17949:body/6/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17956:17994:body/7/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17956:17975:body/7/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17983:17986:body/7/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17987:17990:body/7/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17991:17994:body/7/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18020:18063:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18020:18041:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18044:18063:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18264:18310:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18264:18274:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18281:18310:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18283:18301:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18283:18286:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18291:18301:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18350:18374:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18350:18353:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18354:18370:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18371:18374:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18581:18944:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18581:18602:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18609:18621:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18628:18646:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18653:18672:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18679:18694:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18701:18730:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18737:18761:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18768:18787:body/7/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18790:18809:body/8/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18812:18824:body/9/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18831:18851:body/10/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18854:18874:body/11/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18877:18890:body/12/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18897:18903:body/13/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18910:18921:body/14/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18928:18944:body/15/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19026:19072:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19026:19029:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19030:19053:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19032:19051:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19032:19040:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19043:19051:body/1/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19054:19057:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19058:19061:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19062:19072:body/4/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19162:19211:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19162:19165:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19166:19176:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19183:19187:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19188:19211:body/3/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19190:19209:body/3/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19190:19198:body/3/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19201:19209:body/3/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19442:19508:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19442:19462:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19469:19508:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19471:19499:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19471:19474:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19479:19499:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19645:19711:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19645:19665:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19672:19711:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19674:19702:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19674:19677:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19682:19702:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19848:19900:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19848:19861:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19868:19900:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19870:19891:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19870:19873:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19878:19891:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20038:20076:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20038:20043:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20044:20047:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20048:20065:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20073:20076:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20110:20542:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20110:20123:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20130:20142:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20149:20171:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20178:20203:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20210:20218:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20225:20244:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20251:20268:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20275:20292:body/7/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20299:20317:body/8/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20324:20340:body/9/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20347:20363:body/10/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20370:20387:body/11/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20394:20413:body/12/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20420:20442:body/13/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20449:20455:body/14/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20462:20469:body/15/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20476:20487:body/16/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20494:20510:body/17/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20517:20542:body/18/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20517:20520:body/18/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20521:20538:body/18/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20539:20542:body/18/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20636:20692:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20636:20653:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20660:20670:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20675:20692:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20775:20905:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20775:20800:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20814:20834:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20848:20874:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20888:20905:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21169:21223:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21169:21185:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21192:21202:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21207:21223:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21250:21261:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21250:21254:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21257:21261:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21345:21398:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21345:21361:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21368:21377:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21382:21398:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21424:21461:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21424:21428:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21431:21435:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21438:21442:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21445:21449:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21452:21455:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21458:21461:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21615:21785:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21615:21631:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21645:21661:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21675:21692:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21706:21730:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21744:21755:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21769:21785:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21960:22090:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21960:21964:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21965:21968:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21969:21986:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21998:22001:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22006:22009:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22010:22026:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22037:22040:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22045:22051:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22056:22059:body/8/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22060:22076:body/9/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22087:22090:body/10/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22172:22422:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22172:22192:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22206:22232:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22246:22271:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22285:22301:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22315:22332:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22346:22362:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22376:22392:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22406:22422:body/7/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22597:22695:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22597:22600:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22601:22618:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22630:22633:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22634:22650:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22661:22664:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22665:22681:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22692:22695:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22885:23003:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22885:22892:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22893:22896:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22903:22913:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22925:22954:body/3/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22927:22941:body/3/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22927:22930:body/3/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22931:22941:body/3/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22961:22964:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22965:22982:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23000:23003:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23078:23127:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23078:23095:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23107:23111:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23112:23127:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23211:23241:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23211:23220:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23221:23225:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23226:23241:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23321:23337:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23321:23337:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23452:23570:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23452:23459:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23460:23463:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23470:23480:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23492:23521:body/3/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23494:23508:body/3/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23494:23497:body/3/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23498:23508:body/3/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23528:23531:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23532:23549:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23567:23570:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23645:23694:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23645:23662:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23674:23678:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23679:23694:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23778:23808:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23778:23787:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23788:23792:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23793:23808:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23888:23904:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23888:23904:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24021:24142:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24021:24028:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24029:24032:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24039:24050:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24062:24092:body/3/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24064:24079:body/3/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24064:24067:body/3/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24068:24079:body/3/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24099:24102:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24103:24121:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24139:24142:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24219:24269:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24219:24236:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24248:24252:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24253:24269:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24355:24386:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24355:24364:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24365:24369:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24370:24386:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24468:24485:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24468:24485:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24698:24749:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24698:24701:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24702:24712:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24719:24749:body/2/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24721:24741:body/2/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24721:24729:body/2/0/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24723:24727:body/2/0/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24730:24741:body/2/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24771:24882:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24771:24779:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24782:24790:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24793:24800:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24803:24810:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24817:24825:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24828:24836:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24839:24848:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24851:24860:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24863:24871:body/8/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24874:24882:body/9/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25201:25377:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25201:25217:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25231:25248:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25262:25278:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25292:25308:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25322:25338:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25352:25377:body/5/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25352:25355:body/5/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25356:25366:body/5/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25374:25377:body/5/2/literal"]; -const BODIES:&[&str]=&["expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1021:1192:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1625:1676:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2132:2215:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2286:2327:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2478:2600:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2773:2949:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3122:3298:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3473:3651:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3824:4000:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4019:4123:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4148:4200:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4224:4256:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4281:4315:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4339:4371:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4423:4442:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4464:4488:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4509:4556:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4586:4633:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4662:4687:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4721:4835:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5016:5161:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5342:5487:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5670:5817:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5998:6143:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6220:6275:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6389:6440:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6467:6485:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6511:6519:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6546:6555:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6581:6589:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6609:6683:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7009:7175:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7287:7466:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7578:7743:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7855:8020:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8225:8259:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8362:8429:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8596:8676:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8772:8885:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8955:9016:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9211:9259:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9366:9418:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9434:9443:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9458:9467:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9575:9829:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9885:9922:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9978:10015:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10071:10108:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10166:10204:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10268:10340:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10404:10476:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10524:10540:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10596:10633:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10693:10732:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10790:10828:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10888:10927:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10994:11065:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11121:11158:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11214:11251:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11405:11481:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11510:11790:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11943:11988:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12062:12107:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12167:12205:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12269:12309:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12370:12407:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12732:12773:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12851:12892:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12956:12990:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13058:13094:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13314:13428:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13506:13618:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13696:13808:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13874:13977:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14142:14260:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14342:14458:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14540:14656:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14690:14760:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14909:14947:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15111:15190:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15301:15429:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15449:15531:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15699:15968:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16484:16500:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16525:16541:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16566:16582:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16674:17279:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17373:17994:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18020:18063:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18264:18310:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18350:18374:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18581:18944:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19026:19072:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19162:19211:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19442:19508:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19645:19711:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19848:19900:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20038:20076:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20110:20542:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20636:20692:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20775:20905:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21169:21223:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21250:21261:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21345:21398:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21424:21461:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21615:21785:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21960:22090:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22172:22422:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22597:22695:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22885:23003:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23078:23127:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23211:23241:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23321:23337:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23452:23570:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23645:23694:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23778:23808:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23888:23904:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24021:24142:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24219:24269:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24355:24386:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24468:24485:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24698:24749:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24771:24882:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25201:25377:body/choice"]; +const EXPRESSIONS:&[&str]=&["expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1007:1178:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1007:1032:body/0/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1009:1018:body/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1033:1063:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1035:1052:body/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1064:1101:body/2/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1066:1085:body/2/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1106:1120:body/3/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1108:1118:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1121:1131:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1144:1174:body/5/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1146:1163:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1175:1178:body/6/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1611:1662:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1611:1662:body/0/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1613:1660:body/0/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1613:1628:body/0/0/0/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1631:1660:body/0/0/1/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1631:1641:body/0/0/1/0/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1642:1651:body/0/0/1/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1652:1660:body/0/0/1/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2118:2201:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2118:2126:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2127:2136:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2148:2174:body/2/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2150:2164:body/2/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2150:2153:body/2/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2154:2164:body/2/0/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2175:2179:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2180:2190:body/4/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2198:2201:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2272:2313:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2272:2282:body/0/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2289:2313:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2291:2305:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2291:2294:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2295:2305:body/1/0/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2464:2586:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2464:2489:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2496:2521:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2528:2554:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2561:2586:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2759:2935:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2759:2781:body/0/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2761:2779:body/0/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2761:2771:body/0/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2774:2779:body/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2786:2789:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2790:2800:body/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2814:2832:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2816:2830:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2837:2901:body/4/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2839:2892:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2839:2844:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2845:2875:body/4/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2847:2859:body/4/0/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2876:2892:body/4/0/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2906:2927:body/5/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2908:2919:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2932:2935:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3108:3284:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3108:3130:body/0/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3110:3128:body/0/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3110:3120:body/0/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3123:3128:body/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3135:3138:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3139:3149:body/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3163:3181:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3165:3179:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3186:3250:body/4/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3188:3241:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3188:3193:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3194:3224:body/4/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3196:3208:body/4/0/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3225:3241:body/4/0/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3255:3276:body/5/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3257:3268:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3281:3284:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3459:3637:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3459:3481:body/0/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3461:3479:body/0/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3461:3471:body/0/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3474:3479:body/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3486:3489:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3490:3500:body/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3514:3533:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3516:3531:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3538:3603:body/4/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3540:3594:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3540:3545:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3546:3576:body/4/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3548:3560:body/4/0/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3577:3594:body/4/0/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3608:3629:body/5/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3610:3621:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3634:3637:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3810:3986:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3810:3832:body/0/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3812:3830:body/0/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3812:3822:body/0/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3825:3830:body/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3837:3840:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3841:3851:body/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3865:3883:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3867:3881:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3888:3952:body/4/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3890:3943:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3890:3895:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3896:3926:body/4/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3898:3910:body/4/0/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3927:3943:body/4/0/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3957:3978:body/5/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3959:3970:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3983:3986:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4005:4109:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4005:4013:body/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4007:4011:body/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4014:4109:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4016:4107:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4016:4024:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4027:4035:body/1/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4038:4046:body/1/0/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4049:4057:body/1/0/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4064:4073:body/1/0/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4076:4085:body/1/0/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4088:4096:body/1/0/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4099:4107:body/1/0/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4134:4186:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4134:4142:body/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4136:4140:body/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4143:4186:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4145:4184:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4145:4153:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4156:4164:body/1/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4167:4174:body/1/0/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4177:4184:body/1/0/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4210:4242:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4210:4218:body/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4212:4216:body/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4219:4242:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4221:4240:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4221:4229:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4232:4240:body/1/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4267:4301:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4267:4275:body/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4269:4273:body/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4276:4301:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4278:4299:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4278:4287:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4290:4299:body/1/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4325:4357:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4325:4333:body/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4327:4331:body/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4334:4357:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4336:4355:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4336:4344:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4347:4355:body/1/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4409:4428:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4409:4413:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4414:4419:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4420:4428:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4450:4474:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4450:4463:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4464:4467:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4468:4474:body/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4495:4542:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4495:4498:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4499:4509:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4510:4513:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4514:4538:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4516:4536:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4539:4542:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4572:4619:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4572:4591:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4592:4619:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4594:4617:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4594:4597:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4598:4617:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4648:4673:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4648:4658:body/0/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4659:4662:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4663:4673:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4707:4821:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4707:4730:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4737:4760:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4767:4791:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4798:4821:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5002:5147:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5002:5018:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5019:5029:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5046:5049:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5056:5088:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5058:5074:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5093:5096:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5101:5104:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5111:5127:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5144:5147:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5328:5473:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5328:5344:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5345:5355:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5372:5375:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5382:5414:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5384:5400:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5419:5422:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5427:5430:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5437:5453:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5470:5473:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5656:5803:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5656:5673:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5674:5684:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5701:5704:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5711:5743:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5713:5729:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5748:5751:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5756:5759:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5766:5783:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5800:5803:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5984:6129:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5984:6000:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6001:6011:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6028:6031:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6038:6070:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6040:6056:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6075:6078:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6083:6086:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6093:6109:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6126:6129:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6206:6261:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6206:6221:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6230:6261:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6232:6251:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6232:6235:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6236:6251:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6375:6426:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6375:6378:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6379:6389:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6401:6426:body/2/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6403:6418:body/2/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6403:6407:body/2/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6408:6418:body/2/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6453:6471:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6453:6461:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6464:6471:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6497:6505:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6497:6505:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6532:6541:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6532:6541:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6567:6575:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6567:6575:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6595:6669:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6595:6611:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6614:6630:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6633:6650:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6653:6669:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6995:7161:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6995:7005:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7006:7030:body/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7008:7028:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7008:7019:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7020:7028:body/1/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7022:7026:body/1/0/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7031:7048:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7053:7060:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7055:7058:body/3/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7065:7129:body/4/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7067:7121:body/4/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7067:7102:body/4/0/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7067:7076:body/4/0/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7088:7091:body/4/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7092:7102:body/4/0/0/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7111:7121:body/4/0/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7134:7137:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7138:7157:body/6/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7140:7149:body/6/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7158:7161:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7273:7452:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7273:7283:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7288:7351:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7290:7349:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7290:7339:body/1/0/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7290:7314:body/1/0/0/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7292:7312:body/1/0/0/0/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7292:7303:body/1/0/0/0/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7304:7312:body/1/0/0/0/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7306:7310:body/1/0/0/0/0/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7315:7331:body/1/0/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7332:7339:body/1/0/0/2/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7334:7337:body/1/0/0/2/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7342:7349:body/1/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7344:7347:body/1/0/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7356:7420:body/2/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7358:7412:body/2/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7358:7393:body/2/0/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7358:7367:body/2/0/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7379:7382:body/2/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7383:7393:body/2/0/0/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7402:7412:body/2/0/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7425:7428:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7429:7448:body/4/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7431:7440:body/4/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7449:7452:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7564:7729:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7564:7574:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7575:7599:body/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7577:7597:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7577:7588:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7589:7597:body/1/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7591:7595:body/1/0/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7600:7616:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7621:7628:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7623:7626:body/3/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7633:7697:body/4/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7635:7689:body/4/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7635:7670:body/4/0/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7635:7644:body/4/0/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7656:7659:body/4/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7660:7670:body/4/0/0/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7679:7689:body/4/0/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7702:7705:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7706:7725:body/6/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7708:7717:body/6/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7726:7729:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7841:8006:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7841:7851:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7852:7876:body/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7854:7874:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7854:7865:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7866:7874:body/1/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7868:7872:body/1/0/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7877:7893:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7898:7905:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7900:7903:body/3/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7910:7974:body/4/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7912:7966:body/4/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7912:7947:body/4/0/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7912:7921:body/4/0/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7933:7936:body/4/0/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7937:7947:body/4/0/0/2/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7956:7966:body/4/0/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7979:7982:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7983:8002:body/6/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7985:7994:body/6/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8003:8006:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8211:8245:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8211:8232:body/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8211:8217:body/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8218:8232:body/0/1/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8220:8230:body/0/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8235:8245:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8348:8415:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8348:8370:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8371:8381:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8388:8391:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8392:8411:body/3/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8394:8403:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8412:8415:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8582:8662:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8582:8599:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8611:8614:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8615:8631:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8642:8645:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8646:8662:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8758:8871:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8758:8773:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8787:8807:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8821:8847:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8861:8871:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8941:9002:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8941:8959:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8968:9002:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8970:8992:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8970:8973:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8974:8992:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9197:9245:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9197:9207:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9214:9245:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9216:9236:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9216:9221:body/1/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9226:9236:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9352:9404:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9352:9364:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9371:9404:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9373:9395:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9373:9378:body/1/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9383:9395:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9420:9429:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9420:9423:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9426:9429:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9444:9453:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9444:9447:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9450:9453:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9561:9815:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9561:9572:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9579:9590:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9597:9608:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9615:9627:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9634:9645:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9652:9663:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9670:9684:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9691:9702:body/7/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9709:9722:body/8/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9729:9741:body/9/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9748:9761:body/10/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9768:9779:body/11/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9786:9797:body/12/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9804:9815:body/13/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9871:9908:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9871:9876:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9877:9880:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9881:9899:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9905:9908:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9964:10001:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9964:9969:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9970:9973:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9974:9992:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9998:10001:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10057:10094:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10057:10062:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10063:10066:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10067:10085:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10091:10094:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10152:10190:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10152:10158:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10159:10162:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10163:10181:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10187:10190:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10254:10326:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10254:10259:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10260:10263:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10264:10282:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10290:10322:body/3/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10292:10314:body/3/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10292:10295:body/3/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10296:10314:body/3/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10323:10326:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10390:10462:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10390:10395:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10396:10399:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10400:10418:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10426:10458:body/3/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10428:10450:body/3/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10428:10431:body/3/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10432:10450:body/3/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10459:10462:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10510:10526:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10510:10518:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10519:10522:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10523:10526:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10582:10619:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10582:10587:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10588:10591:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10592:10610:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10616:10619:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10679:10718:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10679:10686:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10687:10690:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10691:10709:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10715:10718:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10776:10814:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10776:10782:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10783:10786:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10787:10805:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10811:10814:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10874:10913:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10874:10881:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10882:10885:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10886:10904:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10910:10913:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10980:11051:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10980:10985:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10986:10989:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10990:11008:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11015:11018:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11019:11037:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11048:11051:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11107:11144:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11107:11112:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11113:11116:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11117:11135:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11141:11144:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11200:11237:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11200:11205:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11206:11209:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11210:11228:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11234:11237:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11391:11467:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11391:11398:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11399:11402:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11403:11419:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11427:11430:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11431:11449:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11464:11467:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11496:11776:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11496:11513:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11520:11541:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11548:11560:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11567:11579:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11586:11599:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11606:11621:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11628:11639:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11646:11660:body/7/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11667:11691:body/8/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11698:11704:body/9/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11711:11722:body/10/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11729:11745:body/11/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11752:11776:body/12/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11752:11755:body/12/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11756:11772:body/12/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11773:11776:body/12/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11929:11974:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11929:11942:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11943:11946:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11947:11963:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11971:11974:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12048:12093:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12048:12061:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12062:12065:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12066:12082:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12090:12093:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12153:12191:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12153:12159:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12160:12163:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12164:12180:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12188:12191:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12255:12295:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12255:12263:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12264:12267:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12268:12284:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12292:12295:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12356:12393:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12356:12361:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12362:12365:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12366:12382:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12390:12393:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12718:12759:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12718:12729:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12737:12751:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12752:12755:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12756:12759:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12837:12878:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12837:12848:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12856:12870:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12871:12874:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12875:12878:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12942:12976:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12942:12953:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12961:12968:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12969:12972:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12973:12976:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13044:13080:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13044:13055:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13063:13072:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13073:13076:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13077:13080:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13300:13414:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13300:13312:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13313:13316:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13317:13333:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13341:13344:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13345:13361:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13376:13410:body/5/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13378:13398:body/5/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13378:13381:body/5/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13382:13398:body/5/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13411:13414:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13492:13604:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13492:13502:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13503:13506:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13507:13523:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13531:13534:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13535:13551:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13566:13600:body/5/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13568:13588:body/5/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13568:13571:body/5/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13572:13588:body/5/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13601:13604:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13682:13794:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13682:13692:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13693:13696:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13697:13713:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13721:13724:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13725:13741:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13756:13790:body/5/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13758:13778:body/5/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13758:13761:body/5/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13762:13778:body/5/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13791:13794:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13860:13963:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13860:13876:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13884:13889:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13890:13893:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13894:13910:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13923:13959:body/4/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13925:13945:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13925:13928:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13929:13945:body/4/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13960:13963:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14128:14246:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14128:14151:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14159:14172:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14173:14176:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14177:14193:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14208:14242:body/4/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14210:14230:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14210:14213:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14214:14230:body/4/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14243:14246:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14328:14444:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14328:14351:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14359:14370:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14371:14374:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14375:14391:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14406:14440:body/4/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14408:14428:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14408:14411:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14412:14428:body/4/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14441:14444:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14526:14642:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14526:14549:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14557:14568:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14569:14572:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14573:14589:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14604:14638:body/4/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14606:14626:body/4/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14606:14609:body/4/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14610:14626:body/4/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14639:14642:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14676:14746:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14676:14695:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14698:14717:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14720:14732:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14735:14746:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14895:14933:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14895:14906:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14907:14910:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14911:14922:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14930:14933:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15097:15176:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15097:15110:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15111:15114:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15115:15131:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15143:15146:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15147:15163:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15173:15176:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15287:15415:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15287:15303:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15304:15307:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15308:15317:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15328:15331:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15332:15348:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15360:15363:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15364:15373:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15382:15385:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15386:15402:body/8/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15412:15415:body/9/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15435:15517:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15435:15443:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15446:15455:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15458:15469:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15472:15482:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15485:15493:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15496:15506:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15509:15517:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15685:15954:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15685:15709:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15716:15735:body/1/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15716:15719:body/1/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15720:15731:body/1/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15732:15735:body/1/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15742:15771:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15778:15797:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15800:15819:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15822:15834:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15841:15861:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15864:15884:body/7/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15887:15900:body/8/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15907:15913:body/9/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15920:15931:body/10/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15938:15954:body/11/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16470:16486:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16470:16486:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16511:16527:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16511:16527:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16552:16568:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16552:16568:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16660:17265:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16660:16763:body/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16660:16677:body/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16685:16688:body/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16689:16704:body/0/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16712:16715:body/0/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16716:16729:body/0/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16735:16738:body/0/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16739:16753:body/0/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16760:16763:body/0/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16770:16848:body/1/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16770:16787:body/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16795:16798:body/1/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16799:16814:body/1/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16822:16825:body/1/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16826:16839:body/1/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16845:16848:body/1/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16855:16939:body/2/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16855:16872:body/2/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16880:16883:body/2/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16884:16899:body/2/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16907:16910:body/2/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16911:16914:body/2/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16915:16929:body/2/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16936:16939:body/2/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16946:17005:body/3/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16946:16963:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16971:16974:body/3/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16975:16990:body/3/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16998:17001:body/3/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17002:17005:body/3/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17012:17092:body/4/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17012:17029:body/4/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17037:17040:body/4/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17041:17044:body/4/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17045:17058:body/4/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17064:17067:body/4/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17068:17082:body/4/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17089:17092:body/4/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17099:17154:body/5/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17099:17116:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17124:17127:body/5/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17128:17131:body/5/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17132:17145:body/5/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17151:17154:body/5/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17161:17222:body/6/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17161:17178:body/6/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17186:17189:body/6/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17190:17193:body/6/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17194:17197:body/6/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17198:17212:body/6/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17219:17222:body/6/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17229:17265:body/7/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17229:17246:body/7/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17254:17257:body/7/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17258:17261:body/7/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17262:17265:body/7/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17359:17980:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17359:17464:body/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17359:17378:body/0/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17386:17389:body/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17390:17405:body/0/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17413:17416:body/0/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17417:17430:body/0/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17436:17439:body/0/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17440:17454:body/0/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17461:17464:body/0/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17471:17551:body/1/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17471:17490:body/1/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17498:17501:body/1/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17502:17517:body/1/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17525:17528:body/1/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17529:17542:body/1/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17548:17551:body/1/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17558:17644:body/2/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17558:17577:body/2/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17585:17588:body/2/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17589:17604:body/2/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17612:17615:body/2/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17616:17619:body/2/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17620:17634:body/2/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17641:17644:body/2/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17651:17712:body/3/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17651:17670:body/3/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17678:17681:body/3/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17682:17697:body/3/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17705:17708:body/3/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17709:17712:body/3/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17719:17801:body/4/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17719:17738:body/4/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17746:17749:body/4/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17750:17753:body/4/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17754:17767:body/4/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17773:17776:body/4/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17777:17791:body/4/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17798:17801:body/4/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17808:17865:body/5/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17808:17827:body/5/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17835:17838:body/5/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17839:17842:body/5/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17843:17856:body/5/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17862:17865:body/5/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17872:17935:body/6/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17872:17891:body/6/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17899:17902:body/6/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17903:17906:body/6/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17907:17910:body/6/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17911:17925:body/6/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17932:17935:body/6/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17942:17980:body/7/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17942:17961:body/7/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17969:17972:body/7/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17973:17976:body/7/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17977:17980:body/7/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18006:18049:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18006:18027:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18030:18049:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18250:18296:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18250:18260:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18267:18296:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18269:18287:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18269:18272:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18277:18287:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18336:18360:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18336:18339:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18340:18356:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18357:18360:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18567:18930:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18567:18588:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18595:18607:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18614:18632:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18639:18658:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18665:18680:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18687:18716:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18723:18747:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18754:18773:body/7/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18776:18795:body/8/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18798:18810:body/9/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18817:18837:body/10/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18840:18860:body/11/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18863:18876:body/12/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18883:18889:body/13/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18896:18907:body/14/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18914:18930:body/15/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19012:19058:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19012:19015:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19016:19039:body/1/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19018:19037:body/1/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19018:19026:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19029:19037:body/1/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19040:19043:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19044:19047:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19048:19058:body/4/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19148:19197:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19148:19151:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19152:19162:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19169:19173:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19174:19197:body/3/group", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19176:19195:body/3/0/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19176:19184:body/3/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19187:19195:body/3/0/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19428:19494:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19428:19448:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19455:19494:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19457:19485:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19457:19460:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19465:19485:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19631:19697:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19631:19651:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19658:19697:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19660:19688:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19660:19663:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19668:19688:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19834:19886:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19834:19847:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19854:19886:body/1/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19856:19877:body/1/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19856:19859:body/1/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19864:19877:body/1/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20024:20062:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20024:20029:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20030:20033:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20034:20051:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20059:20062:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20096:20528:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20096:20109:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20116:20128:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20135:20157:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20164:20189:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20196:20204:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20211:20230:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20237:20254:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20261:20278:body/7/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20285:20303:body/8/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20310:20326:body/9/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20333:20349:body/10/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20356:20373:body/11/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20380:20399:body/12/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20406:20428:body/13/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20435:20441:body/14/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20448:20455:body/15/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20462:20473:body/16/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20480:20496:body/17/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20503:20528:body/18/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20503:20506:body/18/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20507:20524:body/18/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20525:20528:body/18/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20622:20678:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20622:20639:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20646:20656:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20661:20678:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20761:20891:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20761:20786:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20800:20820:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20834:20860:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20874:20891:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21155:21209:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21155:21171:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21178:21188:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21193:21209:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21236:21247:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21236:21240:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21243:21247:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21331:21384:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21331:21347:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21354:21363:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21368:21384:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21410:21447:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21410:21414:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21417:21421:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21424:21428:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21431:21435:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21438:21441:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21444:21447:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21601:21771:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21601:21617:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21631:21647:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21661:21678:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21692:21716:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21730:21741:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21755:21771:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21946:22076:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21946:21950:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21951:21954:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21955:21972:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21984:21987:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21992:21995:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21996:22012:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22023:22026:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22031:22037:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22042:22045:body/8/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22046:22062:body/9/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22073:22076:body/10/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22158:22408:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22158:22178:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22192:22218:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22232:22257:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22271:22287:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22301:22318:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22332:22348:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22362:22378:body/6/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22392:22408:body/7/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22583:22681:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22583:22586:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22587:22604:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22616:22619:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22620:22636:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22647:22650:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22651:22667:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22678:22681:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22871:22989:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22871:22878:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22879:22882:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22889:22899:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22911:22940:body/3/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22913:22927:body/3/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22913:22916:body/3/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22917:22927:body/3/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22947:22950:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22951:22968:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22986:22989:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23064:23113:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23064:23081:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23093:23097:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23098:23113:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23197:23227:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23197:23206:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23207:23211:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23212:23227:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23307:23323:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23307:23323:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23438:23556:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23438:23445:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23446:23449:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23456:23466:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23478:23507:body/3/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23480:23494:body/3/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23480:23483:body/3/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23484:23494:body/3/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23514:23517:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23518:23535:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23553:23556:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23631:23680:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23631:23648:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23660:23664:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23665:23680:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23764:23794:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23764:23773:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23774:23778:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23779:23794:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23874:23890:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23874:23890:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24007:24128:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24007:24014:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24015:24018:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24025:24036:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24048:24078:body/3/repeat", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24050:24065:body/3/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24050:24053:body/3/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24054:24065:body/3/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24085:24088:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24089:24107:body/5/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24125:24128:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24205:24255:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24205:24222:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24234:24238:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24239:24255:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24341:24372:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24341:24350:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24351:24355:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24356:24372:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24454:24471:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24454:24471:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24684:24735:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24684:24687:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24688:24698:body/1/tokenRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24705:24735:body/2/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24707:24727:body/2/0/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24707:24715:body/2/0/0/optional", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24709:24713:body/2/0/0/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24716:24727:body/2/0/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24757:24868:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24757:24765:body/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24768:24776:body/1/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24779:24786:body/2/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24789:24796:body/3/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24803:24811:body/4/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24814:24822:body/5/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24825:24834:body/6/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24837:24846:body/7/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24849:24857:body/8/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24860:24868:body/9/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25187:25363:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25187:25203:body/0/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25217:25234:body/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25248:25264:body/2/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25278:25294:body/3/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25308:25324:body/4/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25338:25363:body/5/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25338:25341:body/5/0/literal", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25342:25352:body/5/1/ruleRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25360:25363:body/5/2/literal"]; +const BODIES:&[&str]=&["expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1007:1178:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1611:1662:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2118:2201:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2272:2313:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2464:2586:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2759:2935:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3108:3284:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3459:3637:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3810:3986:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4005:4109:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4134:4186:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4210:4242:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4267:4301:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4325:4357:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4409:4428:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4450:4474:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4495:4542:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4572:4619:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4648:4673:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4707:4821:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5002:5147:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5328:5473:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5656:5803:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5984:6129:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6206:6261:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6375:6426:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6453:6471:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6497:6505:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6532:6541:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6567:6575:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6595:6669:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6995:7161:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7273:7452:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7564:7729:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7841:8006:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8211:8245:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8348:8415:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8582:8662:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8758:8871:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8941:9002:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9197:9245:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9352:9404:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9420:9429:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9444:9453:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9561:9815:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9871:9908:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9964:10001:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10057:10094:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10152:10190:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10254:10326:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10390:10462:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10510:10526:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10582:10619:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10679:10718:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10776:10814:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10874:10913:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10980:11051:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11107:11144:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11200:11237:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11391:11467:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11496:11776:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11929:11974:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12048:12093:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12153:12191:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12255:12295:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12356:12393:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12718:12759:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12837:12878:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12942:12976:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13044:13080:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13300:13414:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13492:13604:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13682:13794:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13860:13963:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14128:14246:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14328:14444:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14526:14642:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14676:14746:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14895:14933:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15097:15176:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15287:15415:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15435:15517:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15685:15954:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16470:16486:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16511:16527:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16552:16568:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16660:17265:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17359:17980:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18006:18049:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18250:18296:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18336:18360:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18567:18930:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19012:19058:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19148:19197:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19428:19494:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19631:19697:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19834:19886:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20024:20062:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20096:20528:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20622:20678:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20761:20891:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21155:21209:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21236:21247:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21331:21384:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21410:21447:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21601:21771:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21946:22076:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22158:22408:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22583:22681:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22871:22989:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23064:23113:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23197:23227:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23307:23323:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23438:23556:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23631:23680:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23764:23794:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23874:23890:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24007:24128:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24205:24255:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24341:24372:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24454:24471:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24684:24735:body/seq", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24757:24868:body/choice", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25187:25363:body/choice"]; const RULE_NODE:&[bool]=&[true, true, true, true, false, true, true, true, true, false, false, false, false, false, true, false, false, false, false, false, true, true, true, true, true, true, false, false, false, false, false, true, true, true, true, false, true, true, true, true, true, true, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true, true, true, false, false, false, false, false, true, true, false, true, false, false, true, true, true, true, true, true, false, true, true, true, false, true, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true]; const RULE_SLOTS:&[u32]=&[9, 1, 3, 3, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 2, 2, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0, 2, 3, 1, 2, 5, 5, 0, 0, 0, 1, 1, 1, 1, 3, 3, 0, 1, 1, 1, 1, 2, 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 0, 1, 2, 4, 0, 0, 0, 0, 0, 4, 4, 0, 5, 0, 0, 1, 1, 5, 5, 5, 1, 0, 3, 1, 3, 0, 3, 0, 1, 3, 1, 3, 4, 2, 1, 1, 4, 2, 1, 1, 4, 2, 1, 1, 2, 0, 1]; -const SITES:&[(&str,&str)]=&[("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1023:1032:body/0/0/ruleRef/capture/0", "codeBlocks"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1049:1066:body/1/0/ruleRef/capture/0", "imports"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1080:1099:body/2/0/ruleRef/capture/0", "declarations"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1135:1145:body/4/ruleRef/capture/0", "expression"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1160:1177:body/5/0/ruleRef/capture/0", "methods"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1625:1676:body/0/group/capture/0", "source"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2141:2150:body/1/ruleRef/capture/0", "className"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2168:2178:body/2/0/1/tokenRef/capture/0", "method"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2194:2204:body/4/tokenRef/capture/0", "alias"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2286:2296:body/0/tokenRef/capture/0", "head"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2309:2319:body/1/0/1/tokenRef/capture/0", "tail"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2804:2814:body/2/tokenRef/capture/0", "varName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2861:2873:body/4/0/1/0/ruleRef/capture/0", "onlyIfAbsent"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2890:2906:body/4/0/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2922:2933:body/5/0/ruleRef/capture/0", "desc"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3153:3163:body/2/tokenRef/capture/0", "varName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3210:3222:body/4/0/1/0/ruleRef/capture/0", "onlyIfAbsent"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3239:3255:body/4/0/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3271:3282:body/5/0/ruleRef/capture/0", "desc"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3504:3514:body/2/tokenRef/capture/0", "varName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3562:3574:body/4/0/1/0/ruleRef/capture/0", "onlyIfAbsent"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3591:3608:body/4/0/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3624:3635:body/5/0/ruleRef/capture/0", "desc"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3855:3865:body/2/tokenRef/capture/0", "varName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3912:3924:body/4/0/1/0/ruleRef/capture/0", "onlyIfAbsent"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3941:3957:body/4/0/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3973:3984:body/5/0/ruleRef/capture/0", "desc"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5033:5043:body/1/tokenRef/capture/0", "methodName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5072:5088:body/3/0/ruleRef/capture/0", "parameters"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5125:5141:body/6/ruleRef/capture/0", "expression"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5359:5369:body/1/tokenRef/capture/0", "methodName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5398:5414:body/3/0/ruleRef/capture/0", "parameters"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5451:5467:body/6/ruleRef/capture/0", "expression"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5688:5698:body/1/tokenRef/capture/0", "methodName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5727:5743:body/3/0/ruleRef/capture/0", "parameters"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5780:5797:body/6/ruleRef/capture/0", "expression"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6015:6025:body/1/tokenRef/capture/0", "methodName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6054:6070:body/3/0/ruleRef/capture/0", "parameters"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6107:6123:body/6/ruleRef/capture/0", "expression"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6220:6235:body/0/ruleRef/capture/0", "values"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6250:6265:body/1/0/1/ruleRef/capture/0", "values"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6393:6403:body/1/tokenRef/capture/0", "paramName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6422:6432:body/2/0/1/ruleRef/capture/0", "type"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7081:7090:body/4/0/0/0/ruleRef/capture/0", "className"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7106:7116:body/4/0/0/2/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7125:7135:body/4/0/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7154:7163:body/6/0/ruleRef/capture/0", "args"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7372:7381:body/2/0/0/0/ruleRef/capture/0", "className"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7397:7407:body/2/0/0/2/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7416:7426:body/2/0/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7445:7454:body/4/0/ruleRef/capture/0", "args"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7649:7658:body/4/0/0/0/ruleRef/capture/0", "className"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7674:7684:body/4/0/0/2/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7693:7703:body/4/0/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7722:7731:body/6/0/ruleRef/capture/0", "args"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7926:7935:body/4/0/0/0/ruleRef/capture/0", "className"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7951:7961:body/4/0/0/2/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7970:7980:body/4/0/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7999:8008:body/6/0/ruleRef/capture/0", "args"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8385:8395:body/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8408:8417:body/3/0/ruleRef/capture/0", "args"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8596:8613:body/0/ruleRef/capture/0", "condition"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8629:8645:body/2/ruleRef/capture/0", "thenExpr"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8660:8676:body/4/ruleRef/capture/0", "elseExpr"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8772:8787:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8801:8821:body/1/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8835:8861:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8875:8885:body/3/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8955:8973:body/0/ruleRef/capture/0", "values"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8988:9006:body/1/0/1/ruleRef/capture/0", "values"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9211:9221:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9230:9235:body/1/0/0/ruleRef/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9240:9250:body/1/0/1/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9366:9378:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9387:9392:body/1/0/0/ruleRef/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9397:9409:body/1/0/1/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9895:9913:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9988:10006:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10081:10099:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10177:10195:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10278:10296:body/2/ruleRef/capture/0", "first"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10310:10328:body/3/0/1/ruleRef/capture/0", "rest"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10414:10432:body/2/ruleRef/capture/0", "first"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10446:10464:body/3/0/1/ruleRef/capture/0", "rest"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10606:10624:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10705:10723:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10801:10819:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10900:10918:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11004:11022:body/2/ruleRef/capture/0", "base"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11033:11051:body/4/ruleRef/capture/0", "exponent"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11131:11149:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11224:11242:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11417:11433:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11445:11463:body/4/ruleRef/capture/0", "defaultValue"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11961:11977:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12080:12096:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12178:12194:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12282:12298:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12380:12396:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12732:12743:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12851:12862:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12956:12967:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13058:13069:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13331:13347:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13359:13375:body/4/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13396:13412:body/5/0/1/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13521:13537:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13549:13565:body/4/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13586:13602:body/5/0/1/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13711:13727:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13739:13755:body/4/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13776:13792:body/5/0/1/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13874:13890:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13908:13924:body/3/ruleRef/capture/0", "candidates"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13943:13959:body/4/0/1/ruleRef/capture/0", "candidates"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14142:14165:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14191:14207:body/3/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14228:14244:body/4/0/1/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14342:14365:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14389:14405:body/3/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14426:14442:body/4/0/1/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14540:14563:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14587:14603:body/3/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14624:14640:body/4/0/1/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14925:14936:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15129:15145:body/2/ruleRef/capture/0", "startHour"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15161:15177:body/4/ruleRef/capture/0", "endHour"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15322:15331:body/2/ruleRef/capture/0", "startDay"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15346:15362:body/4/ruleRef/capture/0", "startHour"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15378:15387:body/6/ruleRef/capture/0", "endDay"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15400:15416:body/8/ruleRef/capture/0", "endHour"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16674:16691:body/0/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16703:16718:body/0/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16730:16743:body/0/4/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16753:16767:body/0/6/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16784:16801:body/1/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16813:16828:body/1/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16840:16853:body/1/4/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16869:16886:body/2/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16898:16913:body/2/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16929:16943:body/2/5/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16960:16977:body/3/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16989:17004:body/3/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17026:17043:body/4/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17059:17072:body/4/3/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17082:17096:body/4/5/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17113:17130:body/5/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17146:17159:body/5/3/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17175:17192:body/6/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17212:17226:body/6/4/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17243:17260:body/7/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17373:17392:body/0/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17404:17419:body/0/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17431:17444:body/0/4/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17454:17468:body/0/6/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17485:17504:body/1/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17516:17531:body/1/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17543:17556:body/1/4/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17572:17591:body/2/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17603:17618:body/2/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17634:17648:body/2/5/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17665:17684:body/3/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17696:17711:body/3/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17733:17752:body/4/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17768:17781:body/4/3/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17791:17805:body/4/5/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17822:17841:body/5/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17857:17870:body/5/3/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17886:17905:body/6/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17925:17939:body/6/4/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17956:17975:body/7/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18264:18274:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18283:18286:body/1/0/0/literal/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18291:18301:body/1/0/1/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19062:19072:body/4/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19166:19176:body/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19442:19462:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19471:19474:body/1/0/0/literal/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19479:19499:body/1/0/1/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19645:19665:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19674:19677:body/1/0/0/literal/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19682:19702:body/1/0/1/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19848:19861:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19870:19873:body/1/0/0/literal/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19878:19891:body/1/0/1/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20048:20065:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20636:20653:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20660:20670:body/1/ruleRef/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20675:20692:body/2/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20775:20800:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20814:20834:body/1/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20848:20874:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20888:20905:body/3/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21169:21185:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21192:21202:body/1/ruleRef/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21207:21223:body/2/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21345:21361:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21368:21377:body/1/ruleRef/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21382:21398:body/2/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21615:21631:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21645:21661:body/1/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21675:21692:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21706:21730:body/3/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21744:21755:body/4/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21769:21785:body/5/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21969:21986:body/2/ruleRef/capture/0", "condition"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22010:22026:body/5/ruleRef/capture/0", "thenExpr"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22060:22076:body/9/ruleRef/capture/0", "elseExpr"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22172:22192:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22206:22232:body/1/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22246:22271:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22285:22301:body/3/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22315:22332:body/4/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22346:22362:body/5/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22376:22392:body/6/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22406:22422:body/7/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22601:22618:body/1/ruleRef/capture/0", "condition"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22634:22650:body/3/ruleRef/capture/0", "thenExpr"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22665:22681:body/5/ruleRef/capture/0", "elseExpr"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22903:22913:body/2/ruleRef/capture/0", "firstCase"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22931:22941:body/3/0/1/ruleRef/capture/0", "moreCases"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22965:22982:body/5/ruleRef/capture/0", "defaultCase"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23078:23095:body/0/ruleRef/capture/0", "condition"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23112:23127:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23226:23241:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23321:23337:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23470:23480:body/2/ruleRef/capture/0", "firstCase"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23498:23508:body/3/0/1/ruleRef/capture/0", "moreCases"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23532:23549:body/5/ruleRef/capture/0", "defaultCase"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23645:23662:body/0/ruleRef/capture/0", "condition"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23679:23694:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23793:23808:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23888:23904:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24039:24050:body/2/ruleRef/capture/0", "firstCase"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24068:24079:body/3/0/1/ruleRef/capture/0", "moreCases"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24103:24121:body/5/ruleRef/capture/0", "defaultCase"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24219:24236:body/0/ruleRef/capture/0", "condition"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24253:24269:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24370:24386:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24468:24485:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24702:24712:body/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24730:24741:body/2/0/1/ruleRef/capture/0", "type"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25201:25217:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25231:25248:body/1/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25262:25278:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25292:25308:body/3/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25322:25338:body/4/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25356:25366:body/5/1/ruleRef/capture/0", "value")]; +const SITES:&[(&str,&str)]=&[("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1009:1018:body/0/0/ruleRef/capture/0", "codeBlocks"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1035:1052:body/1/0/ruleRef/capture/0", "imports"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1066:1085:body/2/0/ruleRef/capture/0", "declarations"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1121:1131:body/4/ruleRef/capture/0", "expression"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1146:1163:body/5/0/ruleRef/capture/0", "methods"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1611:1662:body/0/group/capture/0", "source"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2127:2136:body/1/ruleRef/capture/0", "className"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2154:2164:body/2/0/1/tokenRef/capture/0", "method"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2180:2190:body/4/tokenRef/capture/0", "alias"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2272:2282:body/0/tokenRef/capture/0", "head"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2295:2305:body/1/0/1/tokenRef/capture/0", "tail"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2790:2800:body/2/tokenRef/capture/0", "varName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2847:2859:body/4/0/1/0/ruleRef/capture/0", "onlyIfAbsent"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2876:2892:body/4/0/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2908:2919:body/5/0/ruleRef/capture/0", "desc"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3139:3149:body/2/tokenRef/capture/0", "varName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3196:3208:body/4/0/1/0/ruleRef/capture/0", "onlyIfAbsent"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3225:3241:body/4/0/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3257:3268:body/5/0/ruleRef/capture/0", "desc"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3490:3500:body/2/tokenRef/capture/0", "varName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3548:3560:body/4/0/1/0/ruleRef/capture/0", "onlyIfAbsent"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3577:3594:body/4/0/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3610:3621:body/5/0/ruleRef/capture/0", "desc"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3841:3851:body/2/tokenRef/capture/0", "varName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3898:3910:body/4/0/1/0/ruleRef/capture/0", "onlyIfAbsent"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3927:3943:body/4/0/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3959:3970:body/5/0/ruleRef/capture/0", "desc"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5019:5029:body/1/tokenRef/capture/0", "methodName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5058:5074:body/3/0/ruleRef/capture/0", "parameters"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5111:5127:body/6/ruleRef/capture/0", "expression"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5345:5355:body/1/tokenRef/capture/0", "methodName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5384:5400:body/3/0/ruleRef/capture/0", "parameters"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5437:5453:body/6/ruleRef/capture/0", "expression"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5674:5684:body/1/tokenRef/capture/0", "methodName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5713:5729:body/3/0/ruleRef/capture/0", "parameters"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5766:5783:body/6/ruleRef/capture/0", "expression"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6001:6011:body/1/tokenRef/capture/0", "methodName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6040:6056:body/3/0/ruleRef/capture/0", "parameters"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6093:6109:body/6/ruleRef/capture/0", "expression"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6206:6221:body/0/ruleRef/capture/0", "values"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6236:6251:body/1/0/1/ruleRef/capture/0", "values"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6379:6389:body/1/tokenRef/capture/0", "paramName"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6408:6418:body/2/0/1/ruleRef/capture/0", "type"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7067:7076:body/4/0/0/0/ruleRef/capture/0", "className"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7092:7102:body/4/0/0/2/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7111:7121:body/4/0/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7140:7149:body/6/0/ruleRef/capture/0", "args"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7358:7367:body/2/0/0/0/ruleRef/capture/0", "className"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7383:7393:body/2/0/0/2/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7402:7412:body/2/0/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7431:7440:body/4/0/ruleRef/capture/0", "args"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7635:7644:body/4/0/0/0/ruleRef/capture/0", "className"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7660:7670:body/4/0/0/2/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7679:7689:body/4/0/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7708:7717:body/6/0/ruleRef/capture/0", "args"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7912:7921:body/4/0/0/0/ruleRef/capture/0", "className"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7937:7947:body/4/0/0/2/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7956:7966:body/4/0/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7985:7994:body/6/0/ruleRef/capture/0", "args"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8371:8381:body/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8394:8403:body/3/0/ruleRef/capture/0", "args"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8582:8599:body/0/ruleRef/capture/0", "condition"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8615:8631:body/2/ruleRef/capture/0", "thenExpr"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8646:8662:body/4/ruleRef/capture/0", "elseExpr"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8758:8773:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8787:8807:body/1/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8821:8847:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8861:8871:body/3/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8941:8959:body/0/ruleRef/capture/0", "values"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8974:8992:body/1/0/1/ruleRef/capture/0", "values"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9197:9207:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9216:9221:body/1/0/0/ruleRef/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9226:9236:body/1/0/1/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9352:9364:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9373:9378:body/1/0/0/ruleRef/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9383:9395:body/1/0/1/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9881:9899:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9974:9992:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10067:10085:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10163:10181:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10264:10282:body/2/ruleRef/capture/0", "first"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10296:10314:body/3/0/1/ruleRef/capture/0", "rest"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10400:10418:body/2/ruleRef/capture/0", "first"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10432:10450:body/3/0/1/ruleRef/capture/0", "rest"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10592:10610:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10691:10709:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10787:10805:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10886:10904:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10990:11008:body/2/ruleRef/capture/0", "base"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11019:11037:body/4/ruleRef/capture/0", "exponent"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11117:11135:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11210:11228:body/2/ruleRef/capture/0", "arg"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11403:11419:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11431:11449:body/4/ruleRef/capture/0", "defaultValue"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11947:11963:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12066:12082:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12164:12180:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12268:12284:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12366:12382:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12718:12729:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12837:12848:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12942:12953:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13044:13055:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13317:13333:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13345:13361:body/4/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13382:13398:body/5/0/1/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13507:13523:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13535:13551:body/4/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13572:13588:body/5/0/1/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13697:13713:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13725:13741:body/4/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13762:13778:body/5/0/1/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13860:13876:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13894:13910:body/3/ruleRef/capture/0", "candidates"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13929:13945:body/4/0/1/ruleRef/capture/0", "candidates"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14128:14151:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14177:14193:body/3/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14214:14230:body/4/0/1/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14328:14351:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14375:14391:body/3/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14412:14428:body/4/0/1/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14526:14549:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14573:14589:body/3/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14610:14626:body/4/0/1/ruleRef/capture/0", "patterns"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14911:14922:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15115:15131:body/2/ruleRef/capture/0", "startHour"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15147:15163:body/4/ruleRef/capture/0", "endHour"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15308:15317:body/2/ruleRef/capture/0", "startDay"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15332:15348:body/4/ruleRef/capture/0", "startHour"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15364:15373:body/6/ruleRef/capture/0", "endDay"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15386:15402:body/8/ruleRef/capture/0", "endHour"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16660:16677:body/0/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16689:16704:body/0/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16716:16729:body/0/4/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16739:16753:body/0/6/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16770:16787:body/1/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16799:16814:body/1/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16826:16839:body/1/4/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16855:16872:body/2/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16884:16899:body/2/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16915:16929:body/2/5/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16946:16963:body/3/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16975:16990:body/3/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17012:17029:body/4/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17045:17058:body/4/3/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17068:17082:body/4/5/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17099:17116:body/5/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17132:17145:body/5/3/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17161:17178:body/6/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17198:17212:body/6/4/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17229:17246:body/7/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17359:17378:body/0/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17390:17405:body/0/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17417:17430:body/0/4/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17440:17454:body/0/6/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17471:17490:body/1/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17502:17517:body/1/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17529:17542:body/1/4/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17558:17577:body/2/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17589:17604:body/2/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17620:17634:body/2/5/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17651:17670:body/3/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17682:17697:body/3/2/ruleRef/capture/0", "start"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17719:17738:body/4/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17754:17767:body/4/3/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17777:17791:body/4/5/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17808:17827:body/5/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17843:17856:body/5/3/ruleRef/capture/0", "end"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17872:17891:body/6/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17911:17925:body/6/4/ruleRef/capture/0", "step"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17942:17961:body/7/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18250:18260:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18269:18272:body/1/0/0/literal/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18277:18287:body/1/0/1/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19048:19058:body/4/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19152:19162:body/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19428:19448:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19457:19460:body/1/0/0/literal/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19465:19485:body/1/0/1/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19631:19651:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19660:19663:body/1/0/0/literal/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19668:19688:body/1/0/1/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19834:19847:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19856:19859:body/1/0/0/literal/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19864:19877:body/1/0/1/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20034:20051:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20622:20639:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20646:20656:body/1/ruleRef/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20661:20678:body/2/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20761:20786:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20800:20820:body/1/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20834:20860:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20874:20891:body/3/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21155:21171:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21178:21188:body/1/ruleRef/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21193:21209:body/2/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21331:21347:body/0/ruleRef/capture/0", "left"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21354:21363:body/1/ruleRef/capture/0", "op"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21368:21384:body/2/ruleRef/capture/0", "right"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21601:21617:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21631:21647:body/1/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21661:21678:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21692:21716:body/3/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21730:21741:body/4/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21755:21771:body/5/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21955:21972:body/2/ruleRef/capture/0", "condition"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21996:22012:body/5/ruleRef/capture/0", "thenExpr"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22046:22062:body/9/ruleRef/capture/0", "elseExpr"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22158:22178:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22192:22218:body/1/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22232:22257:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22271:22287:body/3/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22301:22318:body/4/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22332:22348:body/5/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22362:22378:body/6/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22392:22408:body/7/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22587:22604:body/1/ruleRef/capture/0", "condition"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22620:22636:body/3/ruleRef/capture/0", "thenExpr"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22651:22667:body/5/ruleRef/capture/0", "elseExpr"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22889:22899:body/2/ruleRef/capture/0", "firstCase"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22917:22927:body/3/0/1/ruleRef/capture/0", "moreCases"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22951:22968:body/5/ruleRef/capture/0", "defaultCase"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23064:23081:body/0/ruleRef/capture/0", "condition"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23098:23113:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23212:23227:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23307:23323:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23456:23466:body/2/ruleRef/capture/0", "firstCase"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23484:23494:body/3/0/1/ruleRef/capture/0", "moreCases"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23518:23535:body/5/ruleRef/capture/0", "defaultCase"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23631:23648:body/0/ruleRef/capture/0", "condition"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23665:23680:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23779:23794:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23874:23890:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24025:24036:body/2/ruleRef/capture/0", "firstCase"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24054:24065:body/3/0/1/ruleRef/capture/0", "moreCases"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24089:24107:body/5/ruleRef/capture/0", "defaultCase"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24205:24222:body/0/ruleRef/capture/0", "condition"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24239:24255:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24356:24372:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24454:24471:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24688:24698:body/1/tokenRef/capture/0", "name"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24716:24727:body/2/0/1/ruleRef/capture/0", "type"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25187:25203:body/0/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25217:25234:body/1/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25248:25264:body/2/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25278:25294:body/3/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25308:25324:body/4/ruleRef/capture/0", "value"), ("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25342:25352:body/5/1/ruleRef/capture/0", "value")]; impl Session<'_, DIAG> { fn build_values(&mut self,root:EventId)->Result,String> {let mut out=Vec::new();self.build_values_into(root,&mut out)?;Ok(out)} #[inline(never)] fn build_values_into(&mut self,root:EventId,out:&mut Vec)->Result<(),String> {let frame=0u8;let address=std::ptr::addr_of!(frame) as usize;let anchor=*self.mapping_anchor.get_or_insert(address);if self.mapping_depth>=self.options.limits.mapping_depth || anchor.abs_diff(address)>256*1024 {return Err("maximum mapping depth exceeded".into());}self.mapping_depth+=1;let result=self.build_values_inner(root,out);self.mapping_depth-=1;result} @@ -3110,156 +3248,156 @@ fn build_values_inner(&mut self,mut root:EventId,out:&mut Vec)->Result<(),S // その場合は pool から stack を借りずに降りる。 loop {match self.ev(root) { Event::Capture{child,..}=>root=child, -Event::Values{child,span,wrap}=>{let start=out.len();self.build_values_into(child,out)?;if wrap && ((out.len()==start+1 && self.tree.kind(out[start])==tree::KIND_TEXT) || (out.len()==start && span[0]!=span[1] && !self.has_recovery(child) && !self.has_value_group(child))) {let text=self.semantic_text(child,span);out.truncate(start);out.push(text);}return Ok(());}, +Event::Values{child,span,wrap,text}=>{let start=out.len();if !text {self.value_region+=1;}let built=self.build_values_into(child,out);if !text {self.value_region-=1;}built?;if text || wrap && ((out.len()==start+1 && self.tree.kind(out[start])==tree::KIND_TEXT) || (out.len()==start && span[0]!=span[1] && !self.has_recovery(child) && !self.has_value_group(child))) {let text=self.semantic_text(child,span);out.truncate(start);out.push(text);}return Ok(());}, Event::Rule{rule,span,child,caps}=>return self.build_rule(rule,caps,span,child,out), Event::Join(..)=>break, _=>return Ok(()),}} -let mut stack=self.take_stack();stack.push((root,false));while let Some((id,_))=stack.pop() {match self.ev(id) {Event::Join(a,b)=>{stack.push((b,false));stack.push((a,false));},Event::Capture{child,..}=>stack.push((child,false)),Event::Values{child,span,wrap}=>{let start=out.len();self.build_values_into(child,out)?;if wrap && ((out.len()==start+1 && self.tree.kind(out[start])==tree::KIND_TEXT) || (out.len()==start && span[0]!=span[1] && !self.has_recovery(child) && !self.has_value_group(child))) {let text=self.semantic_text(child,span);out.truncate(start);out.push(text);}},Event::Rule{rule,span,child,caps}=>self.build_rule(rule,caps,span,child,out)?,_=>{}}}self.give_stack(stack);Ok(())} +let mut stack=self.take_stack();stack.push((root,false));while let Some((id,_))=stack.pop() {match self.ev(id) {Event::Join(a,b)=>{stack.push((b,false));stack.push((a,false));},Event::Capture{child,..}=>stack.push((child,false)),Event::Values{child,span,wrap,text}=>{let start=out.len();if !text {self.value_region+=1;}let built=self.build_values_into(child,out);if !text {self.value_region-=1;}built?;if text || wrap && ((out.len()==start+1 && self.tree.kind(out[start])==tree::KIND_TEXT) || (out.len()==start && span[0]!=span[1] && !self.has_recovery(child) && !self.has_value_group(child))) {let text=self.semantic_text(child,span);out.truncate(start);out.push(text);}},Event::Rule{rule,span,child,caps}=>self.build_rule(rule,caps,span,child,out)?,_=>{}}}self.give_stack(stack);Ok(())} fn leaf(&mut self,ty:usize,span:Span,text:u32)->Result {let span=self.span(span);self.tree.set_extent(text,span);match ty { 24=>{let op=self.tree.list(&[text]);let right=self.tree.list(&[]);Ok(self.tree.record(tree::K_g_TinyExpressionP4AST_2e_BinaryExpr,40,span,&[tree::NONE,op[0],op[1],right[0],right[1]]))}, _=>{let _=(span,text);Err(format!("unknown leaf type {ty}"))}}} fn build_rule(&mut self,rule:usize,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);match rule { -0=>self.map_rule_0(caps,span,child,out), -1=>self.map_rule_1(caps,span,child,out), -2=>self.map_rule_2(caps,span,child,out), -3=>self.map_rule_3(caps,span,child,out), +0=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_0(caps,span,child,out);self.value_region=outer;built}, +1=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_1(caps,span,child,out);self.value_region=outer;built}, +2=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_2(caps,span,child,out);self.value_region=outer;built}, +3=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_3(caps,span,child,out);self.value_region=outer;built}, 4=>self.map_rule_4(caps,span,child,out), -5=>self.map_rule_5(caps,span,child,out), -6=>self.map_rule_6(caps,span,child,out), -7=>self.map_rule_7(caps,span,child,out), -8=>self.map_rule_8(caps,span,child,out), +5=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_5(caps,span,child,out);self.value_region=outer;built}, +6=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_6(caps,span,child,out);self.value_region=outer;built}, +7=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_7(caps,span,child,out);self.value_region=outer;built}, +8=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_8(caps,span,child,out);self.value_region=outer;built}, 9=>self.map_rule_9(caps,span,child,out), 10=>self.map_rule_10(caps,span,child,out), 11=>self.map_rule_11(caps,span,child,out), 12=>self.map_rule_12(caps,span,child,out), 13=>self.map_rule_13(caps,span,child,out), -14=>self.map_rule_14(caps,span,child,out), +14=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_14(caps,span,child,out);self.value_region=outer;built}, 15=>self.map_rule_15(caps,span,child,out), 16=>self.map_rule_16(caps,span,child,out), 17=>self.map_rule_17(caps,span,child,out), 18=>self.map_rule_18(caps,span,child,out), 19=>self.map_rule_19(caps,span,child,out), -20=>self.map_rule_20(caps,span,child,out), -21=>self.map_rule_21(caps,span,child,out), -22=>self.map_rule_22(caps,span,child,out), -23=>self.map_rule_23(caps,span,child,out), -24=>self.map_rule_24(caps,span,child,out), -25=>self.map_rule_25(caps,span,child,out), +20=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_20(caps,span,child,out);self.value_region=outer;built}, +21=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_21(caps,span,child,out);self.value_region=outer;built}, +22=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_22(caps,span,child,out);self.value_region=outer;built}, +23=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_23(caps,span,child,out);self.value_region=outer;built}, +24=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_24(caps,span,child,out);self.value_region=outer;built}, +25=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_25(caps,span,child,out);self.value_region=outer;built}, 26=>self.map_rule_26(caps,span,child,out), 27=>self.map_rule_27(caps,span,child,out), 28=>self.map_rule_28(caps,span,child,out), 29=>self.map_rule_29(caps,span,child,out), 30=>self.map_rule_30(caps,span,child,out), -31=>self.map_rule_31(caps,span,child,out), -32=>self.map_rule_32(caps,span,child,out), -33=>self.map_rule_33(caps,span,child,out), -34=>self.map_rule_34(caps,span,child,out), +31=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_31(caps,span,child,out);self.value_region=outer;built}, +32=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_32(caps,span,child,out);self.value_region=outer;built}, +33=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_33(caps,span,child,out);self.value_region=outer;built}, +34=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_34(caps,span,child,out);self.value_region=outer;built}, 35=>self.map_rule_35(caps,span,child,out), -36=>self.map_rule_36(caps,span,child,out), -37=>self.map_rule_37(caps,span,child,out), -38=>self.map_rule_38(caps,span,child,out), -39=>self.map_rule_39(caps,span,child,out), -40=>self.map_rule_40(caps,span,child,out), -41=>self.map_rule_41(caps,span,child,out), +36=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_36(caps,span,child,out);self.value_region=outer;built}, +37=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_37(caps,span,child,out);self.value_region=outer;built}, +38=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_38(caps,span,child,out);self.value_region=outer;built}, +39=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_39(caps,span,child,out);self.value_region=outer;built}, +40=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_40(caps,span,child,out);self.value_region=outer;built}, +41=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_41(caps,span,child,out);self.value_region=outer;built}, 42=>self.map_rule_42(caps,span,child,out), 43=>self.map_rule_43(caps,span,child,out), 44=>self.map_rule_44(caps,span,child,out), -45=>self.map_rule_45(caps,span,child,out), -46=>self.map_rule_46(caps,span,child,out), -47=>self.map_rule_47(caps,span,child,out), -48=>self.map_rule_48(caps,span,child,out), -49=>self.map_rule_49(caps,span,child,out), -50=>self.map_rule_50(caps,span,child,out), -51=>self.map_rule_51(caps,span,child,out), -52=>self.map_rule_52(caps,span,child,out), -53=>self.map_rule_53(caps,span,child,out), -54=>self.map_rule_54(caps,span,child,out), -55=>self.map_rule_55(caps,span,child,out), -56=>self.map_rule_56(caps,span,child,out), -57=>self.map_rule_57(caps,span,child,out), -58=>self.map_rule_58(caps,span,child,out), -59=>self.map_rule_59(caps,span,child,out), +45=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_45(caps,span,child,out);self.value_region=outer;built}, +46=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_46(caps,span,child,out);self.value_region=outer;built}, +47=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_47(caps,span,child,out);self.value_region=outer;built}, +48=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_48(caps,span,child,out);self.value_region=outer;built}, +49=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_49(caps,span,child,out);self.value_region=outer;built}, +50=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_50(caps,span,child,out);self.value_region=outer;built}, +51=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_51(caps,span,child,out);self.value_region=outer;built}, +52=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_52(caps,span,child,out);self.value_region=outer;built}, +53=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_53(caps,span,child,out);self.value_region=outer;built}, +54=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_54(caps,span,child,out);self.value_region=outer;built}, +55=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_55(caps,span,child,out);self.value_region=outer;built}, +56=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_56(caps,span,child,out);self.value_region=outer;built}, +57=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_57(caps,span,child,out);self.value_region=outer;built}, +58=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_58(caps,span,child,out);self.value_region=outer;built}, +59=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_59(caps,span,child,out);self.value_region=outer;built}, 60=>self.map_rule_60(caps,span,child,out), -61=>self.map_rule_61(caps,span,child,out), -62=>self.map_rule_62(caps,span,child,out), -63=>self.map_rule_63(caps,span,child,out), -64=>self.map_rule_64(caps,span,child,out), -65=>self.map_rule_65(caps,span,child,out), -66=>self.map_rule_66(caps,span,child,out), -67=>self.map_rule_67(caps,span,child,out), -68=>self.map_rule_68(caps,span,child,out), -69=>self.map_rule_69(caps,span,child,out), -70=>self.map_rule_70(caps,span,child,out), -71=>self.map_rule_71(caps,span,child,out), -72=>self.map_rule_72(caps,span,child,out), -73=>self.map_rule_73(caps,span,child,out), -74=>self.map_rule_74(caps,span,child,out), -75=>self.map_rule_75(caps,span,child,out), -76=>self.map_rule_76(caps,span,child,out), +61=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_61(caps,span,child,out);self.value_region=outer;built}, +62=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_62(caps,span,child,out);self.value_region=outer;built}, +63=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_63(caps,span,child,out);self.value_region=outer;built}, +64=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_64(caps,span,child,out);self.value_region=outer;built}, +65=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_65(caps,span,child,out);self.value_region=outer;built}, +66=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_66(caps,span,child,out);self.value_region=outer;built}, +67=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_67(caps,span,child,out);self.value_region=outer;built}, +68=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_68(caps,span,child,out);self.value_region=outer;built}, +69=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_69(caps,span,child,out);self.value_region=outer;built}, +70=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_70(caps,span,child,out);self.value_region=outer;built}, +71=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_71(caps,span,child,out);self.value_region=outer;built}, +72=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_72(caps,span,child,out);self.value_region=outer;built}, +73=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_73(caps,span,child,out);self.value_region=outer;built}, +74=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_74(caps,span,child,out);self.value_region=outer;built}, +75=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_75(caps,span,child,out);self.value_region=outer;built}, +76=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_76(caps,span,child,out);self.value_region=outer;built}, 77=>self.map_rule_77(caps,span,child,out), -78=>self.map_rule_78(caps,span,child,out), -79=>self.map_rule_79(caps,span,child,out), -80=>self.map_rule_80(caps,span,child,out), +78=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_78(caps,span,child,out);self.value_region=outer;built}, +79=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_79(caps,span,child,out);self.value_region=outer;built}, +80=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_80(caps,span,child,out);self.value_region=outer;built}, 81=>self.map_rule_81(caps,span,child,out), 82=>self.map_rule_82(caps,span,child,out), 83=>self.map_rule_83(caps,span,child,out), 84=>self.map_rule_84(caps,span,child,out), 85=>self.map_rule_85(caps,span,child,out), -86=>self.map_rule_86(caps,span,child,out), -87=>self.map_rule_87(caps,span,child,out), +86=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_86(caps,span,child,out);self.value_region=outer;built}, +87=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_87(caps,span,child,out);self.value_region=outer;built}, 88=>self.map_rule_88(caps,span,child,out), -89=>self.map_rule_89(caps,span,child,out), +89=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_89(caps,span,child,out);self.value_region=outer;built}, 90=>self.map_rule_90(caps,span,child,out), 91=>self.map_rule_91(caps,span,child,out), -92=>self.map_rule_92(caps,span,child,out), -93=>self.map_rule_93(caps,span,child,out), -94=>self.map_rule_94(caps,span,child,out), -95=>self.map_rule_95(caps,span,child,out), -96=>self.map_rule_96(caps,span,child,out), -97=>self.map_rule_97(caps,span,child,out), +92=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_92(caps,span,child,out);self.value_region=outer;built}, +93=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_93(caps,span,child,out);self.value_region=outer;built}, +94=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_94(caps,span,child,out);self.value_region=outer;built}, +95=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_95(caps,span,child,out);self.value_region=outer;built}, +96=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_96(caps,span,child,out);self.value_region=outer;built}, +97=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_97(caps,span,child,out);self.value_region=outer;built}, 98=>self.map_rule_98(caps,span,child,out), -99=>self.map_rule_99(caps,span,child,out), -100=>self.map_rule_100(caps,span,child,out), -101=>self.map_rule_101(caps,span,child,out), +99=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_99(caps,span,child,out);self.value_region=outer;built}, +100=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_100(caps,span,child,out);self.value_region=outer;built}, +101=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_101(caps,span,child,out);self.value_region=outer;built}, 102=>self.map_rule_102(caps,span,child,out), -103=>self.map_rule_103(caps,span,child,out), +103=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_103(caps,span,child,out);self.value_region=outer;built}, 104=>self.map_rule_104(caps,span,child,out), -105=>self.map_rule_105(caps,span,child,out), -106=>self.map_rule_106(caps,span,child,out), -107=>self.map_rule_107(caps,span,child,out), -108=>self.map_rule_108(caps,span,child,out), -109=>self.map_rule_109(caps,span,child,out), -110=>self.map_rule_110(caps,span,child,out), -111=>self.map_rule_111(caps,span,child,out), -112=>self.map_rule_112(caps,span,child,out), -113=>self.map_rule_113(caps,span,child,out), -114=>self.map_rule_114(caps,span,child,out), -115=>self.map_rule_115(caps,span,child,out), -116=>self.map_rule_116(caps,span,child,out), -117=>self.map_rule_117(caps,span,child,out), -118=>self.map_rule_118(caps,span,child,out), -119=>self.map_rule_119(caps,span,child,out), -120=>self.map_rule_120(caps,span,child,out), -121=>self.map_rule_121(caps,span,child,out), +105=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_105(caps,span,child,out);self.value_region=outer;built}, +106=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_106(caps,span,child,out);self.value_region=outer;built}, +107=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_107(caps,span,child,out);self.value_region=outer;built}, +108=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_108(caps,span,child,out);self.value_region=outer;built}, +109=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_109(caps,span,child,out);self.value_region=outer;built}, +110=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_110(caps,span,child,out);self.value_region=outer;built}, +111=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_111(caps,span,child,out);self.value_region=outer;built}, +112=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_112(caps,span,child,out);self.value_region=outer;built}, +113=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_113(caps,span,child,out);self.value_region=outer;built}, +114=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_114(caps,span,child,out);self.value_region=outer;built}, +115=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_115(caps,span,child,out);self.value_region=outer;built}, +116=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_116(caps,span,child,out);self.value_region=outer;built}, +117=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_117(caps,span,child,out);self.value_region=outer;built}, +118=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_118(caps,span,child,out);self.value_region=outer;built}, +119=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_119(caps,span,child,out);self.value_region=outer;built}, +120=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_120(caps,span,child,out);self.value_region=outer;built}, +121=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_121(caps,span,child,out);self.value_region=outer;built}, 122=>self.map_rule_122(caps,span,child,out), -123=>self.map_rule_123(caps,span,child,out), +123=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_123(caps,span,child,out);self.value_region=outer;built}, _=>Err(format!("unknown rule {rule}"))}} fn map_rule_0(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut f0=self.take_values();self.node_values(&caps,&[1],None,&mut f0)?; +let mut f0=self.take_values();self.node_values(&caps,&[1],&[],None,&mut f0)?; if !f0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ImportDeclarationExpr}) {return Err("imports: mapped value type mismatch".into());} let f0:Vec=f0; -let mut f1=self.take_values();self.node_values(&caps,&[2],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[2],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringVariableDeclarationExpr}) {return Err("declarations: mapped value type mismatch".into());} let f1:Vec=f1; -let mut v2=self.take_values();self.node_values(&caps,&[3],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[3],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ExpressionExpr}) {return Err("expression: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[3]) {return Ok(());} if v2.len()!=1 {return Err("expression requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); let f2:u32=f2; -let mut f3=self.take_values();self.node_values(&caps,&[4],None,&mut f3)?; +let mut f3=self.take_values();self.node_values(&caps,&[4],&[],None,&mut f3)?; if !f3.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringMethodDeclarationExpr}) {return Err("methods: mapped value type mismatch".into());} let f3:Vec=f3; -let mut f4=self.take_values();self.node_values(&caps,&[0],None,&mut f4)?; +let mut f4=self.take_values();self.node_values(&caps,&[0],&[],None,&mut f4)?; if !f4.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_CodeBlockExpr}) {return Err("codeBlocks: mapped value type mismatch".into());} let f4:Vec=f4; self.give_captures(caps);let span=self.span(span);let l0=self.tree.list(&f0);self.give_values(f0);let l1=self.tree.list(&f1);self.give_values(f1);let l3=self.tree.list(&f3);self.give_values(f3);let l4=self.tree.list(&f4);self.give_values(f4);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_FormulaExpr,0,span,&[l0[0],l0[1],l1[0],l1[1],f2,l3[0],l3[1],l4[0],l4[1]]);out.push(node);Ok(())}} @@ -3269,7 +3407,7 @@ if t0.len()!=1 {return Err("source requires one value".into());}let f0=t0.pop(). let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_CodeBlockExpr,1,span,&[f0]);out.push(node);Ok(())}} fn map_rule_2(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[6],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[6],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_QualifiedNameExpr}) {return Err("className: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[6]) {return Ok(());} if v0.len()!=1 {return Err("className requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); @@ -3292,11 +3430,11 @@ fn map_rule_5(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec let mut t0=self.take_values();self.text_values(&caps,&[11],&mut t0);if t0.is_empty() && self.missing_field(&caps,&[11]) {return Ok(());} if t0.len()!=1 {return Err("varName requires one value".into());}let f0=t0.pop().unwrap();self.give_values(t0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[12],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[12],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_OnlyIfAbsentExpr}) {return Err("onlyIfAbsent: mapped value type mismatch".into());} if v1.len()>1 {return Err("onlyIfAbsent requires at most one node".into());}let f1=v1.pop();self.give_values(v1); let f1:Option=f1; -let mut v2=self.take_values();self.node_values(&caps,&[13],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[13],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr}) {return Err("value: mapped value type mismatch".into());} if v2.len()>1 {return Err("value requires at most one node".into());}let f2=v2.pop();self.give_values(v2); let f2:Option=f2; @@ -3307,11 +3445,11 @@ fn map_rule_6(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec let mut t0=self.take_values();self.text_values(&caps,&[15],&mut t0);if t0.is_empty() && self.missing_field(&caps,&[15]) {return Ok(());} if t0.len()!=1 {return Err("varName requires one value".into());}let f0=t0.pop().unwrap();self.give_values(t0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[16],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[16],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_OnlyIfAbsentExpr}) {return Err("onlyIfAbsent: mapped value type mismatch".into());} if v1.len()>1 {return Err("onlyIfAbsent requires at most one node".into());}let f1=v1.pop();self.give_values(v1); let f1:Option=f1; -let mut v2=self.take_values();self.node_values(&caps,&[17],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[17],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v2.len()>1 {return Err("value requires at most one node".into());}let f2=v2.pop();self.give_values(v2); let f2:Option=f2; @@ -3322,11 +3460,11 @@ fn map_rule_7(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec let mut t0=self.take_values();self.text_values(&caps,&[19],&mut t0);if t0.is_empty() && self.missing_field(&caps,&[19]) {return Ok(());} if t0.len()!=1 {return Err("varName requires one value".into());}let f0=t0.pop().unwrap();self.give_values(t0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[20],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[20],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_OnlyIfAbsentExpr}) {return Err("onlyIfAbsent: mapped value type mismatch".into());} if v1.len()>1 {return Err("onlyIfAbsent requires at most one node".into());}let f1=v1.pop();self.give_values(v1); let f1:Option=f1; -let mut v2=self.take_values();self.node_values(&caps,&[21],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[21],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr}) {return Err("value: mapped value type mismatch".into());} if v2.len()>1 {return Err("value requires at most one node".into());}let f2=v2.pop();self.give_values(v2); let f2:Option=f2; @@ -3337,25 +3475,25 @@ fn map_rule_8(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec let mut t0=self.take_values();self.text_values(&caps,&[23],&mut t0);if t0.is_empty() && self.missing_field(&caps,&[23]) {return Ok(());} if t0.len()!=1 {return Err("varName requires one value".into());}let f0=t0.pop().unwrap();self.give_values(t0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[24],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[24],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_OnlyIfAbsentExpr}) {return Err("onlyIfAbsent: mapped value type mismatch".into());} if v1.len()>1 {return Err("onlyIfAbsent requires at most one node".into());}let f1=v1.pop();self.give_values(v1); let f1:Option=f1; -let mut v2=self.take_values();self.node_values(&caps,&[25],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[25],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ObjectExpr}) {return Err("value: mapped value type mismatch".into());} if v2.len()>1 {return Err("value requires at most one node".into());}let f2=v2.pop();self.give_values(v2); let f2:Option=f2; let mut t3=self.take_values();self.text_values(&caps,&[26],&mut t3);if t3.len()>1 {return Err("desc requires at most one value".into());}let f3=t3.pop();self.give_values(t3); let f3:Option=f3; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ObjectVariableDeclarationExpr,8,span,&[f0,f1.unwrap_or(tree::NONE),f2.unwrap_or(tree::NONE),f3.unwrap_or(tree::NONE)]);out.push(node);Ok(())}} -fn map_rule_9(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} -fn map_rule_10(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} -fn map_rule_11(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} -fn map_rule_12(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} -fn map_rule_13(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_9(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_10(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_11(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_12(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_13(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_14(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_OnlyIfAbsentExpr,14,span,&[]);out.push(node);Ok(())}} -fn map_rule_15(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_15(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_16(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_17(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_18(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} @@ -3364,11 +3502,11 @@ fn map_rule_20(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec1 {return Err("parameters requires at most one node".into());}let f1=v1.pop();self.give_values(v1); let f1:Option=f1; -let mut v2=self.take_values();self.node_values(&caps,&[29],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[29],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr}) {return Err("expression: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[29]) {return Ok(());} if v2.len()!=1 {return Err("expression requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); @@ -3378,11 +3516,11 @@ fn map_rule_21(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec1 {return Err("parameters requires at most one node".into());}let f1=v1.pop();self.give_values(v1); let f1:Option=f1; -let mut v2=self.take_values();self.node_values(&caps,&[32],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[32],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("expression: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[32]) {return Ok(());} if v2.len()!=1 {return Err("expression requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); @@ -3392,11 +3530,11 @@ fn map_rule_22(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec1 {return Err("parameters requires at most one node".into());}let f1=v1.pop();self.give_values(v1); let f1:Option=f1; -let mut v2=self.take_values();self.node_values(&caps,&[35],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[35],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr}) {return Err("expression: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[35]) {return Ok(());} if v2.len()!=1 {return Err("expression requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); @@ -3406,18 +3544,18 @@ fn map_rule_23(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec1 {return Err("parameters requires at most one node".into());}let f1=v1.pop();self.give_values(v1); let f1:Option=f1; -let mut v2=self.take_values();self.node_values(&caps,&[38],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[38],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ObjectExpr}) {return Err("expression: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[38]) {return Ok(());} if v2.len()!=1 {return Err("expression requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); let f2:u32=f2; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ObjectMethodDeclarationExpr,23,span,&[f0,f1.unwrap_or(tree::NONE),f2]);out.push(node);Ok(())}} fn map_rule_24(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut f0=self.take_values();self.node_values(&caps,&[39, 40],None,&mut f0)?; +let mut f0=self.take_values();self.node_values(&caps,&[39, 40],&[],None,&mut f0)?; if !f0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_MethodParameterExpr}) {return Err("values: mapped value type mismatch".into());} let f0:Vec=f0; self.give_captures(caps);let span=self.span(span);let l0=self.tree.list(&f0);self.give_values(f0);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_MethodParametersExpr,24,span,&[l0[0],l0[1]]);out.push(node);Ok(())}} @@ -3428,238 +3566,238 @@ let f0:u32=f0; let mut t1=self.take_values();self.text_values(&caps,&[42],&mut t1);if t1.len()>1 {return Err("type requires at most one value".into());}let f1=t1.pop();self.give_values(t1); let f1:Option=f1; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_MethodParameterExpr,25,span,&[f0,f1.unwrap_or(tree::NONE)]);out.push(node);Ok(())}} -fn map_rule_26(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} -fn map_rule_27(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} -fn map_rule_28(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} -fn map_rule_29(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} -fn map_rule_30(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_26(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_27(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_28(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_29(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_30(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_31(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[43],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[43],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_QualifiedNameExpr}) {return Err("className: mapped value type mismatch".into());} if v0.len()>1 {return Err("className requires at most one node".into());}let f0=v0.pop();self.give_values(v0); let f0:Option=f0; let mut t1=self.take_values();self.text_values(&caps,&[44, 45],&mut t1);if t1.is_empty() && self.missing_field(&caps,&[44, 45]) {return Ok(());} if t1.len()!=1 {return Err("name requires one value".into());}let f1=t1.pop().unwrap();self.give_values(t1); let f1:u32=f1; -let mut v2=self.take_values();self.node_values(&caps,&[46],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[46],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentsExpr}) {return Err("args: mapped value type mismatch".into());} if v2.len()>1 {return Err("args requires at most one node".into());}let f2=v2.pop();self.give_values(v2); let f2:Option=f2; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ExternalBooleanInvocationExpr,31,span,&[f0.unwrap_or(tree::NONE),f1,f2.unwrap_or(tree::NONE)]);out.push(node);Ok(())}} fn map_rule_32(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[47],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[47],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_QualifiedNameExpr}) {return Err("className: mapped value type mismatch".into());} if v0.len()>1 {return Err("className requires at most one node".into());}let f0=v0.pop();self.give_values(v0); let f0:Option=f0; let mut t1=self.take_values();self.text_values(&caps,&[48, 49],&mut t1);if t1.is_empty() && self.missing_field(&caps,&[48, 49]) {return Ok(());} if t1.len()!=1 {return Err("name requires one value".into());}let f1=t1.pop().unwrap();self.give_values(t1); let f1:u32=f1; -let mut v2=self.take_values();self.node_values(&caps,&[50],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[50],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentsExpr}) {return Err("args: mapped value type mismatch".into());} if v2.len()>1 {return Err("args requires at most one node".into());}let f2=v2.pop();self.give_values(v2); let f2:Option=f2; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ExternalNumberInvocationExpr,32,span,&[f0.unwrap_or(tree::NONE),f1,f2.unwrap_or(tree::NONE)]);out.push(node);Ok(())}} fn map_rule_33(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[51],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[51],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_QualifiedNameExpr}) {return Err("className: mapped value type mismatch".into());} if v0.len()>1 {return Err("className requires at most one node".into());}let f0=v0.pop();self.give_values(v0); let f0:Option=f0; let mut t1=self.take_values();self.text_values(&caps,&[52, 53],&mut t1);if t1.is_empty() && self.missing_field(&caps,&[52, 53]) {return Ok(());} if t1.len()!=1 {return Err("name requires one value".into());}let f1=t1.pop().unwrap();self.give_values(t1); let f1:u32=f1; -let mut v2=self.take_values();self.node_values(&caps,&[54],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[54],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentsExpr}) {return Err("args: mapped value type mismatch".into());} if v2.len()>1 {return Err("args requires at most one node".into());}let f2=v2.pop();self.give_values(v2); let f2:Option=f2; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ExternalStringInvocationExpr,33,span,&[f0.unwrap_or(tree::NONE),f1,f2.unwrap_or(tree::NONE)]);out.push(node);Ok(())}} fn map_rule_34(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[55],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[55],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_QualifiedNameExpr}) {return Err("className: mapped value type mismatch".into());} if v0.len()>1 {return Err("className requires at most one node".into());}let f0=v0.pop();self.give_values(v0); let f0:Option=f0; let mut t1=self.take_values();self.text_values(&caps,&[56, 57],&mut t1);if t1.is_empty() && self.missing_field(&caps,&[56, 57]) {return Ok(());} if t1.len()!=1 {return Err("name requires one value".into());}let f1=t1.pop().unwrap();self.give_values(t1); let f1:u32=f1; -let mut v2=self.take_values();self.node_values(&caps,&[58],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[58],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentsExpr}) {return Err("args: mapped value type mismatch".into());} if v2.len()>1 {return Err("args requires at most one node".into());}let f2=v2.pop();self.give_values(v2); let f2:Option=f2; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ExternalObjectInvocationExpr,34,span,&[f0.unwrap_or(tree::NONE),f1,f2.unwrap_or(tree::NONE)]);out.push(node);Ok(())}} -fn map_rule_35(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_35(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_36(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; let mut t0=self.take_values();self.text_values(&caps,&[59],&mut t0);if t0.is_empty() && self.missing_field(&caps,&[59]) {return Ok(());} if t0.len()!=1 {return Err("name requires one value".into());}let f0=t0.pop().unwrap();self.give_values(t0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[60],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[60],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentsExpr}) {return Err("args: mapped value type mismatch".into());} if v1.len()>1 {return Err("args requires at most one node".into());}let f1=v1.pop();self.give_values(v1); let f1:Option=f1; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr,36,span,&[f0,f1.unwrap_or(tree::NONE)]);out.push(node);Ok(())}} fn map_rule_37(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[61],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[61],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr}) {return Err("condition: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[61]) {return Ok(());} if v0.len()!=1 {return Err("condition requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[62],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[62],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BranchExpressionExpr}) {return Err("thenExpr: mapped value type mismatch".into());} if v1.is_empty() && self.missing_field(&caps,&[62]) {return Ok(());} if v1.len()!=1 {return Err("thenExpr requires one node".into());}let f1=v1.pop().unwrap();self.give_values(v1); let f1:u32=f1; -let mut v2=self.take_values();self.node_values(&caps,&[63],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[63],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BranchExpressionExpr}) {return Err("elseExpr: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[63]) {return Ok(());} if v2.len()!=1 {return Err("elseExpr requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); let f2:u32=f2; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_TernaryExpr,37,span,&[f0,f1,f2]);out.push(node);Ok(())}} fn map_rule_38(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[64, 65, 66, 67],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[64, 65, 66, 67],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_TernaryExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[64, 65, 66, 67]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr,38,span,&[f0]);out.push(node);Ok(())}} fn map_rule_39(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut f0=self.take_values();self.node_values(&caps,&[68, 69],None,&mut f0)?; +let mut f0=self.take_values();self.node_values(&caps,&[68, 69],&[],None,&mut f0)?; if !f0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("values: mapped value type mismatch".into());} let f0:Vec=f0; self.give_captures(caps);let span=self.span(span);let l0=self.tree.list(&f0);self.give_values(f0);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ArgumentsExpr,39,span,&[l0[0],l0[1]]);out.push(node);Ok(())}} fn map_rule_40(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[70],Some(24),&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[70],&[],Some(24),&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::KIND_NULL || k==tree::K_g_TinyExpressionP4AST_2e_AbsExpr || k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_ArgumentsExpr || k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanAndExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanCaseValueExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanDefaultCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanEqualityExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanFactorExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanXorExpr || k==tree::K_g_TinyExpressionP4AST_2e_BranchExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_CeilExpr || k==tree::K_g_TinyExpressionP4AST_2e_CodeBlockExpr || k==tree::K_g_TinyExpressionP4AST_2e_ComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsExpr || k==tree::K_g_TinyExpressionP4AST_2e_CosExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExpExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalBooleanInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalNumberInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalObjectInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalStringInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_FloorExpr || k==tree::K_g_TinyExpressionP4AST_2e_FormulaExpr || k==tree::K_g_TinyExpressionP4AST_2e_IfExpr || k==tree::K_g_TinyExpressionP4AST_2e_ImportDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_InDayTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_InExpr || k==tree::K_g_TinyExpressionP4AST_2e_InTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_IsPresentExpr || k==tree::K_g_TinyExpressionP4AST_2e_LengthDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_LengthExpr || k==tree::K_g_TinyExpressionP4AST_2e_LogExpr || k==tree::K_g_TinyExpressionP4AST_2e_MaxExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodParameterExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodParametersExpr || k==tree::K_g_TinyExpressionP4AST_2e_MinExpr || k==tree::K_g_TinyExpressionP4AST_2e_NotExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberCaseValueExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberDefaultCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_OnlyIfAbsentExpr || k==tree::K_g_TinyExpressionP4AST_2e_PowExpr || k==tree::K_g_TinyExpressionP4AST_2e_QualifiedNameExpr || k==tree::K_g_TinyExpressionP4AST_2e_RandomExpr || k==tree::K_g_TinyExpressionP4AST_2e_RoundExpr || k==tree::K_g_TinyExpressionP4AST_2e_SinExpr || k==tree::K_g_TinyExpressionP4AST_2e_SliceExpr || k==tree::K_g_TinyExpressionP4AST_2e_SqrtExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCaseValueExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCastVariableRefExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringDefaultCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringTypedVariableRefExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_TanExpr || k==tree::K_g_TinyExpressionP4AST_2e_TernaryExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToNumExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("left: mapped value type mismatch".into());} if v0.len()>1 {return Err("left requires at most one node".into());}let f0=v0.pop();self.give_values(v0); let f0:Option=f0; let mut f1=self.take_values();self.text_values(&caps,&[71],&mut f1); let f1:Vec=f1; -let mut f2=self.take_values();self.node_values(&caps,&[72],Some(24),&mut f2)?; +let mut f2=self.take_values();self.node_values(&caps,&[72],&[],Some(24),&mut f2)?; if !f2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_AbsExpr || k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_ArgumentsExpr || k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanAndExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanCaseValueExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanDefaultCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanEqualityExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanFactorExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanXorExpr || k==tree::K_g_TinyExpressionP4AST_2e_BranchExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_CeilExpr || k==tree::K_g_TinyExpressionP4AST_2e_CodeBlockExpr || k==tree::K_g_TinyExpressionP4AST_2e_ComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsExpr || k==tree::K_g_TinyExpressionP4AST_2e_CosExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExpExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalBooleanInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalNumberInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalObjectInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalStringInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_FloorExpr || k==tree::K_g_TinyExpressionP4AST_2e_FormulaExpr || k==tree::K_g_TinyExpressionP4AST_2e_IfExpr || k==tree::K_g_TinyExpressionP4AST_2e_ImportDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_InDayTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_InExpr || k==tree::K_g_TinyExpressionP4AST_2e_InTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_IsPresentExpr || k==tree::K_g_TinyExpressionP4AST_2e_LengthDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_LengthExpr || k==tree::K_g_TinyExpressionP4AST_2e_LogExpr || k==tree::K_g_TinyExpressionP4AST_2e_MaxExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodParameterExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodParametersExpr || k==tree::K_g_TinyExpressionP4AST_2e_MinExpr || k==tree::K_g_TinyExpressionP4AST_2e_NotExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberCaseValueExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberDefaultCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_OnlyIfAbsentExpr || k==tree::K_g_TinyExpressionP4AST_2e_PowExpr || k==tree::K_g_TinyExpressionP4AST_2e_QualifiedNameExpr || k==tree::K_g_TinyExpressionP4AST_2e_RandomExpr || k==tree::K_g_TinyExpressionP4AST_2e_RoundExpr || k==tree::K_g_TinyExpressionP4AST_2e_SinExpr || k==tree::K_g_TinyExpressionP4AST_2e_SliceExpr || k==tree::K_g_TinyExpressionP4AST_2e_SqrtExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCaseValueExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCastVariableRefExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringDefaultCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringTypedVariableRefExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_TanExpr || k==tree::K_g_TinyExpressionP4AST_2e_TernaryExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToNumExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("right: mapped value type mismatch".into());} let f2:Vec=f2; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let l2=self.tree.list(&f2);self.give_values(f2);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_BinaryExpr,40,span,&[f0.unwrap_or(tree::NONE),l1[0],l1[1],l2[0],l2[1]]);out.push(node);Ok(())}} fn map_rule_41(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[73],Some(24),&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[73],&[],Some(24),&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::KIND_NULL || k==tree::K_g_TinyExpressionP4AST_2e_AbsExpr || k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_ArgumentsExpr || k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanAndExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanCaseValueExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanDefaultCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanEqualityExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanFactorExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanXorExpr || k==tree::K_g_TinyExpressionP4AST_2e_BranchExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_CeilExpr || k==tree::K_g_TinyExpressionP4AST_2e_CodeBlockExpr || k==tree::K_g_TinyExpressionP4AST_2e_ComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsExpr || k==tree::K_g_TinyExpressionP4AST_2e_CosExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExpExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalBooleanInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalNumberInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalObjectInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalStringInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_FloorExpr || k==tree::K_g_TinyExpressionP4AST_2e_FormulaExpr || k==tree::K_g_TinyExpressionP4AST_2e_IfExpr || k==tree::K_g_TinyExpressionP4AST_2e_ImportDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_InDayTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_InExpr || k==tree::K_g_TinyExpressionP4AST_2e_InTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_IsPresentExpr || k==tree::K_g_TinyExpressionP4AST_2e_LengthDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_LengthExpr || k==tree::K_g_TinyExpressionP4AST_2e_LogExpr || k==tree::K_g_TinyExpressionP4AST_2e_MaxExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodParameterExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodParametersExpr || k==tree::K_g_TinyExpressionP4AST_2e_MinExpr || k==tree::K_g_TinyExpressionP4AST_2e_NotExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberCaseValueExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberDefaultCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_OnlyIfAbsentExpr || k==tree::K_g_TinyExpressionP4AST_2e_PowExpr || k==tree::K_g_TinyExpressionP4AST_2e_QualifiedNameExpr || k==tree::K_g_TinyExpressionP4AST_2e_RandomExpr || k==tree::K_g_TinyExpressionP4AST_2e_RoundExpr || k==tree::K_g_TinyExpressionP4AST_2e_SinExpr || k==tree::K_g_TinyExpressionP4AST_2e_SliceExpr || k==tree::K_g_TinyExpressionP4AST_2e_SqrtExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCaseValueExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCastVariableRefExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringDefaultCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringTypedVariableRefExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_TanExpr || k==tree::K_g_TinyExpressionP4AST_2e_TernaryExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToNumExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("left: mapped value type mismatch".into());} if v0.len()>1 {return Err("left requires at most one node".into());}let f0=v0.pop();self.give_values(v0); let f0:Option=f0; let mut f1=self.take_values();self.text_values(&caps,&[74],&mut f1); let f1:Vec=f1; -let mut f2=self.take_values();self.node_values(&caps,&[75],Some(24),&mut f2)?; +let mut f2=self.take_values();self.node_values(&caps,&[75],&[],Some(24),&mut f2)?; if !f2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_AbsExpr || k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_ArgumentsExpr || k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanAndExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanCaseValueExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanDefaultCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanEqualityExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanFactorExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanXorExpr || k==tree::K_g_TinyExpressionP4AST_2e_BranchExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_CeilExpr || k==tree::K_g_TinyExpressionP4AST_2e_CodeBlockExpr || k==tree::K_g_TinyExpressionP4AST_2e_ComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsExpr || k==tree::K_g_TinyExpressionP4AST_2e_CosExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExpExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalBooleanInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalNumberInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalObjectInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalStringInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_FloorExpr || k==tree::K_g_TinyExpressionP4AST_2e_FormulaExpr || k==tree::K_g_TinyExpressionP4AST_2e_IfExpr || k==tree::K_g_TinyExpressionP4AST_2e_ImportDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_InDayTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_InExpr || k==tree::K_g_TinyExpressionP4AST_2e_InTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_IsPresentExpr || k==tree::K_g_TinyExpressionP4AST_2e_LengthDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_LengthExpr || k==tree::K_g_TinyExpressionP4AST_2e_LogExpr || k==tree::K_g_TinyExpressionP4AST_2e_MaxExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodParameterExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodParametersExpr || k==tree::K_g_TinyExpressionP4AST_2e_MinExpr || k==tree::K_g_TinyExpressionP4AST_2e_NotExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberCaseValueExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberDefaultCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_NumberVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_OnlyIfAbsentExpr || k==tree::K_g_TinyExpressionP4AST_2e_PowExpr || k==tree::K_g_TinyExpressionP4AST_2e_QualifiedNameExpr || k==tree::K_g_TinyExpressionP4AST_2e_RandomExpr || k==tree::K_g_TinyExpressionP4AST_2e_RoundExpr || k==tree::K_g_TinyExpressionP4AST_2e_SinExpr || k==tree::K_g_TinyExpressionP4AST_2e_SliceExpr || k==tree::K_g_TinyExpressionP4AST_2e_SqrtExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCaseValueExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCastVariableRefExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringDefaultCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringMethodDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringTypedVariableRefExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringVariableDeclarationExpr || k==tree::K_g_TinyExpressionP4AST_2e_TanExpr || k==tree::K_g_TinyExpressionP4AST_2e_TernaryExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToNumExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("right: mapped value type mismatch".into());} let f2:Vec=f2; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let l2=self.tree.list(&f2);self.give_values(f2);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_BinaryExpr,41,span,&[f0.unwrap_or(tree::NONE),l1[0],l1[1],l2[0],l2[1]]);out.push(node);Ok(())}} -fn map_rule_42(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} -fn map_rule_43(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_42(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_43(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_44(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_45(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[76],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[76],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("arg: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[76]) {return Ok(());} if v0.len()!=1 {return Err("arg requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_SinExpr,45,span,&[f0]);out.push(node);Ok(())}} fn map_rule_46(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[77],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[77],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("arg: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[77]) {return Ok(());} if v0.len()!=1 {return Err("arg requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_CosExpr,46,span,&[f0]);out.push(node);Ok(())}} fn map_rule_47(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[78],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[78],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("arg: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[78]) {return Ok(());} if v0.len()!=1 {return Err("arg requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_TanExpr,47,span,&[f0]);out.push(node);Ok(())}} fn map_rule_48(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[79],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[79],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("arg: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[79]) {return Ok(());} if v0.len()!=1 {return Err("arg requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_SqrtExpr,48,span,&[f0]);out.push(node);Ok(())}} fn map_rule_49(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[80],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[80],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("first: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[80]) {return Ok(());} if v0.len()!=1 {return Err("first requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut f1=self.take_values();self.node_values(&caps,&[81],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[81],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("rest: mapped value type mismatch".into());} let f1:Vec=f1; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_MinExpr,49,span,&[f0,l1[0],l1[1]]);out.push(node);Ok(())}} fn map_rule_50(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[82],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[82],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("first: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[82]) {return Ok(());} if v0.len()!=1 {return Err("first requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut f1=self.take_values();self.node_values(&caps,&[83],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[83],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("rest: mapped value type mismatch".into());} let f1:Vec=f1; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_MaxExpr,50,span,&[f0,l1[0],l1[1]]);out.push(node);Ok(())}} fn map_rule_51(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_RandomExpr,51,span,&[]);out.push(node);Ok(())}} fn map_rule_52(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[84],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[84],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("arg: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[84]) {return Ok(());} if v0.len()!=1 {return Err("arg requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_AbsExpr,52,span,&[f0]);out.push(node);Ok(())}} fn map_rule_53(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[85],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[85],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("arg: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[85]) {return Ok(());} if v0.len()!=1 {return Err("arg requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_RoundExpr,53,span,&[f0]);out.push(node);Ok(())}} fn map_rule_54(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[86],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[86],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("arg: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[86]) {return Ok(());} if v0.len()!=1 {return Err("arg requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_CeilExpr,54,span,&[f0]);out.push(node);Ok(())}} fn map_rule_55(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[87],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[87],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("arg: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[87]) {return Ok(());} if v0.len()!=1 {return Err("arg requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_FloorExpr,55,span,&[f0]);out.push(node);Ok(())}} fn map_rule_56(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[88],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[88],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("base: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[88]) {return Ok(());} if v0.len()!=1 {return Err("base requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[89],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[89],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("exponent: mapped value type mismatch".into());} if v1.is_empty() && self.missing_field(&caps,&[89]) {return Ok(());} if v1.len()!=1 {return Err("exponent requires one node".into());}let f1=v1.pop().unwrap();self.give_values(v1); let f1:u32=f1; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_PowExpr,56,span,&[f0,f1]);out.push(node);Ok(())}} fn map_rule_57(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[90],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[90],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("arg: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[90]) {return Ok(());} if v0.len()!=1 {return Err("arg requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_LogExpr,57,span,&[f0]);out.push(node);Ok(())}} fn map_rule_58(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[91],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[91],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("arg: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[91]) {return Ok(());} if v0.len()!=1 {return Err("arg requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ExpExpr,58,span,&[f0]);out.push(node);Ok(())}} fn map_rule_59(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[92],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[92],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[92]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[93],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[93],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ArgumentExpressionExpr}) {return Err("defaultValue: mapped value type mismatch".into());} if v1.is_empty() && self.missing_field(&caps,&[93]) {return Ok(());} if v1.len()!=1 {return Err("defaultValue requires one node".into());}let f1=v1.pop().unwrap();self.give_values(v1); @@ -3667,153 +3805,153 @@ let f1:u32=f1; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ToNumExpr,59,span,&[f0,f1]);out.push(node);Ok(())}} fn map_rule_60(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_61(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[94],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[94],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[94]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseExpr,61,span,&[f0]);out.push(node);Ok(())}} fn map_rule_62(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[95],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[95],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[95]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseExpr,62,span,&[f0]);out.push(node);Ok(())}} fn map_rule_63(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[96],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[96],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[96]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_TrimExpr,63,span,&[f0]);out.push(node);Ok(())}} fn map_rule_64(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[97],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[97],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[97]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_LengthExpr,64,span,&[f0]);out.push(node);Ok(())}} fn map_rule_65(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[98],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[98],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[98]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_LengthExpr,65,span,&[f0]);out.push(node);Ok(())}} fn map_rule_66(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[99],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[99],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[99]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseDotExpr,66,span,&[f0]);out.push(node);Ok(())}} fn map_rule_67(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[100],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[100],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[100]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseDotExpr,67,span,&[f0]);out.push(node);Ok(())}} fn map_rule_68(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[101],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[101],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[101]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_TrimDotExpr,68,span,&[f0]);out.push(node);Ok(())}} fn map_rule_69(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[102],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[102],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[102]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_LengthDotExpr,69,span,&[f0]);out.push(node);Ok(())}} fn map_rule_70(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[103],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[103],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[103]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut f1=self.take_values();self.node_values(&caps,&[104, 105],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[104, 105],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("patterns: mapped value type mismatch".into());} let f1:Vec=f1; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_StartsWithExpr,70,span,&[f0,l1[0],l1[1]]);out.push(node);Ok(())}} fn map_rule_71(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[106],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[106],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[106]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut f1=self.take_values();self.node_values(&caps,&[107, 108],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[107, 108],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("patterns: mapped value type mismatch".into());} let f1:Vec=f1; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_EndsWithExpr,71,span,&[f0,l1[0],l1[1]]);out.push(node);Ok(())}} fn map_rule_72(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[109],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[109],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[109]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut f1=self.take_values();self.node_values(&caps,&[110, 111],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[110, 111],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("patterns: mapped value type mismatch".into());} let f1:Vec=f1; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ContainsExpr,72,span,&[f0,l1[0],l1[1]]);out.push(node);Ok(())}} fn map_rule_73(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[112],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[112],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[112]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut f1=self.take_values();self.node_values(&caps,&[113, 114],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[113, 114],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("candidates: mapped value type mismatch".into());} let f1:Vec=f1; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_InExpr,73,span,&[f0,l1[0],l1[1]]);out.push(node);Ok(())}} fn map_rule_74(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[115],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[115],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[115]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut f1=self.take_values();self.node_values(&caps,&[116, 117],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[116, 117],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("patterns: mapped value type mismatch".into());} let f1:Vec=f1; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_StartsWithDotExpr,74,span,&[f0,l1[0],l1[1]]);out.push(node);Ok(())}} fn map_rule_75(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[118],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[118],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[118]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut f1=self.take_values();self.node_values(&caps,&[119, 120],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[119, 120],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("patterns: mapped value type mismatch".into());} let f1:Vec=f1; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_EndsWithDotExpr,75,span,&[f0,l1[0],l1[1]]);out.push(node);Ok(())}} fn map_rule_76(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[121],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[121],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[121]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut f1=self.take_values();self.node_values(&caps,&[122, 123],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[122, 123],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("patterns: mapped value type mismatch".into());} let f1:Vec=f1; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ContainsDotExpr,76,span,&[f0,l1[0],l1[1]]);out.push(node);Ok(())}} fn map_rule_77(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_78(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[124],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[124],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[124]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_IsPresentExpr,78,span,&[f0]);out.push(node);Ok(())}} fn map_rule_79(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[125],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[125],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr}) {return Err("startHour: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[125]) {return Ok(());} if v0.len()!=1 {return Err("startHour requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[126],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[126],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr}) {return Err("endHour: mapped value type mismatch".into());} if v1.is_empty() && self.missing_field(&caps,&[126]) {return Ok(());} if v1.len()!=1 {return Err("endHour requires one node".into());}let f1=v1.pop().unwrap();self.give_values(v1); @@ -3823,7 +3961,7 @@ fn map_rule_80(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_81(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_82(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_83(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_84(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_85(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_86(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[131, 135, 138, 141, 143, 146, 148, 150],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[131, 135, 138, 141, 143, 146, 148, 150],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::KIND_TEXT || k==tree::K_g_TinyExpressionP4AST_2e_ExternalStringInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_SliceExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[131, 135, 138, 141, 143, 146, 148, 150]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[132, 136, 139, 142],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[132, 136, 139, 142],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr}) {return Err("start: mapped value type mismatch".into());} if v1.len()>1 {return Err("start requires at most one node".into());}let f1=v1.pop();self.give_values(v1); let f1:Option=f1; -let mut v2=self.take_values();self.node_values(&caps,&[133, 137, 144, 147],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[133, 137, 144, 147],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr}) {return Err("end: mapped value type mismatch".into());} if v2.len()>1 {return Err("end requires at most one node".into());}let f2=v2.pop();self.give_values(v2); let f2:Option=f2; -let mut v3=self.take_values();self.node_values(&caps,&[134, 140, 145, 149],None,&mut v3)?; +let mut v3=self.take_values();self.node_values(&caps,&[134, 140, 145, 149],&[],None,&mut v3)?; if !v3.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr}) {return Err("step: mapped value type mismatch".into());} if v3.len()>1 {return Err("step requires at most one node".into());}let f3=v3.pop();self.give_values(v3); let f3:Option=f3; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_SliceExpr,86,span,&[f0,f1.unwrap_or(tree::NONE),f2.unwrap_or(tree::NONE),f3.unwrap_or(tree::NONE)]);out.push(node);Ok(())}} fn map_rule_87(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[151, 155, 158, 161, 163, 166, 168, 170],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[151, 155, 158, 161, 163, 166, 168, 170],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::KIND_TEXT || k==tree::K_g_TinyExpressionP4AST_2e_ExternalStringInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_SliceExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[151, 155, 158, 161, 163, 166, 168, 170]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[152, 156, 159, 162],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[152, 156, 159, 162],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr}) {return Err("start: mapped value type mismatch".into());} if v1.len()>1 {return Err("start requires at most one node".into());}let f1=v1.pop();self.give_values(v1); let f1:Option=f1; -let mut v2=self.take_values();self.node_values(&caps,&[153, 157, 164, 167],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[153, 157, 164, 167],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr}) {return Err("end: mapped value type mismatch".into());} if v2.len()>1 {return Err("end requires at most one node".into());}let f2=v2.pop();self.give_values(v2); let f2:Option=f2; -let mut v3=self.take_values();self.node_values(&caps,&[154, 160, 165, 169],None,&mut v3)?; +let mut v3=self.take_values();self.node_values(&caps,&[154, 160, 165, 169],&[],None,&mut v3)?; if !v3.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr}) {return Err("step: mapped value type mismatch".into());} if v3.len()>1 {return Err("step requires at most one node".into());}let f3=v3.pop();self.give_values(v3); let f3:Option=f3; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_SliceExpr,87,span,&[f0,f1.unwrap_or(tree::NONE),f2.unwrap_or(tree::NONE),f3.unwrap_or(tree::NONE)]);out.push(node);Ok(())}} fn map_rule_88(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_89(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[171],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[171],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::KIND_TEXT || k==tree::K_g_TinyExpressionP4AST_2e_ExternalStringInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_IfExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_SliceExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCastVariableRefExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringTypedVariableRefExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("left: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[171]) {return Ok(());} if v0.len()!=1 {return Err("left requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; let mut f1=self.take_values();self.text_values(&caps,&[172],&mut f1); let f1:Vec=f1; -let mut f2=self.take_values();self.node_values(&caps,&[173],None,&mut f2)?; +let mut f2=self.take_values();self.node_values(&caps,&[173],&[],None,&mut f2)?; if !f2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::KIND_TEXT || k==tree::K_g_TinyExpressionP4AST_2e_ExternalStringInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_IfExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_SliceExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringCastVariableRefExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringTypedVariableRefExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToLowerCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ToUpperCaseExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_TrimExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("right: mapped value type mismatch".into());} let f2:Vec=f2; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let l2=self.tree.list(&f2);self.give_values(f2);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr,89,span,&[f0,l1[0],l1[1],l2[0],l2[1]]);out.push(node);Ok(())}} @@ -3906,43 +4044,43 @@ if t0.len()!=1 {return Err("name requires one value".into());}let f0=t0.pop().un let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_StringTypedVariableRefExpr,93,span,&[f0]);out.push(node);Ok(())}} fn map_rule_94(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[176],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[176],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanAndExpr}) {return Err("left: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[176]) {return Ok(());} if v0.len()!=1 {return Err("left requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; let mut f1=self.take_values();self.text_values(&caps,&[177],&mut f1); let f1:Vec=f1; -let mut f2=self.take_values();self.node_values(&caps,&[178],None,&mut f2)?; +let mut f2=self.take_values();self.node_values(&caps,&[178],&[],None,&mut f2)?; if !f2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanAndExpr}) {return Err("right: mapped value type mismatch".into());} let f2:Vec=f2; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let l2=self.tree.list(&f2);self.give_values(f2);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr,94,span,&[f0,l1[0],l1[1],l2[0],l2[1]]);out.push(node);Ok(())}} fn map_rule_95(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[179],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[179],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanXorExpr}) {return Err("left: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[179]) {return Ok(());} if v0.len()!=1 {return Err("left requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; let mut f1=self.take_values();self.text_values(&caps,&[180],&mut f1); let f1:Vec=f1; -let mut f2=self.take_values();self.node_values(&caps,&[181],None,&mut f2)?; +let mut f2=self.take_values();self.node_values(&caps,&[181],&[],None,&mut f2)?; if !f2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanXorExpr}) {return Err("right: mapped value type mismatch".into());} let f2:Vec=f2; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let l2=self.tree.list(&f2);self.give_values(f2);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_BooleanAndExpr,95,span,&[f0,l1[0],l1[1],l2[0],l2[1]]);out.push(node);Ok(())}} fn map_rule_96(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[182],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[182],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanFactorExpr}) {return Err("left: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[182]) {return Ok(());} if v0.len()!=1 {return Err("left requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; let mut f1=self.take_values();self.text_values(&caps,&[183],&mut f1); let f1:Vec=f1; -let mut f2=self.take_values();self.node_values(&caps,&[184],None,&mut f2)?; +let mut f2=self.take_values();self.node_values(&caps,&[184],&[],None,&mut f2)?; if !f2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanFactorExpr}) {return Err("right: mapped value type mismatch".into());} let f2:Vec=f2; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let l2=self.tree.list(&f2);self.give_values(f2);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_BooleanXorExpr,96,span,&[f0,l1[0],l1[1],l2[0],l2[1]]);out.push(node);Ok(())}} fn map_rule_97(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[185],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[185],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[185]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); @@ -3950,7 +4088,7 @@ let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_NotExpr,97,span,&[f0]);out.push(node);Ok(())}} fn map_rule_98(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_99(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[186],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[186],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::KIND_TEXT || k==tree::K_g_TinyExpressionP4AST_2e_BooleanMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalBooleanInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_IfExpr || k==tree::K_g_TinyExpressionP4AST_2e_InDayTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_InExpr || k==tree::K_g_TinyExpressionP4AST_2e_InTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_IsPresentExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_NotExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("left: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[186]) {return Ok(());} if v0.len()!=1 {return Err("left requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); @@ -3958,21 +4096,21 @@ let f0:u32=f0; let mut t1=self.take_values();self.text_values(&caps,&[187],&mut t1);if t1.is_empty() && self.missing_field(&caps,&[187]) {return Ok(());} if t1.len()!=1 {return Err("op requires one value".into());}let f1=t1.pop().unwrap();self.give_values(t1); let f1:u32=f1; -let mut v2=self.take_values();self.node_values(&caps,&[188],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[188],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::KIND_TEXT || k==tree::K_g_TinyExpressionP4AST_2e_BooleanMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalBooleanInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_IfExpr || k==tree::K_g_TinyExpressionP4AST_2e_InDayTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_InExpr || k==tree::K_g_TinyExpressionP4AST_2e_InTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_IsPresentExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_NotExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("right: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[188]) {return Ok(());} if v2.len()!=1 {return Err("right requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); let f2:u32=f2; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_BooleanEqualityExpr,99,span,&[f0,f1,f2]);out.push(node);Ok(())}} fn map_rule_100(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[189, 190, 191, 192],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[189, 190, 191, 192],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::KIND_TEXT || k==tree::K_g_TinyExpressionP4AST_2e_BooleanEqualityExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanMatchExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr || k==tree::K_g_TinyExpressionP4AST_2e_ComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_ContainsExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_EndsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalBooleanInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_IfExpr || k==tree::K_g_TinyExpressionP4AST_2e_InDayTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_InExpr || k==tree::K_g_TinyExpressionP4AST_2e_InTimeRangeExpr || k==tree::K_g_TinyExpressionP4AST_2e_IsPresentExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_NotExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithDotExpr || k==tree::K_g_TinyExpressionP4AST_2e_StartsWithExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[189, 190, 191, 192]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_BooleanFactorExpr,100,span,&[f0]);out.push(node);Ok(())}} fn map_rule_101(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[193],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[193],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("left: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[193]) {return Ok(());} if v0.len()!=1 {return Err("left requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); @@ -3980,15 +4118,15 @@ let f0:u32=f0; let mut t1=self.take_values();self.text_values(&caps,&[194],&mut t1);if t1.is_empty() && self.missing_field(&caps,&[194]) {return Ok(());} if t1.len()!=1 {return Err("op requires one value".into());}let f1=t1.pop().unwrap();self.give_values(t1); let f1:u32=f1; -let mut v2=self.take_values();self.node_values(&caps,&[195],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[195],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("right: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[195]) {return Ok(());} if v2.len()!=1 {return Err("right requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); let f2:u32=f2; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_StringComparisonExpr,101,span,&[f0,f1,f2]);out.push(node);Ok(())}} -fn map_rule_102(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_102(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_103(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[196],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[196],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr}) {return Err("left: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[196]) {return Ok(());} if v0.len()!=1 {return Err("left requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); @@ -3996,179 +4134,179 @@ let f0:u32=f0; let mut t1=self.take_values();self.text_values(&caps,&[197],&mut t1);if t1.is_empty() && self.missing_field(&caps,&[197]) {return Ok(());} if t1.len()!=1 {return Err("op requires one value".into());}let f1=t1.pop().unwrap();self.give_values(t1); let f1:u32=f1; -let mut v2=self.take_values();self.node_values(&caps,&[198],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[198],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr}) {return Err("right: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[198]) {return Ok(());} if v2.len()!=1 {return Err("right requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); let f2:u32=f2; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ComparisonExpr,103,span,&[f0,f1,f2]);out.push(node);Ok(())}} -fn map_rule_104(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_104(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_105(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[199, 200, 201, 202, 203, 204],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[199, 200, 201, 202, 203, 204],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExternalObjectInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr || k==tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[199, 200, 201, 202, 203, 204]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_ObjectExpr,105,span,&[f0]);out.push(node);Ok(())}} fn map_rule_106(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[205],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[205],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr}) {return Err("condition: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[205]) {return Ok(());} if v0.len()!=1 {return Err("condition requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[206],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[206],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BranchExpressionExpr}) {return Err("thenExpr: mapped value type mismatch".into());} if v1.is_empty() && self.missing_field(&caps,&[206]) {return Ok(());} if v1.len()!=1 {return Err("thenExpr requires one node".into());}let f1=v1.pop().unwrap();self.give_values(v1); let f1:u32=f1; -let mut v2=self.take_values();self.node_values(&caps,&[207],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[207],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BranchExpressionExpr}) {return Err("elseExpr: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[207]) {return Ok(());} if v2.len()!=1 {return Err("elseExpr requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); let f2:u32=f2; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_IfExpr,106,span,&[f0,f1,f2]);out.push(node);Ok(())}} fn map_rule_107(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[208, 209, 210, 211, 212, 213, 214, 215],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[208, 209, 210, 211, 212, 213, 214, 215],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanEqualityExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr || k==tree::K_g_TinyExpressionP4AST_2e_ComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringComparisonExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[208, 209, 210, 211, 212, 213, 214, 215]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_BranchExpressionExpr,107,span,&[f0]);out.push(node);Ok(())}} fn map_rule_108(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[216],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[216],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr}) {return Err("condition: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[216]) {return Ok(());} if v0.len()!=1 {return Err("condition requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[217],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[217],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BranchExpressionExpr}) {return Err("thenExpr: mapped value type mismatch".into());} if v1.is_empty() && self.missing_field(&caps,&[217]) {return Ok(());} if v1.len()!=1 {return Err("thenExpr requires one node".into());}let f1=v1.pop().unwrap();self.give_values(v1); let f1:u32=f1; -let mut v2=self.take_values();self.node_values(&caps,&[218],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[218],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BranchExpressionExpr}) {return Err("elseExpr: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[218]) {return Ok(());} if v2.len()!=1 {return Err("elseExpr requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); let f2:u32=f2; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_TernaryExpr,108,span,&[f0,f1,f2]);out.push(node);Ok(())}} fn map_rule_109(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[219],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[219],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_NumberCaseExpr}) {return Err("firstCase: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[219]) {return Ok(());} if v0.len()!=1 {return Err("firstCase requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut f1=self.take_values();self.node_values(&caps,&[220],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[220],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_NumberCaseExpr}) {return Err("moreCases: mapped value type mismatch".into());} let f1:Vec=f1; -let mut v2=self.take_values();self.node_values(&caps,&[221],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[221],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_NumberDefaultCaseExpr}) {return Err("defaultCase: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[221]) {return Ok(());} if v2.len()!=1 {return Err("defaultCase requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); let f2:u32=f2; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_NumberMatchExpr,109,span,&[f0,l1[0],l1[1],f2]);out.push(node);Ok(())}} fn map_rule_110(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[222],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[222],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr}) {return Err("condition: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[222]) {return Ok(());} if v0.len()!=1 {return Err("condition requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[223],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[223],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_NumberCaseValueExpr}) {return Err("value: mapped value type mismatch".into());} if v1.is_empty() && self.missing_field(&caps,&[223]) {return Ok(());} if v1.len()!=1 {return Err("value requires one node".into());}let f1=v1.pop().unwrap();self.give_values(v1); let f1:u32=f1; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_NumberCaseExpr,110,span,&[f0,f1]);out.push(node);Ok(())}} fn map_rule_111(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[224],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[224],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_NumberCaseValueExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[224]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_NumberDefaultCaseExpr,111,span,&[f0]);out.push(node);Ok(())}} fn map_rule_112(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[225],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[225],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[225]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_NumberCaseValueExpr,112,span,&[f0]);out.push(node);Ok(())}} fn map_rule_113(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[226],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[226],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringCaseExpr}) {return Err("firstCase: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[226]) {return Ok(());} if v0.len()!=1 {return Err("firstCase requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut f1=self.take_values();self.node_values(&caps,&[227],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[227],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringCaseExpr}) {return Err("moreCases: mapped value type mismatch".into());} let f1:Vec=f1; -let mut v2=self.take_values();self.node_values(&caps,&[228],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[228],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringDefaultCaseExpr}) {return Err("defaultCase: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[228]) {return Ok(());} if v2.len()!=1 {return Err("defaultCase requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); let f2:u32=f2; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_StringMatchExpr,113,span,&[f0,l1[0],l1[1],f2]);out.push(node);Ok(())}} fn map_rule_114(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[229],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[229],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr}) {return Err("condition: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[229]) {return Ok(());} if v0.len()!=1 {return Err("condition requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[230],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[230],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringCaseValueExpr}) {return Err("value: mapped value type mismatch".into());} if v1.is_empty() && self.missing_field(&caps,&[230]) {return Ok(());} if v1.len()!=1 {return Err("value requires one node".into());}let f1=v1.pop().unwrap();self.give_values(v1); let f1:u32=f1; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_StringCaseExpr,114,span,&[f0,f1]);out.push(node);Ok(())}} fn map_rule_115(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[231],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[231],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringCaseValueExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[231]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_StringDefaultCaseExpr,115,span,&[f0]);out.push(node);Ok(())}} fn map_rule_116(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[232],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[232],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[232]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_StringCaseValueExpr,116,span,&[f0]);out.push(node);Ok(())}} fn map_rule_117(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[233],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[233],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanCaseExpr}) {return Err("firstCase: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[233]) {return Ok(());} if v0.len()!=1 {return Err("firstCase requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut f1=self.take_values();self.node_values(&caps,&[234],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[234],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanCaseExpr}) {return Err("moreCases: mapped value type mismatch".into());} let f1:Vec=f1; -let mut v2=self.take_values();self.node_values(&caps,&[235],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[235],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanDefaultCaseExpr}) {return Err("defaultCase: mapped value type mismatch".into());} if v2.is_empty() && self.missing_field(&caps,&[235]) {return Ok(());} if v2.len()!=1 {return Err("defaultCase requires one node".into());}let f2=v2.pop().unwrap();self.give_values(v2); let f2:u32=f2; self.give_captures(caps);let span=self.span(span);let l1=self.tree.list(&f1);self.give_values(f1);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_BooleanMatchExpr,117,span,&[f0,l1[0],l1[1],f2]);out.push(node);Ok(())}} fn map_rule_118(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[236],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[236],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr}) {return Err("condition: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[236]) {return Ok(());} if v0.len()!=1 {return Err("condition requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[237],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[237],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanCaseValueExpr}) {return Err("value: mapped value type mismatch".into());} if v1.is_empty() && self.missing_field(&caps,&[237]) {return Ok(());} if v1.len()!=1 {return Err("value requires one node".into());}let f1=v1.pop().unwrap();self.give_values(v1); let f1:u32=f1; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_BooleanCaseExpr,118,span,&[f0,f1]);out.push(node);Ok(())}} fn map_rule_119(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[238],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[238],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanCaseValueExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[238]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_BooleanDefaultCaseExpr,119,span,&[f0]);out.push(node);Ok(())}} fn map_rule_120(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[239],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[239],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[239]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); @@ -4181,9 +4319,9 @@ let f0:u32=f0; let mut t1=self.take_values();self.text_values(&caps,&[241],&mut t1);if t1.len()>1 {return Err("type requires at most one value".into());}let f1=t1.pop();self.give_values(t1); let f1:Option=f1; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_TinyExpressionP4AST_2e_VariableRefExpr,121,span,&[f0,f1.unwrap_or(tree::NONE)]);out.push(node);Ok(())}} -fn map_rule_122(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_122(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_123(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut v0=self.take_values();self.node_values(&caps,&[242, 243, 244, 245, 246, 247],None,&mut v0)?; +let mut v0=self.take_values();self.node_values(&caps,&[242, 243, 244, 245, 246, 247],&[],None,&mut v0)?; if !v0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_TinyExpressionP4AST_2e_BinaryExpr || k==tree::K_g_TinyExpressionP4AST_2e_BooleanOrExpr || k==tree::K_g_TinyExpressionP4AST_2e_ExpressionExpr || k==tree::K_g_TinyExpressionP4AST_2e_MethodInvocationExpr || k==tree::K_g_TinyExpressionP4AST_2e_ObjectExpr || k==tree::K_g_TinyExpressionP4AST_2e_StringConcatExpr}) {return Err("value: mapped value type mismatch".into());} if v0.is_empty() && self.missing_field(&caps,&[242, 243, 244, 245, 246, 247]) {return Ok(());} if v0.len()!=1 {return Err("value requires one node".into());}let f0=v0.pop().unwrap();self.give_values(v0); diff --git a/rust/tinyexpression-rs/src/generated/ubnfc_formula_info/parser.rs b/rust/tinyexpression-rs/src/generated/ubnfc_formula_info/parser.rs index 2123fbb7..c27b8d5d 100644 --- a/rust/tinyexpression-rs/src/generated/ubnfc_formula_info/parser.rs +++ b/rust/tinyexpression-rs/src/generated/ubnfc_formula_info/parser.rs @@ -470,7 +470,7 @@ self.depth-=1;out.diag=self.diag_rule(13,out.diag);out fn e0_c(&mut self,state:State)->Step { let mut out=self.b0_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&[]);} out } @@ -486,7 +486,7 @@ out fn e1_c(&mut self,state:State)->Step { let mut out=self.b1_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -530,7 +530,7 @@ out fn e4_c(&mut self,state:State)->Step { let mut out=self.b4_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&[]);} out } @@ -546,7 +546,7 @@ out fn e5_c(&mut self,state:State)->Step { let mut out=self.b5_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["BlockGroup0Parser"]);} out } @@ -576,7 +576,7 @@ out fn e7_c(&mut self,state:State)->Step { let mut out=self.b7_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&[]);} out } @@ -605,7 +605,7 @@ out fn e9_c(&mut self,state:State)->Step { let mut out=self.b9_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -637,7 +637,7 @@ out fn e11_c(&mut self,state:State)->Step { let mut out=self.b11_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -669,7 +669,7 @@ out fn e13_c(&mut self,state:State)->Step { let mut out=self.b13_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&[]);} out } @@ -697,7 +697,7 @@ out fn e15_c(&mut self,state:State)->Step { let mut out=self.b15_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["Repeat"]);} out } @@ -729,7 +729,7 @@ out fn e17_c(&mut self,state:State)->Step { let mut out=self.b17_c(state); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.display_failures(state.consumed.max(state.matched),&["BlockGroup1Parser"]);} out } @@ -772,6 +772,7 @@ fn e20_c(&mut self,state:State)->Step { let mut out=self.b20_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { out.events=self.relabel_token(out.events,20,1); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:false,text:true}); } else {self.display_failures(state.consumed.max(state.matched),&["EndOfSourceParser"]);} out } @@ -1248,7 +1249,7 @@ let mark=self.mark(); let key=Key {expression:52,state,matched_mode:false,version:0};if let Some(hit)=self.lookup(key) {return hit;} self.display_enter(state.consumed.max(state.matched));let mut out=self.b52_c(state);self.display_reach(out.state.consumed.max(out.state.matched)); if out.ok { -out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true}); +out.events=self.event(Event::Values{span:[state.consumed,out.state.consumed],child:out.events,wrap:true,text:false}); } else {self.restore(mark);self.display_failures(state.consumed.max(state.matched),&[]);} if (out.ok && true) || (!out.ok && true) {self.store(key,out,mark);}self.display_leave(); out diff --git a/rust/tinyexpression-rs/src/generated/ubnfc_formula_info/runtime.rs b/rust/tinyexpression-rs/src/generated/ubnfc_formula_info/runtime.rs index 38d59a95..ea9c708c 100644 --- a/rust/tinyexpression-rs/src/generated/ubnfc_formula_info/runtime.rs +++ b/rust/tinyexpression-rs/src/generated/ubnfc_formula_info/runtime.rs @@ -68,6 +68,8 @@ pub(crate) enum Event { span: Span, child: EventId, wrap: bool, + /// D-078: 意味値を持つ選択の text だけの候補。一致範囲の字句(空でも)を 1 つの値にする。 + text: bool, }, Capture { token_extent: bool, @@ -161,9 +163,14 @@ impl PackedEvent { p.w[0] = w32(a.0); p.w[1] = w32(b.0); } - Event::Values { span, child, wrap } => { + Event::Values { + span, + child, + wrap, + text, + } => { p.tag = EV_VALUES; - p.flags = wrap as u8; + p.flags = wrap as u8 | (text as u8) << 1; p.w[..3].copy_from_slice(&[w32(span[0]), w32(span[1]), w32(child.0)]); } Event::Capture { @@ -236,7 +243,8 @@ impl PackedEvent { EV_VALUES => Event::Values { span: span(0), child: EventId(w[2] as usize), - wrap: self.flags != 0, + wrap: self.flags & 1 != 0, + text: self.flags & 2 != 0, }, EV_CAPTURE => Event::Capture { token_extent: self.flags != 0, @@ -448,6 +456,9 @@ pub(crate) struct Session<'a, const DIAG: bool> { effect_bytes: usize, mapping_depth: usize, mapping_anchor: Option, + /// #86: いま値を組み立てている意味値の領域(`Values{text:false}`)の入れ子の深さ。 + /// 写像される規則の本体に入るたびに 0 から数え直す。 + value_region: u32, /// 回復ごとの公開候補(最遠位置 byte, label)。`Event::Recovery::hints` が索く。 recovery_hints: Vec)>>, } @@ -692,6 +703,7 @@ impl<'a, const DIAG: bool> Session<'a, DIAG> { effect_bytes: 0, mapping_depth: 0, mapping_anchor: None, + value_region: 0, recovery_hints: Vec::new(), recovery_events: Vec::new(), } @@ -1438,11 +1450,13 @@ if name.is_empty() self.text_values(caps, sites, out); } /// node 変換の field 値。出現ごとに子の値を構築し、値が無く空でない出現は字句 Text にする。 + /// `text_sites` は中身が text だけの site で、出現 1 つが一致範囲の字句 1 つになる(#89、D-032)。 /// `fallback` は leaf 型(Text を leaf node に昇格する recipe)。 pub fn node_values( &mut self, caps: &[Cap], sites: &[usize], + text_sites: &[usize], fallback: Option, out: &mut Vec, ) -> Result<(), String> { @@ -1451,7 +1465,12 @@ if name.is_empty() continue; } let start = out.len(); - self.build_values_into(child, out)?; + if text_sites.contains(&site) && span[0] != span[1] && !self.has_recovery(child) { + let text = self.semantic_text(child, span); + out.push(text); + } else { + self.build_values_into(child, out)?; + } if out.len() == start && span[0] != span[1] && !self.has_recovery(child) @@ -1891,41 +1910,41 @@ fn build_values_inner(&mut self,mut root:EventId,out:&mut Vec)->Result<(),S // その場合は pool から stack を借りずに降りる。 loop {match self.ev(root) { Event::Capture{child,..}=>root=child, -Event::Values{child,span,wrap}=>{let start=out.len();self.build_values_into(child,out)?;if wrap && ((out.len()==start+1 && self.tree.kind(out[start])==tree::KIND_TEXT) || (out.len()==start && span[0]!=span[1] && !self.has_recovery(child) && !self.has_value_group(child))) {let text=self.semantic_text(child,span);out.truncate(start);out.push(text);}return Ok(());}, +Event::Values{child,span,wrap,text}=>{let start=out.len();if !text {self.value_region+=1;}let built=self.build_values_into(child,out);if !text {self.value_region-=1;}built?;if text || wrap && ((out.len()==start+1 && self.tree.kind(out[start])==tree::KIND_TEXT) || (out.len()==start && span[0]!=span[1] && !self.has_recovery(child) && !self.has_value_group(child))) {let text=self.semantic_text(child,span);out.truncate(start);out.push(text);}return Ok(());}, Event::Rule{rule,span,child,caps}=>return self.build_rule(rule,caps,span,child,out), Event::Join(..)=>break, _=>return Ok(()),}} -let mut stack=self.take_stack();stack.push((root,false));while let Some((id,_))=stack.pop() {match self.ev(id) {Event::Join(a,b)=>{stack.push((b,false));stack.push((a,false));},Event::Capture{child,..}=>stack.push((child,false)),Event::Values{child,span,wrap}=>{let start=out.len();self.build_values_into(child,out)?;if wrap && ((out.len()==start+1 && self.tree.kind(out[start])==tree::KIND_TEXT) || (out.len()==start && span[0]!=span[1] && !self.has_recovery(child) && !self.has_value_group(child))) {let text=self.semantic_text(child,span);out.truncate(start);out.push(text);}},Event::Rule{rule,span,child,caps}=>self.build_rule(rule,caps,span,child,out)?,_=>{}}}self.give_stack(stack);Ok(())} +let mut stack=self.take_stack();stack.push((root,false));while let Some((id,_))=stack.pop() {match self.ev(id) {Event::Join(a,b)=>{stack.push((b,false));stack.push((a,false));},Event::Capture{child,..}=>stack.push((child,false)),Event::Values{child,span,wrap,text}=>{let start=out.len();if !text {self.value_region+=1;}let built=self.build_values_into(child,out);if !text {self.value_region-=1;}built?;if text || wrap && ((out.len()==start+1 && self.tree.kind(out[start])==tree::KIND_TEXT) || (out.len()==start && span[0]!=span[1] && !self.has_recovery(child) && !self.has_value_group(child))) {let text=self.semantic_text(child,span);out.truncate(start);out.push(text);}},Event::Rule{rule,span,child,caps}=>self.build_rule(rule,caps,span,child,out)?,_=>{}}}self.give_stack(stack);Ok(())} fn leaf(&mut self,ty:usize,span:Span,text:u32)->Result {let span=self.span(span);self.tree.set_extent(text,span);let _=(span,text);Err(format!("unknown leaf type {ty}"))} fn build_rule(&mut self,rule:usize,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);match rule { -0=>self.map_rule_0(caps,span,child,out), -1=>self.map_rule_1(caps,span,child,out), +0=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_0(caps,span,child,out);self.value_region=outer;built}, +1=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_1(caps,span,child,out);self.value_region=outer;built}, 2=>self.map_rule_2(caps,span,child,out), -3=>self.map_rule_3(caps,span,child,out), -4=>self.map_rule_4(caps,span,child,out), +3=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_3(caps,span,child,out);self.value_region=outer;built}, +4=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_4(caps,span,child,out);self.value_region=outer;built}, 5=>self.map_rule_5(caps,span,child,out), -6=>self.map_rule_6(caps,span,child,out), -7=>self.map_rule_7(caps,span,child,out), +6=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_6(caps,span,child,out);self.value_region=outer;built}, +7=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_7(caps,span,child,out);self.value_region=outer;built}, 8=>self.map_rule_8(caps,span,child,out), 9=>self.map_rule_9(caps,span,child,out), 10=>self.map_rule_10(caps,span,child,out), -11=>self.map_rule_11(caps,span,child,out), +11=>{let outer=std::mem::take(&mut self.value_region);let built=self.map_rule_11(caps,span,child,out);self.value_region=outer;built}, 12=>self.map_rule_12(caps,span,child,out), 13=>self.map_rule_13(caps,span,child,out), _=>Err(format!("unknown rule {rule}"))}} fn map_rule_0(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut f0=self.take_values();self.node_values(&caps,&[0],None,&mut f0)?; +let mut f0=self.take_values();self.node_values(&caps,&[0],&[],None,&mut f0)?; if !f0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_FormulaInfoAST_2e_FormulaInfoBlock}) {return Err("blocks: mapped value type mismatch".into());} let f0:Vec=f0; self.give_captures(caps);let span=self.span(span);let l0=self.tree.list(&f0);self.give_values(f0);let node=self.tree.record(tree::K_g_FormulaInfoAST_2e_FormulaInfoDocument,0,span,&[l0[0],l0[1]]);out.push(node);Ok(())}} fn map_rule_1(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; -let mut f0=self.take_values();self.node_values(&caps,&[1, 2],None,&mut f0)?; +let mut f0=self.take_values();self.node_values(&caps,&[1, 2],&[],None,&mut f0)?; if !f0.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_FormulaInfoAST_2e_BlankLine || k==tree::K_g_FormulaInfoAST_2e_CommentLine}) {return Err("leading: mapped value type mismatch".into());} let f0:Vec=f0; -let mut f1=self.take_values();self.node_values(&caps,&[3, 4, 5],None,&mut f1)?; +let mut f1=self.take_values();self.node_values(&caps,&[3, 4, 5],&[],None,&mut f1)?; if !f1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_FormulaInfoAST_2e_FormulaInfoEntry}) {return Err("entries: mapped value type mismatch".into());} let f1:Vec=f1; -let mut v2=self.take_values();self.node_values(&caps,&[6],None,&mut v2)?; +let mut v2=self.take_values();self.node_values(&caps,&[6],&[],None,&mut v2)?; if !v2.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_FormulaInfoAST_2e_EndOfPart}) {return Err("end: mapped value type mismatch".into());} if v2.len()>1 {return Err("end requires at most one node".into());}let f2=v2.pop();self.give_values(v2); let f2:Option=f2; @@ -1941,12 +1960,12 @@ let mut t0=self.take_values();self.text_values(&caps,&[8, 9],&mut t0);if t0.is_e if t0.len()!=1 {return Err("text requires one value".into());}let f0=t0.pop().unwrap();self.give_values(t0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_FormulaInfoAST_2e_BlankLine,4,span,&[f0]);out.push(node);Ok(())}} -fn map_rule_5(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_5(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_6(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; let mut t0=self.take_values();self.text_values(&caps,&[10],&mut t0);if t0.is_empty() && self.missing_field(&caps,&[10]) {return Ok(());} if t0.len()!=1 {return Err("key requires one value".into());}let f0=t0.pop().unwrap();self.give_values(t0); let f0:u32=f0; -let mut v1=self.take_values();self.node_values(&caps,&[11],None,&mut v1)?; +let mut v1=self.take_values();self.node_values(&caps,&[11],&[],None,&mut v1)?; if !v1.iter().all(|value|{let k=self.tree.kind(*value);k==tree::K_g_FormulaInfoAST_2e_FormulaInfoValue}) {return Err("value: mapped value type mismatch".into());} if v1.is_empty() && self.missing_field(&caps,&[11]) {return Ok(());} if v1.len()!=1 {return Err("value requires one node".into());}let f1=v1.pop().unwrap();self.give_values(v1); @@ -1957,16 +1976,16 @@ let mut t0=self.take_values();self.text_values(&caps,&[12],&mut t0);if t0.is_emp if t0.len()!=1 {return Err("text requires one value".into());}let f0=t0.pop().unwrap();self.give_values(t0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_FormulaInfoAST_2e_FormulaInfoValue,7,span,&[f0]);out.push(node);Ok(())}} -fn map_rule_8(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} -fn map_rule_9(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} -fn map_rule_10(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_8(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_9(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_10(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} fn map_rule_11(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let mut slots=self.take_captures();self.rule_captures(caps,&mut slots);let caps=slots; let mut t0=self.take_values();self.text_values(&caps,&[13],&mut t0);if t0.is_empty() && self.missing_field(&caps,&[13]) {return Ok(());} if t0.len()!=1 {return Err("mark requires one value".into());}let f0=t0.pop().unwrap();self.give_values(t0); let f0:u32=f0; self.give_captures(caps);let span=self.span(span);let node=self.tree.record(tree::K_g_FormulaInfoAST_2e_EndOfPart,11,span,&[f0]);out.push(node);Ok(())}} -fn map_rule_12(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} -fn map_rule_13(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_12(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} +fn map_rule_13(&mut self,caps:(u32,u32),span:Span,child:EventId,out:&mut Vec)->Result<(),String> {let _=(caps,span,child,&out);{if self.value_region>0 {return Ok(());}let start=out.len();self.build_values_into(child,out)?;if out.len()==start && !self.has_recovery(child) && !self.has_value_group(child) {let text=self.semantic_text(child,span);out.push(text);}Ok(())}} /// 出現(capture / rule / token)の収集と、AST 構築が rule ごとに読む直下 capture 表を /// 1 回の走査で作る。以前は出現収集の後に AST 構築が rule ごとに `collect_captures` で /// 同じ木をもう一度下っていた。 diff --git a/rust/ubnfc-formula-info-vendored.sha256 b/rust/ubnfc-formula-info-vendored.sha256 index 3c27e7ca..76661d95 100644 --- a/rust/ubnfc-formula-info-vendored.sha256 +++ b/rust/ubnfc-formula-info-vendored.sha256 @@ -3,7 +3,7 @@ a849df853c00c52853a3a5a38f73be2bc873967e77c14ca0ba787625bea23719 ./ast.rs 973ddf723ae1d0c055f9478ecc1cec5025b96b019a32ffc98530966385b9396b ./evaluator.rs b4720818dec0df0b26821c0c1860cdb61fba0a292466d061a9dcdeafbf69f138 ./metadata.rs 60b64e54da0cbb3233cb1ad0a840278a6028532b119880a491a9d42b86a3bbda ./mod.rs -336c7fa7c1ec7687a31f372f01c309030867327b8d29b238a963daf96314bb29 ./parser.rs +635c529262fb22992e8c0e5f4cf2ccdebdb56d2d1994e5bb00505fb109293968 ./parser.rs 5a4aa9f71fcf9d19651d3830375aee7cf66d0c860eb9e878c4138700c11b8924 ./rt/cursor.rs 76caeedfe7858408667a1dd13d4314e980bf1b138d32ce38e7dcf56ef393ca7c ./rt/diag.rs 3f4c7fc804b0231257ba47b5346f40a6ed15268961a6475ff45a85ec1ec0da0e ./rt/input.rs @@ -11,4 +11,4 @@ b4720818dec0df0b26821c0c1860cdb61fba0a292466d061a9dcdeafbf69f138 ./metadata.rs 104447e27c2f65d0b23363488d589ff28416c7a02117ff1094454508846b2459 ./rt/memo.rs 03f8edd435ccd0d3038dac1d72307682dbee098b4b111c387c520b50a3f58eaf ./rt/mod.rs 757d780ab6a67ce633c86820bcf9f7ab8291af006801eac3d36219ecb8747fa2 ./rt/scope.rs -5f217489bbe5654f8f087ef97f638d12491b38db70980003afa323a929d683f9 ./runtime.rs +bcfeb20379f8bb165e38e69160d762eb81aa8b542b0b741d88f5dfeb40dd8f51 ./runtime.rs diff --git a/rust/ubnfc-pin.txt b/rust/ubnfc-pin.txt index 18d2bf30..4d1e4c50 100644 --- a/rust/ubnfc-pin.txt +++ b/rust/ubnfc-pin.txt @@ -1,11 +1,15 @@ -# Pin for the vendored ubnfc Rust parsers (rust/tinyexpression-rs/src/generated/ubnfc and, -# since issue #180, .../generated/ubnfc_formula_info; both generated by ubnfc_commit). -# rust/scripts/regenerate-ubnfc.sh reads this file; --check fails when the vendored -# tree differs from what this pin regenerates. -ubnfc_commit=cefdbd7be262c9ea7c58a56b28fa0319c354e446 +# Generated by rust/scripts/regenerate-ubnfc.sh --write; do not edit hashes by hand. +ubnfc_commit=f54d6b90466ffde14066d32f911ed642b1e49201 grammar=tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf -grammar_sha256=b3ebead02cf9c4ff2c8d8b56767ca51f3665331d7b84cf1f1fce79d600774347 -ir_sha256=c457cc7de491402e315ae816ccb2b3490822187d1d5a701f409cc920dea0c718 +grammar_sha256=4a02d31de4e646a0664fd78a4b77ff2e145e7af7dde83a209e244e38298e962a +grammar_file 28bcfc9f2e684b7326561f281155a1d0140dc67145d178764841bc7dc87a81cb grammar/formula-info.ubnf +grammar_file e33b8166d0a5b399150b583b0e466fbe2a4194325ef65c79c082297156796b76 tools/tinyexpression-p4-lsp-vscode/grammar/lexical/characters.ubnf +grammar_file 53ad774e87bd95a498ac744a721f22bdaf877721c0da13e8045aaeaea09b8179 tools/tinyexpression-p4-lsp-vscode/grammar/lexical/fences.ubnf +grammar_file 55f5f3b9289cb41b74d5c617e0b2ec1adbf24eb7fd8ca11aa02eda311b92bf2b tools/tinyexpression-p4-lsp-vscode/grammar/lexical/identifiers.ubnf +grammar_file 1b1fcaa633f9477ad5414ecfed64693d1d50bf0aaa02775c5d67b39a18e8244f tools/tinyexpression-p4-lsp-vscode/grammar/lexical/numbers.ubnf +grammar_file 08f209d29c84aa1addcb57eba24d7738c27bc8921cb13f1fbd5040dff6296a26 tools/tinyexpression-p4-lsp-vscode/grammar/lexical/strings.ubnf +grammar_file 4a02d31de4e646a0664fd78a4b77ff2e145e7af7dde83a209e244e38298e962a tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf +ir_sha256=55d5981a9da79a887034778aa1853dffea92162cb5e9be18c840b072cafb13a0 scanners=scanners/rust/scanners.rs scanners_sha256=593a2736f7f20fa5d61456e25e7d961cefbd427d93b05a7ced46b41506e6a412 scanners_tests_sha256=f33b0ec1173a2db55c9f3bf613b19112ec570e132c205fd7da203f9b09a81219 diff --git a/rust/ubnfc-vendored.sha256 b/rust/ubnfc-vendored.sha256 index 55208834..cd514bad 100644 --- a/rust/ubnfc-vendored.sha256 +++ b/rust/ubnfc-vendored.sha256 @@ -1,9 +1,9 @@ ae54d3d9ed604edb5f2716b149c4c195a76c8f85d92174743f3447c0c4ceb3e9 ./api.rs 08a73f50f944b5ecc4bbeffd6195d57f6c9926b697f63c07e4b8e624b0a2de35 ./ast.rs 366914c45bc33ac718e9459a30ab02d667250ac9cbd11467aefb3c490f45cf7d ./evaluator.rs -58f01f9c222f9f3052619a1f79ad7fc819e79ffe53e3e4bbe2bebd4f07c1c87f ./metadata.rs +971bda3ab967683dda003c5eb54f2e1e70067294234ab3b47bc8ccc175eb8745 ./metadata.rs 2600addd3a5aafbbe00c4ac6f51349ac78b475161e2801fbdaae56530a49b7a2 ./mod.rs -c0b0c199e66b9c5d6c700adb5a8fa8c1cbb26911c608cce34bc352a0c18fe163 ./parser.rs +a2c46d6204588ece1c0b87ac901ac22e06729628331116d113d9061d61993db6 ./parser.rs 5a4aa9f71fcf9d19651d3830375aee7cf66d0c860eb9e878c4138700c11b8924 ./rt/cursor.rs 76caeedfe7858408667a1dd13d4314e980bf1b138d32ce38e7dcf56ef393ca7c ./rt/diag.rs 3f4c7fc804b0231257ba47b5346f40a6ed15268961a6475ff45a85ec1ec0da0e ./rt/input.rs @@ -11,6 +11,6 @@ c0b0c199e66b9c5d6c700adb5a8fa8c1cbb26911c608cce34bc352a0c18fe163 ./parser.rs 104447e27c2f65d0b23363488d589ff28416c7a02117ff1094454508846b2459 ./rt/memo.rs 03f8edd435ccd0d3038dac1d72307682dbee098b4b111c387c520b50a3f58eaf ./rt/mod.rs 757d780ab6a67ce633c86820bcf9f7ab8291af006801eac3d36219ecb8747fa2 ./rt/scope.rs -a61da6bca3f5555555d4304398d04eb848ded3b48385d47f88372d08044a4416 ./runtime.rs +d8ef472d6b20cdc6d8b1a1f3e1e1149103c08b9d99bc758f1488422c43eadfac ./runtime.rs 1434d9977ac384617ee7dc4a37b0490b7d61cda23f06829b439663c6636c1d81 ./scanners.rs f33b0ec1173a2db55c9f3bf613b19112ec570e132c205fd7da203f9b09a81219 ./scanners_tests.rs diff --git a/scripts/generate-ubnfc-converter.py b/scripts/generate-ubnfc-converter.py index 7124a966..a6942ca7 100755 --- a/scripts/generate-ubnfc-converter.py +++ b/scripts/generate-ubnfc-converter.py @@ -66,9 +66,12 @@ def te_type(t): def convert_expr(ut, tt, accessor): """ubnfc の component 型 ut(TE の宣言型 tt)を変換する式。""" ut = ut.strip() - if ut in ("java.lang.String", "java.util.Optional", - "java.util.List"): - return accessor + if ut == "java.lang.String": + return "lexicalText(%s)" % accessor + if ut == "java.util.Optional": + return "%s.map(UbnfcAstConverter::lexicalText)" % accessor + if ut == "java.util.List": + return "%s.stream().map(UbnfcAstConverter::lexicalText).toList()" % accessor if ut == "java.lang.Object": return "convertAny(%s)" % accessor if ut == "java.util.List": @@ -143,6 +146,12 @@ def generate(ub, te): a(" private final Map bestRank = new HashMap<>();") a(" private int depth;") a("") + a(" /** Declarative tokens retain quotes; preserve the public AST's single-quote normalization here. */") + a(" private static String lexicalText(String text) {") + a(" return text.length() >= 2 && text.charAt(0) == 39 && text.charAt(text.length() - 1) == 39") + a(" ? text.substring(1, text.length() - 1) : text;") + a(" }") + a("") a(" UbnfcAstConverter(Map sourceSpans, String source) {") a(" this.sourceSpans = sourceSpans;") a(" this.source = source;") @@ -178,7 +187,7 @@ def generate(ub, te): a(" if (value instanceof %s node) {" % UB) a(" return convert(node);") a(" }") - a(" return value;") + a(" return value instanceof String text ? lexicalText(text) : value;") a(" }") a("") a(" %s convert(%s node) {" % (TE, UB)) diff --git a/scripts/regenerate-ubnfc-parser.sh b/scripts/regenerate-ubnfc-parser.sh index 74c53d57..d1a8fe65 100755 --- a/scripts/regenerate-ubnfc-parser.sh +++ b/scripts/regenerate-ubnfc-parser.sh @@ -46,6 +46,12 @@ done pin_value() { if [[ -f "$pin" ]]; then sed -n "s/^$1=//p" "$pin"; fi; } sha() { sha256sum "$1" | cut -d' ' -f1; } +# Include imported modules, not only the entry grammar, in the reproducibility pin. +grammar_manifest() { + (cd "$repo" && find "$(dirname "$grammar_rel")" -type f -name '*.ubnf' | LC_ALL=C sort | + while IFS= read -r f; do echo "$(sha "$f") $f"; done) +} + # Vendored files in a stable order, relative to $vendor. vendored_files() { (cd "$vendor" && { find generated -type f -name '*.java'; echo P4Scanners.java; } | LC_ALL=C sort) @@ -67,6 +73,10 @@ offline_check() { else echo "ok: grammar sha256 matches pin ($actual)" fi + if ! diff <(sed -n 's/^grammar_file //p' "$pin") <(grammar_manifest); then + echo "DRIFT: lexical grammar module manifest differs from UBNFC_PIN" >&2 + fail=1 + fi local manifest_pinned manifest_actual manifest_pinned=$(sed -n 's/^file //p' "$pin") manifest_actual=$(vendored_files | while read -r f; do echo "$(sha "$vendor/$f") $f"; done) @@ -170,6 +180,7 @@ case "$mode" in echo "ubnfc_commit=$rev" echo "grammar=$grammar_rel" echo "grammar_sha256=$(sha "$repo/$grammar_rel")" + grammar_manifest | while IFS= read -r entry; do echo "grammar_file $entry"; done echo "extern_first_chars=$first_chars" echo "ir_sha256=$(sha "$scratch/out/grammar.ir.json")" echo "java_package=$java_package" diff --git a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/UBNFC_PIN b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/UBNFC_PIN index cb34dde8..412e7805 100644 --- a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/UBNFC_PIN +++ b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/UBNFC_PIN @@ -2,33 +2,40 @@ # Written by scripts/regenerate-ubnfc-parser.sh --write. Do not edit by hand. # Chain: grammar --(ubnfc front, Rust)--> IR --(ubnfc-java)--> org.unlaxer.tinyexpression.p4.ubnfc.generated ubnfc_repository=https://github.com/opaopa6969/ubnfc -ubnfc_commit=15c4cbb36693598b0964da0572d250ac34b02bea +ubnfc_commit=f54d6b90466ffde14066d32f911ed642b1e49201 grammar=tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf -grammar_sha256=b3ebead02cf9c4ff2c8d8b56767ca51f3665331d7b84cf1f1fce79d600774347 +grammar_sha256=4a02d31de4e646a0664fd78a4b77ff2e145e7af7dde83a209e244e38298e962a +grammar_file e33b8166d0a5b399150b583b0e466fbe2a4194325ef65c79c082297156796b76 tools/tinyexpression-p4-lsp-vscode/grammar/lexical/characters.ubnf +grammar_file 53ad774e87bd95a498ac744a721f22bdaf877721c0da13e8045aaeaea09b8179 tools/tinyexpression-p4-lsp-vscode/grammar/lexical/fences.ubnf +grammar_file 55f5f3b9289cb41b74d5c617e0b2ec1adbf24eb7fd8ca11aa02eda311b92bf2b tools/tinyexpression-p4-lsp-vscode/grammar/lexical/identifiers.ubnf +grammar_file 1b1fcaa633f9477ad5414ecfed64693d1d50bf0aaa02775c5d67b39a18e8244f tools/tinyexpression-p4-lsp-vscode/grammar/lexical/numbers.ubnf +grammar_file 08f209d29c84aa1addcb57eba24d7738c27bc8921cb13f1fbd5040dff6296a26 tools/tinyexpression-p4-lsp-vscode/grammar/lexical/strings.ubnf +grammar_file 4a02d31de4e646a0664fd78a4b77ff2e145e7af7dde83a209e244e38298e962a tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf extern_first_chars=scanners/first-chars.json -ir_sha256=c457cc7de491402e315ae816ccb2b3490822187d1d5a701f409cc920dea0c718 +ir_sha256=55d5981a9da79a887034778aa1853dffea92162cb5e9be18c840b072cafb13a0 java_package=org.unlaxer.tinyexpression.p4.ubnfc.generated scanners_source=examples/p4-java/src/main/java/org/unlaxer/ubnfc/examples/p4/P4Scanners.java file 9e9d1fd3e1f9445a9f8b91e7366bbc8ba623301087b74f527cd34865026b92ab P4Scanners.java file 95c274dd96b42e53c289d6b803189624de3e67d840f2567cf3a9095068fd1606 generated/TinyExpressionP4AST.java file 97a464d5e0da84e2c5cda01cb13973d62d7478ebea6e330a5f3171129375aaf3 generated/TinyExpressionP4Evaluator.java -file 0f1cf766c2ee3a0f9b78f985f216c33a420084539841c5a397d0d3693e50f717 generated/TinyExpressionP4Parser.java +file e5f9cfe04f87907bad6104f9f72ea696d742b1498b66bfce9f34631e25d1c3c6 generated/TinyExpressionP4Parser.java file f7b212115de4e9df670d381d412d7d3a1e9c061d901ef87b0e6b266b89c70aed generated/TinyExpressionP4Result.java file 7f98d27c3f9dbc54a8823f7996fa4dc7bcf91fd33b5f3b0350e3f146e5a8bbcd generated/api/Capture.java file e3f2951e2e281c1eb7c63eb64b08e1f429fc0a222fdccf5d14e1619950aa92bf generated/api/Diagnostic.java file e4a00a6d16d0b31ca4ca2a95d8e447c9e5ef4af13509a0f78b6d3446295dcbd5 generated/api/Json.java file c8636815a6dfff5b2d421006d1468f12f9744afb4634ea2368a2e168bcb26b66 generated/api/MappingException.java file 60494842c6c4f3d08955b62807a4bb38d1c6b3a63851eb1e44905c27522b7157 generated/api/ParseOptions.java -file 34bd67975d134192cacfac58b89251ea3a01678d7b22c4f0d5abec2612c9597f generated/api/ParseResult.java +file 7a60727787489f2b6b47dcc6221f02f8407158b248c6b6db96bda70fcb492827 generated/api/ParseResult.java file 440647c5d39c6627cf8fc5d817e32f12636d9f9f9861c975a49140c621b714a5 generated/api/SourceName.java file 44c8364899ba2b3f804fe4ab3053c3d1649d9d3a98f6eb63eefe61830401ff8e generated/api/Span.java file c7bf60f5e41c935716adf0cf0d16fc4aa6d0e5f7249ba7ff08e5e15d664d3dcb generated/api/TokenScanner.java -file 64ffcc3b3c417818ba7beb4c3127822b7e65731f75aeee0a0dc6fd1f9937fc29 generated/driver/Driver.java -file b3295e67090942154c4d3401251750e45dde5eb1416135d892e39dc8ad2a6080 generated/internal/Recipe.java -file 213c81e4ad2afe2d5e41e0bd415f1ec9da2f07f55540e7c50250f8005b8fabb1 generated/internal/Session.java +file 340d01808d114f4b59c9d0bb649a004fb9c37b4c50ac57ea97ee3c09af69db6a generated/driver/Driver.java +file 95a432963ef178aac75cc06b60870626789825f3aa1a88533f2e5211f3fe02e5 generated/internal/LexicalExpression.java +file bf42b610d340daf608d3f6fdb24a5ca965d21fb1169e6d379689d86a8cee5440 generated/internal/Recipe.java +file 73bc7699358a3ed1628bc358f7e3982d4057f125ef454991b5f586002c7e5fd3 generated/internal/Session.java file e158c7148a070b19785000c4c2a5da36174c34c259eb2ba3b3035a2c5871b7d5 generated/rt/Cursor.java file a48a3ca6f076530313941fab68b05bd91986d8aa4fa83112f1dd34874e47b0d4 generated/rt/Diagnostics.java -file 8f9e13f602f9046ce30533082de3731e32de33238879a8fbe801925f7379eef6 generated/rt/Input.java +file 0af841906d2a66ea3b92531b22fa594ea4c6758f8aca99057d038f7d3a3c3054 generated/rt/Input.java file 586bf12848cb035f576132434aebe97a5c4c934a78801658b343cd87fc31e1b4 generated/rt/MemoTable.java file bc80c72e33b4adcac6a20ceba7ad41ac692b17fc16925bc0c129e3079b95b3da generated/rt/ScopeStore.java file c5d1ffe1b7683687ad11f4525039196c243b24d28b6e25f85a3fe4c0c713c4a6 generated/rt/Severity.java diff --git a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/UbnfcAstConverter.java b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/UbnfcAstConverter.java index 3bdfb641..a967a705 100644 --- a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/UbnfcAstConverter.java +++ b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/UbnfcAstConverter.java @@ -21,6 +21,12 @@ final class UbnfcAstConverter { private final Map bestRank = new HashMap<>(); private int depth; + /** Declarative tokens retain quotes; preserve the public AST's single-quote normalization here. */ + private static String lexicalText(String text) { + return text.length() >= 2 && text.charAt(0) == 39 && text.charAt(text.length() - 1) == 39 + ? text.substring(1, text.length() - 1) : text; + } + UbnfcAstConverter(Map sourceSpans, String source) { this.sourceSpans = sourceSpans; this.source = source; @@ -56,7 +62,7 @@ java.lang.Object convertAny(java.lang.Object value) { if (value instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST node) { return convert(node); } - return value; + return value instanceof String text ? lexicalText(text) : value; } TinyExpressionP4AST convert(org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST node) { @@ -66,29 +72,29 @@ TinyExpressionP4AST convert(org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyEx int nodeDepth = depth++; final TinyExpressionP4AST converted; if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.FormulaExpr n) converted = new TinyExpressionP4AST.FormulaExpr(n.imports().stream().map(v -> (TinyExpressionP4AST.ImportDeclarationExpr) convert(v)).toList(), n.declarations().stream().map(this::convertAny).toList(), (TinyExpressionP4AST.ExpressionExpr) convert(n.expression()), n.methods().stream().map(this::convertAny).toList(), n.codeBlocks().stream().map(v -> (TinyExpressionP4AST.CodeBlockExpr) convert(v)).toList()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.CodeBlockExpr n) converted = new TinyExpressionP4AST.CodeBlockExpr(n.source()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ImportDeclarationExpr n) converted = new TinyExpressionP4AST.ImportDeclarationExpr((TinyExpressionP4AST.QualifiedNameExpr) convert(n.className()), n.method(), n.alias()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.QualifiedNameExpr n) converted = new TinyExpressionP4AST.QualifiedNameExpr(n.head(), n.tail()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.NumberVariableDeclarationExpr n) converted = new TinyExpressionP4AST.NumberVariableDeclarationExpr(n.varName(), n.onlyIfAbsent().map(v -> (TinyExpressionP4AST.OnlyIfAbsentExpr) convert(v)), n.value().map(v -> (TinyExpressionP4AST.BinaryExpr) convert(v)), n.desc()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.StringVariableDeclarationExpr n) converted = new TinyExpressionP4AST.StringVariableDeclarationExpr(n.varName(), n.onlyIfAbsent().map(v -> (TinyExpressionP4AST.OnlyIfAbsentExpr) convert(v)), n.value().map(v -> (TinyExpressionP4AST.StringConcatExpr) convert(v)), n.desc()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanVariableDeclarationExpr n) converted = new TinyExpressionP4AST.BooleanVariableDeclarationExpr(n.varName(), n.onlyIfAbsent().map(v -> (TinyExpressionP4AST.OnlyIfAbsentExpr) convert(v)), n.value().map(v -> (TinyExpressionP4AST.BooleanOrExpr) convert(v)), n.desc()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ObjectVariableDeclarationExpr n) converted = new TinyExpressionP4AST.ObjectVariableDeclarationExpr(n.varName(), n.onlyIfAbsent().map(v -> (TinyExpressionP4AST.OnlyIfAbsentExpr) convert(v)), n.value().map(v -> (TinyExpressionP4AST.ObjectExpr) convert(v)), n.desc()); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.CodeBlockExpr n) converted = new TinyExpressionP4AST.CodeBlockExpr(lexicalText(n.source())); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ImportDeclarationExpr n) converted = new TinyExpressionP4AST.ImportDeclarationExpr((TinyExpressionP4AST.QualifiedNameExpr) convert(n.className()), n.method().map(UbnfcAstConverter::lexicalText), lexicalText(n.alias())); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.QualifiedNameExpr n) converted = new TinyExpressionP4AST.QualifiedNameExpr(lexicalText(n.head()), n.tail().stream().map(UbnfcAstConverter::lexicalText).toList()); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.NumberVariableDeclarationExpr n) converted = new TinyExpressionP4AST.NumberVariableDeclarationExpr(lexicalText(n.varName()), n.onlyIfAbsent().map(v -> (TinyExpressionP4AST.OnlyIfAbsentExpr) convert(v)), n.value().map(v -> (TinyExpressionP4AST.BinaryExpr) convert(v)), n.desc().map(UbnfcAstConverter::lexicalText)); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.StringVariableDeclarationExpr n) converted = new TinyExpressionP4AST.StringVariableDeclarationExpr(lexicalText(n.varName()), n.onlyIfAbsent().map(v -> (TinyExpressionP4AST.OnlyIfAbsentExpr) convert(v)), n.value().map(v -> (TinyExpressionP4AST.StringConcatExpr) convert(v)), n.desc().map(UbnfcAstConverter::lexicalText)); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanVariableDeclarationExpr n) converted = new TinyExpressionP4AST.BooleanVariableDeclarationExpr(lexicalText(n.varName()), n.onlyIfAbsent().map(v -> (TinyExpressionP4AST.OnlyIfAbsentExpr) convert(v)), n.value().map(v -> (TinyExpressionP4AST.BooleanOrExpr) convert(v)), n.desc().map(UbnfcAstConverter::lexicalText)); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ObjectVariableDeclarationExpr n) converted = new TinyExpressionP4AST.ObjectVariableDeclarationExpr(lexicalText(n.varName()), n.onlyIfAbsent().map(v -> (TinyExpressionP4AST.OnlyIfAbsentExpr) convert(v)), n.value().map(v -> (TinyExpressionP4AST.ObjectExpr) convert(v)), n.desc().map(UbnfcAstConverter::lexicalText)); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.OnlyIfAbsentExpr n) converted = new TinyExpressionP4AST.OnlyIfAbsentExpr(); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.NumberMethodDeclarationExpr n) converted = new TinyExpressionP4AST.NumberMethodDeclarationExpr(n.methodName(), n.parameters().map(v -> (TinyExpressionP4AST.MethodParametersExpr) convert(v)), (TinyExpressionP4AST.BinaryExpr) convert(n.expression())); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.StringMethodDeclarationExpr n) converted = new TinyExpressionP4AST.StringMethodDeclarationExpr(n.methodName(), n.parameters().map(v -> (TinyExpressionP4AST.MethodParametersExpr) convert(v)), (TinyExpressionP4AST.StringConcatExpr) convert(n.expression())); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanMethodDeclarationExpr n) converted = new TinyExpressionP4AST.BooleanMethodDeclarationExpr(n.methodName(), n.parameters().map(v -> (TinyExpressionP4AST.MethodParametersExpr) convert(v)), (TinyExpressionP4AST.BooleanOrExpr) convert(n.expression())); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ObjectMethodDeclarationExpr n) converted = new TinyExpressionP4AST.ObjectMethodDeclarationExpr(n.methodName(), n.parameters().map(v -> (TinyExpressionP4AST.MethodParametersExpr) convert(v)), (TinyExpressionP4AST.ObjectExpr) convert(n.expression())); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.NumberMethodDeclarationExpr n) converted = new TinyExpressionP4AST.NumberMethodDeclarationExpr(lexicalText(n.methodName()), n.parameters().map(v -> (TinyExpressionP4AST.MethodParametersExpr) convert(v)), (TinyExpressionP4AST.BinaryExpr) convert(n.expression())); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.StringMethodDeclarationExpr n) converted = new TinyExpressionP4AST.StringMethodDeclarationExpr(lexicalText(n.methodName()), n.parameters().map(v -> (TinyExpressionP4AST.MethodParametersExpr) convert(v)), (TinyExpressionP4AST.StringConcatExpr) convert(n.expression())); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanMethodDeclarationExpr n) converted = new TinyExpressionP4AST.BooleanMethodDeclarationExpr(lexicalText(n.methodName()), n.parameters().map(v -> (TinyExpressionP4AST.MethodParametersExpr) convert(v)), (TinyExpressionP4AST.BooleanOrExpr) convert(n.expression())); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ObjectMethodDeclarationExpr n) converted = new TinyExpressionP4AST.ObjectMethodDeclarationExpr(lexicalText(n.methodName()), n.parameters().map(v -> (TinyExpressionP4AST.MethodParametersExpr) convert(v)), (TinyExpressionP4AST.ObjectExpr) convert(n.expression())); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.MethodParametersExpr n) converted = new TinyExpressionP4AST.MethodParametersExpr(n.values().stream().map(v -> (TinyExpressionP4AST.MethodParameterExpr) convert(v)).toList()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.MethodParameterExpr n) converted = new TinyExpressionP4AST.MethodParameterExpr(n.paramName(), n.type()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ExternalBooleanInvocationExpr n) converted = (TinyExpressionP4AST.ExternalBooleanInvocationExpr) VariantShapes.construct(TinyExpressionP4AST.ExternalBooleanInvocationExpr.class, new VariantShapes.OptionalNode(n.className().map(v -> (java.lang.Object) convert(v))), n.name(), n.args().map(v -> (TinyExpressionP4AST.ArgumentsExpr) convert(v))); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ExternalNumberInvocationExpr n) converted = (TinyExpressionP4AST.ExternalNumberInvocationExpr) VariantShapes.construct(TinyExpressionP4AST.ExternalNumberInvocationExpr.class, new VariantShapes.OptionalNode(n.className().map(v -> (java.lang.Object) convert(v))), n.name(), n.args().map(v -> (TinyExpressionP4AST.ArgumentsExpr) convert(v))); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ExternalStringInvocationExpr n) converted = (TinyExpressionP4AST.ExternalStringInvocationExpr) VariantShapes.construct(TinyExpressionP4AST.ExternalStringInvocationExpr.class, new VariantShapes.OptionalNode(n.className().map(v -> (java.lang.Object) convert(v))), n.name(), n.args().map(v -> (TinyExpressionP4AST.ArgumentsExpr) convert(v))); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ExternalObjectInvocationExpr n) converted = (TinyExpressionP4AST.ExternalObjectInvocationExpr) VariantShapes.construct(TinyExpressionP4AST.ExternalObjectInvocationExpr.class, new VariantShapes.OptionalNode(n.className().map(v -> (java.lang.Object) convert(v))), n.name(), n.args().map(v -> (TinyExpressionP4AST.ArgumentsExpr) convert(v))); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.MethodInvocationExpr n) converted = new TinyExpressionP4AST.MethodInvocationExpr(n.name(), n.args().map(v -> (TinyExpressionP4AST.ArgumentsExpr) convert(v))); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.MethodParameterExpr n) converted = new TinyExpressionP4AST.MethodParameterExpr(lexicalText(n.paramName()), n.type().map(UbnfcAstConverter::lexicalText)); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ExternalBooleanInvocationExpr n) converted = (TinyExpressionP4AST.ExternalBooleanInvocationExpr) VariantShapes.construct(TinyExpressionP4AST.ExternalBooleanInvocationExpr.class, new VariantShapes.OptionalNode(n.className().map(v -> (java.lang.Object) convert(v))), lexicalText(n.name()), n.args().map(v -> (TinyExpressionP4AST.ArgumentsExpr) convert(v))); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ExternalNumberInvocationExpr n) converted = (TinyExpressionP4AST.ExternalNumberInvocationExpr) VariantShapes.construct(TinyExpressionP4AST.ExternalNumberInvocationExpr.class, new VariantShapes.OptionalNode(n.className().map(v -> (java.lang.Object) convert(v))), lexicalText(n.name()), n.args().map(v -> (TinyExpressionP4AST.ArgumentsExpr) convert(v))); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ExternalStringInvocationExpr n) converted = (TinyExpressionP4AST.ExternalStringInvocationExpr) VariantShapes.construct(TinyExpressionP4AST.ExternalStringInvocationExpr.class, new VariantShapes.OptionalNode(n.className().map(v -> (java.lang.Object) convert(v))), lexicalText(n.name()), n.args().map(v -> (TinyExpressionP4AST.ArgumentsExpr) convert(v))); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ExternalObjectInvocationExpr n) converted = (TinyExpressionP4AST.ExternalObjectInvocationExpr) VariantShapes.construct(TinyExpressionP4AST.ExternalObjectInvocationExpr.class, new VariantShapes.OptionalNode(n.className().map(v -> (java.lang.Object) convert(v))), lexicalText(n.name()), n.args().map(v -> (TinyExpressionP4AST.ArgumentsExpr) convert(v))); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.MethodInvocationExpr n) converted = new TinyExpressionP4AST.MethodInvocationExpr(lexicalText(n.name()), n.args().map(v -> (TinyExpressionP4AST.ArgumentsExpr) convert(v))); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.TernaryExpr n) converted = new TinyExpressionP4AST.TernaryExpr((TinyExpressionP4AST.BooleanOrExpr) convert(n.condition()), (TinyExpressionP4AST.BranchExpressionExpr) convert(n.thenExpr()), (TinyExpressionP4AST.BranchExpressionExpr) convert(n.elseExpr())); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ArgumentExpressionExpr n) converted = new TinyExpressionP4AST.ArgumentExpressionExpr(convertAny(n.value())); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ArgumentsExpr n) converted = new TinyExpressionP4AST.ArgumentsExpr(n.values().stream().map(v -> (TinyExpressionP4AST.ArgumentExpressionExpr) convert(v)).toList()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BinaryExpr n) converted = new TinyExpressionP4AST.BinaryExpr(convert(n.left()), n.op(), n.right().stream().map(this::convert).toList()); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BinaryExpr n) converted = new TinyExpressionP4AST.BinaryExpr(convert(n.left()), n.op().stream().map(UbnfcAstConverter::lexicalText).toList(), n.right().stream().map(this::convert).toList()); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.SinExpr n) converted = new TinyExpressionP4AST.SinExpr((TinyExpressionP4AST.ArgumentExpressionExpr) convert(n.arg())); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.CosExpr n) converted = new TinyExpressionP4AST.CosExpr((TinyExpressionP4AST.ArgumentExpressionExpr) convert(n.arg())); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.TanExpr n) converted = new TinyExpressionP4AST.TanExpr((TinyExpressionP4AST.ArgumentExpressionExpr) convert(n.arg())); @@ -121,19 +127,19 @@ TinyExpressionP4AST convert(org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyEx else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ContainsDotExpr n) converted = new TinyExpressionP4AST.ContainsDotExpr(convertAny(n.value()), n.patterns().stream().map(v -> (TinyExpressionP4AST.StringConcatExpr) convert(v)).toList()); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.IsPresentExpr n) converted = new TinyExpressionP4AST.IsPresentExpr((TinyExpressionP4AST.VariableRefExpr) convert(n.value())); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.InTimeRangeExpr n) converted = new TinyExpressionP4AST.InTimeRangeExpr((TinyExpressionP4AST.BinaryExpr) convert(n.startHour()), (TinyExpressionP4AST.BinaryExpr) convert(n.endHour())); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.InDayTimeRangeExpr n) converted = new TinyExpressionP4AST.InDayTimeRangeExpr(n.startDay(), (TinyExpressionP4AST.BinaryExpr) convert(n.startHour()), n.endDay(), (TinyExpressionP4AST.BinaryExpr) convert(n.endHour())); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.InDayTimeRangeExpr n) converted = new TinyExpressionP4AST.InDayTimeRangeExpr(lexicalText(n.startDay()), (TinyExpressionP4AST.BinaryExpr) convert(n.startHour()), lexicalText(n.endDay()), (TinyExpressionP4AST.BinaryExpr) convert(n.endHour())); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.SliceExpr n) converted = (TinyExpressionP4AST.SliceExpr) VariantShapes.construct(TinyExpressionP4AST.SliceExpr.class, convertAny(n.value()), new VariantShapes.SliceIndex(n.start().map(v -> (java.lang.Object) convert(v)), n.start().map(this::sourceText)), new VariantShapes.SliceIndex(n.end().map(v -> (java.lang.Object) convert(v)), n.end().map(this::sourceText)), new VariantShapes.SliceIndex(n.step().map(v -> (java.lang.Object) convert(v)), n.step().map(this::sourceText))); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.StringConcatExpr n) converted = new TinyExpressionP4AST.StringConcatExpr(convertAny(n.left()), n.op(), n.right().stream().map(this::convertAny).toList()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.StringCastVariableRefExpr n) converted = new TinyExpressionP4AST.StringCastVariableRefExpr(n.name()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.StringTypedVariableRefExpr n) converted = new TinyExpressionP4AST.StringTypedVariableRefExpr(n.name()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanOrExpr n) converted = new TinyExpressionP4AST.BooleanOrExpr((TinyExpressionP4AST.BooleanAndExpr) convert(n.left()), n.op(), n.right().stream().map(v -> (TinyExpressionP4AST.BooleanAndExpr) convert(v)).toList()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanAndExpr n) converted = new TinyExpressionP4AST.BooleanAndExpr((TinyExpressionP4AST.BooleanXorExpr) convert(n.left()), n.op(), n.right().stream().map(v -> (TinyExpressionP4AST.BooleanXorExpr) convert(v)).toList()); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanXorExpr n) converted = new TinyExpressionP4AST.BooleanXorExpr((TinyExpressionP4AST.BooleanFactorExpr) convert(n.left()), n.op(), n.right().stream().map(v -> (TinyExpressionP4AST.BooleanFactorExpr) convert(v)).toList()); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.StringConcatExpr n) converted = new TinyExpressionP4AST.StringConcatExpr(convertAny(n.left()), n.op().stream().map(UbnfcAstConverter::lexicalText).toList(), n.right().stream().map(this::convertAny).toList()); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.StringCastVariableRefExpr n) converted = new TinyExpressionP4AST.StringCastVariableRefExpr(lexicalText(n.name())); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.StringTypedVariableRefExpr n) converted = new TinyExpressionP4AST.StringTypedVariableRefExpr(lexicalText(n.name())); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanOrExpr n) converted = new TinyExpressionP4AST.BooleanOrExpr((TinyExpressionP4AST.BooleanAndExpr) convert(n.left()), n.op().stream().map(UbnfcAstConverter::lexicalText).toList(), n.right().stream().map(v -> (TinyExpressionP4AST.BooleanAndExpr) convert(v)).toList()); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanAndExpr n) converted = new TinyExpressionP4AST.BooleanAndExpr((TinyExpressionP4AST.BooleanXorExpr) convert(n.left()), n.op().stream().map(UbnfcAstConverter::lexicalText).toList(), n.right().stream().map(v -> (TinyExpressionP4AST.BooleanXorExpr) convert(v)).toList()); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanXorExpr n) converted = new TinyExpressionP4AST.BooleanXorExpr((TinyExpressionP4AST.BooleanFactorExpr) convert(n.left()), n.op().stream().map(UbnfcAstConverter::lexicalText).toList(), n.right().stream().map(v -> (TinyExpressionP4AST.BooleanFactorExpr) convert(v)).toList()); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.NotExpr n) converted = new TinyExpressionP4AST.NotExpr((TinyExpressionP4AST.BooleanOrExpr) convert(n.value())); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanEqualityExpr n) converted = new TinyExpressionP4AST.BooleanEqualityExpr(convertAny(n.left()), n.op(), convertAny(n.right())); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanEqualityExpr n) converted = new TinyExpressionP4AST.BooleanEqualityExpr(convertAny(n.left()), lexicalText(n.op()), convertAny(n.right())); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanFactorExpr n) converted = new TinyExpressionP4AST.BooleanFactorExpr(convertAny(n.value())); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.StringComparisonExpr n) converted = new TinyExpressionP4AST.StringComparisonExpr((TinyExpressionP4AST.StringConcatExpr) convert(n.left()), n.op(), (TinyExpressionP4AST.StringConcatExpr) convert(n.right())); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ComparisonExpr n) converted = new TinyExpressionP4AST.ComparisonExpr((TinyExpressionP4AST.BinaryExpr) convert(n.left()), n.op(), (TinyExpressionP4AST.BinaryExpr) convert(n.right())); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.StringComparisonExpr n) converted = new TinyExpressionP4AST.StringComparisonExpr((TinyExpressionP4AST.StringConcatExpr) convert(n.left()), lexicalText(n.op()), (TinyExpressionP4AST.StringConcatExpr) convert(n.right())); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ComparisonExpr n) converted = new TinyExpressionP4AST.ComparisonExpr((TinyExpressionP4AST.BinaryExpr) convert(n.left()), lexicalText(n.op()), (TinyExpressionP4AST.BinaryExpr) convert(n.right())); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ObjectExpr n) converted = new TinyExpressionP4AST.ObjectExpr(convertAny(n.value())); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.IfExpr n) converted = new TinyExpressionP4AST.IfExpr((TinyExpressionP4AST.BooleanOrExpr) convert(n.condition()), (TinyExpressionP4AST.BranchExpressionExpr) convert(n.thenExpr()), (TinyExpressionP4AST.BranchExpressionExpr) convert(n.elseExpr())); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BranchExpressionExpr n) converted = new TinyExpressionP4AST.BranchExpressionExpr(convertAny(n.value())); @@ -149,7 +155,7 @@ TinyExpressionP4AST convert(org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyEx else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanCaseExpr n) converted = new TinyExpressionP4AST.BooleanCaseExpr((TinyExpressionP4AST.BooleanOrExpr) convert(n.condition()), (TinyExpressionP4AST.BooleanCaseValueExpr) convert(n.value())); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanDefaultCaseExpr n) converted = new TinyExpressionP4AST.BooleanDefaultCaseExpr((TinyExpressionP4AST.BooleanCaseValueExpr) convert(n.value())); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.BooleanCaseValueExpr n) converted = new TinyExpressionP4AST.BooleanCaseValueExpr((TinyExpressionP4AST.BooleanOrExpr) convert(n.value())); - else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.VariableRefExpr n) converted = new TinyExpressionP4AST.VariableRefExpr(n.name(), n.type()); + else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.VariableRefExpr n) converted = new TinyExpressionP4AST.VariableRefExpr(lexicalText(n.name()), n.type().map(UbnfcAstConverter::lexicalText)); else if (node instanceof org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.ExpressionExpr n) converted = new TinyExpressionP4AST.ExpressionExpr(convertAny(n.value())); else throw new IllegalStateException("unhandled node: " + node); depth = nodeDepth; diff --git a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/UbnfcP4Parse.java b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/UbnfcP4Parse.java index 4404941f..7aaeb9e5 100644 --- a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/UbnfcP4Parse.java +++ b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/UbnfcP4Parse.java @@ -260,7 +260,8 @@ private static ParsedRoot parseRootToken(String parserSource, long deadlineNanos */ private static ParseResult parseEntry( String entry, String parserSource) { - ParseOptions options = new ParseOptions(true, false, false, true, TinyExpressionScanners.ALL); + // All lexical tokens are generated from UBNF; no external scanner bindings. + ParseOptions options = new ParseOptions(true, false, false, true, java.util.Map.of()); return TinyExpressionP4Parser.parseEntry("TinyExpressionP4", entry, parserSource, options); } diff --git a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/TinyExpressionP4Parser.java b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/TinyExpressionP4Parser.java index 98cceb97..69046066 100644 --- a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/TinyExpressionP4Parser.java +++ b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/TinyExpressionP4Parser.java @@ -174,6 +174,11 @@ yield switch (entry) { default -> throw new IllegalArgumentException("Unsupported entry: " + entry); }; } + case "Numbers" -> throw new IllegalArgumentException("Grammar has no parser entry"); + case "Characters" -> throw new IllegalArgumentException("Grammar has no parser entry"); + case "Identifiers" -> throw new IllegalArgumentException("Grammar has no parser entry"); + case "Strings" -> throw new IllegalArgumentException("Grammar has no parser entry"); + case "Fences" -> throw new IllegalArgumentException("Grammar has no parser entry"); default -> throw new IllegalArgumentException("Unsupported grammar: " + grammar); }; var s = new Session(source, options, K0, true, false); @@ -186,474 +191,806 @@ yield switch (entry) { if (!syntax.ok() || !options.buildAst()) return syntax; if (match.mappingFailure()) throw s.mapping(match.start(), match.end(), "Recovered input cannot be mapped", null); if (match.nodes().isEmpty()) return syntax; - return syntax.withAst((TinyExpressionP4AST) build(match.nodes().get(0), s), s.spans); + return syntax.withAst((TinyExpressionP4AST) build(match.nodes().get(0), s), s.spans()); } private static Object build(Recipe r, Session s) { if (s.hasBuilt(r)) return s.built(r); if (r.id().equals("#recovery")) return s.remember(r, null); try { Object node = switch (r.id()) { - case "recipe:Formula" -> { - java.util.List field0 = s.list(r,0,"imports",v -> (TinyExpressionP4AST.ImportDeclarationExpr) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"declarations",v -> (v.nodes().isEmpty() ? null : build(s.node(v, r), s))); - TinyExpressionP4AST.ExpressionExpr field2 = s.scalar(r,2,"expression",v -> (TinyExpressionP4AST.ExpressionExpr) build(s.node(v, r), s)); - java.util.List field3 = s.list(r,3,"methods",v -> (v.nodes().isEmpty() ? null : build(s.node(v, r), s))); - java.util.List field4 = s.list(r,4,"codeBlocks",v -> (TinyExpressionP4AST.CodeBlockExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.FormulaExpr(field0, field1, field2, field3, field4); - } - case "recipe:CodeBlock" -> { - java.lang.String field0 = s.scalar(r,0,"source",v -> s.text(v)); - yield new TinyExpressionP4AST.CodeBlockExpr(field0); - } - case "recipe:ImportDeclaration" -> { - TinyExpressionP4AST.QualifiedNameExpr field0 = s.scalar(r,0,"className",v -> (TinyExpressionP4AST.QualifiedNameExpr) build(s.node(v, r), s)); - java.util.Optional field1 = s.optional(r,1,"method",v -> s.text(v)); - java.lang.String field2 = s.scalar(r,2,"alias",v -> s.text(v)); - yield new TinyExpressionP4AST.ImportDeclarationExpr(field0, field1, field2); - } - case "recipe:ClassName" -> { - java.lang.String field0 = s.scalar(r,0,"head",v -> s.text(v)); - java.util.List field1 = s.list(r,1,"tail",v -> s.text(v)); - yield new TinyExpressionP4AST.QualifiedNameExpr(field0, field1); - } - case "recipe:NumberVariableDeclaration" -> { - java.lang.String field0 = s.scalar(r,0,"varName",v -> s.text(v)); - java.util.Optional field1 = s.optional(r,1,"onlyIfAbsent",v -> (TinyExpressionP4AST.OnlyIfAbsentExpr) build(s.node(v, r), s)); - java.util.Optional field2 = s.optional(r,2,"value",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - java.util.Optional field3 = s.optional(r,3,"desc",v -> s.text(v)); - yield new TinyExpressionP4AST.NumberVariableDeclarationExpr(field0, field1, field2, field3); - } - case "recipe:StringVariableDeclaration" -> { - java.lang.String field0 = s.scalar(r,0,"varName",v -> s.text(v)); - java.util.Optional field1 = s.optional(r,1,"onlyIfAbsent",v -> (TinyExpressionP4AST.OnlyIfAbsentExpr) build(s.node(v, r), s)); - java.util.Optional field2 = s.optional(r,2,"value",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - java.util.Optional field3 = s.optional(r,3,"desc",v -> s.text(v)); - yield new TinyExpressionP4AST.StringVariableDeclarationExpr(field0, field1, field2, field3); - } - case "recipe:BooleanVariableDeclaration" -> { - java.lang.String field0 = s.scalar(r,0,"varName",v -> s.text(v)); - java.util.Optional field1 = s.optional(r,1,"onlyIfAbsent",v -> (TinyExpressionP4AST.OnlyIfAbsentExpr) build(s.node(v, r), s)); - java.util.Optional field2 = s.optional(r,2,"value",v -> (TinyExpressionP4AST.BooleanOrExpr) build(s.node(v, r), s)); - java.util.Optional field3 = s.optional(r,3,"desc",v -> s.text(v)); - yield new TinyExpressionP4AST.BooleanVariableDeclarationExpr(field0, field1, field2, field3); - } - case "recipe:ObjectVariableDeclaration" -> { - java.lang.String field0 = s.scalar(r,0,"varName",v -> s.text(v)); - java.util.Optional field1 = s.optional(r,1,"onlyIfAbsent",v -> (TinyExpressionP4AST.OnlyIfAbsentExpr) build(s.node(v, r), s)); - java.util.Optional field2 = s.optional(r,2,"value",v -> (TinyExpressionP4AST.ObjectExpr) build(s.node(v, r), s)); - java.util.Optional field3 = s.optional(r,3,"desc",v -> s.text(v)); - yield new TinyExpressionP4AST.ObjectVariableDeclarationExpr(field0, field1, field2, field3); - } - case "recipe:OnlyIfAbsent" -> { - yield new TinyExpressionP4AST.OnlyIfAbsentExpr(); - } - case "recipe:NumberMethodDeclaration" -> { - java.lang.String field0 = s.scalar(r,0,"methodName",v -> s.text(v)); - java.util.Optional field1 = s.optional(r,1,"parameters",v -> (TinyExpressionP4AST.MethodParametersExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.BinaryExpr field2 = s.scalar(r,2,"expression",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.NumberMethodDeclarationExpr(field0, field1, field2); - } - case "recipe:StringMethodDeclaration" -> { - java.lang.String field0 = s.scalar(r,0,"methodName",v -> s.text(v)); - java.util.Optional field1 = s.optional(r,1,"parameters",v -> (TinyExpressionP4AST.MethodParametersExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.StringConcatExpr field2 = s.scalar(r,2,"expression",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.StringMethodDeclarationExpr(field0, field1, field2); - } - case "recipe:BooleanMethodDeclaration" -> { - java.lang.String field0 = s.scalar(r,0,"methodName",v -> s.text(v)); - java.util.Optional field1 = s.optional(r,1,"parameters",v -> (TinyExpressionP4AST.MethodParametersExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.BooleanOrExpr field2 = s.scalar(r,2,"expression",v -> (TinyExpressionP4AST.BooleanOrExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.BooleanMethodDeclarationExpr(field0, field1, field2); - } - case "recipe:ObjectMethodDeclaration" -> { - java.lang.String field0 = s.scalar(r,0,"methodName",v -> s.text(v)); - java.util.Optional field1 = s.optional(r,1,"parameters",v -> (TinyExpressionP4AST.MethodParametersExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.ObjectExpr field2 = s.scalar(r,2,"expression",v -> (TinyExpressionP4AST.ObjectExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ObjectMethodDeclarationExpr(field0, field1, field2); - } - case "recipe:MethodParameters" -> { - java.util.List field0 = s.list(r,0,"values",v -> (TinyExpressionP4AST.MethodParameterExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.MethodParametersExpr(field0); - } - case "recipe:MethodParameter" -> { - java.lang.String field0 = s.scalar(r,0,"paramName",v -> s.text(v)); - java.util.Optional field1 = s.optional(r,1,"type",v -> s.text(v)); - yield new TinyExpressionP4AST.MethodParameterExpr(field0, field1); - } - case "recipe:ExternalBooleanInvocation" -> { - java.util.Optional field0 = s.optional(r,0,"className",v -> (TinyExpressionP4AST.QualifiedNameExpr) build(s.node(v, r), s)); - java.lang.String field1 = s.scalar(r,1,"name",v -> s.text(v)); - java.util.Optional field2 = s.optional(r,2,"args",v -> (TinyExpressionP4AST.ArgumentsExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ExternalBooleanInvocationExpr(field0, field1, field2); - } - case "recipe:ExternalNumberInvocation" -> { - java.util.Optional field0 = s.optional(r,0,"className",v -> (TinyExpressionP4AST.QualifiedNameExpr) build(s.node(v, r), s)); - java.lang.String field1 = s.scalar(r,1,"name",v -> s.text(v)); - java.util.Optional field2 = s.optional(r,2,"args",v -> (TinyExpressionP4AST.ArgumentsExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ExternalNumberInvocationExpr(field0, field1, field2); - } - case "recipe:ExternalStringInvocation" -> { - java.util.Optional field0 = s.optional(r,0,"className",v -> (TinyExpressionP4AST.QualifiedNameExpr) build(s.node(v, r), s)); - java.lang.String field1 = s.scalar(r,1,"name",v -> s.text(v)); - java.util.Optional field2 = s.optional(r,2,"args",v -> (TinyExpressionP4AST.ArgumentsExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ExternalStringInvocationExpr(field0, field1, field2); - } - case "recipe:ExternalObjectInvocation" -> { - java.util.Optional field0 = s.optional(r,0,"className",v -> (TinyExpressionP4AST.QualifiedNameExpr) build(s.node(v, r), s)); - java.lang.String field1 = s.scalar(r,1,"name",v -> s.text(v)); - java.util.Optional field2 = s.optional(r,2,"args",v -> (TinyExpressionP4AST.ArgumentsExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ExternalObjectInvocationExpr(field0, field1, field2); - } - case "recipe:MethodInvocation" -> { - java.lang.String field0 = s.scalar(r,0,"name",v -> s.text(v)); - java.util.Optional field1 = s.optional(r,1,"args",v -> (TinyExpressionP4AST.ArgumentsExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.MethodInvocationExpr(field0, field1); - } - case "recipe:ArgumentTernary" -> { - TinyExpressionP4AST.BooleanOrExpr field0 = s.scalar(r,0,"condition",v -> (TinyExpressionP4AST.BooleanOrExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.BranchExpressionExpr field1 = s.scalar(r,1,"thenExpr",v -> (TinyExpressionP4AST.BranchExpressionExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.BranchExpressionExpr field2 = s.scalar(r,2,"elseExpr",v -> (TinyExpressionP4AST.BranchExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.TernaryExpr(field0, field1, field2); - } - case "recipe:ArgumentExpression" -> { - java.lang.Object field0 = s.scalar(r,0,"value",v -> (v.nodes().isEmpty() ? null : build(s.node(v, r), s))); - yield new TinyExpressionP4AST.ArgumentExpressionExpr(field0); - } - case "recipe:Arguments" -> { - java.util.List field0 = s.list(r,0,"values",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ArgumentsExpr(field0); - } - case "recipe:NumberExpression" -> { - TinyExpressionP4AST field0 = s.scalar(r,0,"left",v -> (TinyExpressionP4AST) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"op",v -> s.text(v)); - java.util.List field2 = s.list(r,2,"right",v -> (TinyExpressionP4AST) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.BinaryExpr(field0, field1, field2); - } - case "recipe:NumberTerm" -> { - TinyExpressionP4AST field0 = s.scalar(r,0,"left",v -> (TinyExpressionP4AST) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"op",v -> s.text(v)); - java.util.List field2 = s.list(r,2,"right",v -> (TinyExpressionP4AST) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.BinaryExpr(field0, field1, field2); - } - case "recipe:SinFunction" -> { - TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.scalar(r,0,"arg",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.SinExpr(field0); - } - case "recipe:CosFunction" -> { - TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.scalar(r,0,"arg",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.CosExpr(field0); - } - case "recipe:TanFunction" -> { - TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.scalar(r,0,"arg",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.TanExpr(field0); - } - case "recipe:SqrtFunction" -> { - TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.scalar(r,0,"arg",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.SqrtExpr(field0); - } - case "recipe:MinFunction" -> { - TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.scalar(r,0,"first",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"rest",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.MinExpr(field0, field1); - } - case "recipe:MaxFunction" -> { - TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.scalar(r,0,"first",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"rest",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.MaxExpr(field0, field1); - } - case "recipe:RandomFunction" -> { - yield new TinyExpressionP4AST.RandomExpr(); - } - case "recipe:AbsFunction" -> { - TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.scalar(r,0,"arg",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.AbsExpr(field0); - } - case "recipe:RoundFunction" -> { - TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.scalar(r,0,"arg",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.RoundExpr(field0); - } - case "recipe:CeilFunction" -> { - TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.scalar(r,0,"arg",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.CeilExpr(field0); - } - case "recipe:FloorFunction" -> { - TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.scalar(r,0,"arg",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.FloorExpr(field0); - } - case "recipe:PowFunction" -> { - TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.scalar(r,0,"base",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.ArgumentExpressionExpr field1 = s.scalar(r,1,"exponent",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.PowExpr(field0, field1); - } - case "recipe:LogFunction" -> { - TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.scalar(r,0,"arg",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.LogExpr(field0); - } - case "recipe:ExpFunction" -> { - TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.scalar(r,0,"arg",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ExpExpr(field0); - } - case "recipe:ToNumFunction" -> { - TinyExpressionP4AST.StringConcatExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.ArgumentExpressionExpr field1 = s.scalar(r,1,"defaultValue",v -> (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ToNumExpr(field0, field1); - } - case "recipe:ToUpperCaseFunction" -> { - TinyExpressionP4AST.StringConcatExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ToUpperCaseExpr(field0); - } - case "recipe:ToLowerCaseFunction" -> { - TinyExpressionP4AST.StringConcatExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ToLowerCaseExpr(field0); - } - case "recipe:TrimFunction" -> { - TinyExpressionP4AST.StringConcatExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.TrimExpr(field0); - } - case "recipe:LengthFunction" -> { - TinyExpressionP4AST.StringConcatExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.LengthExpr(field0); - } - case "recipe:LenFunction" -> { - TinyExpressionP4AST.StringConcatExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.LengthExpr(field0); - } - case "recipe:ToUpperCaseDotMethod" -> { - TinyExpressionP4AST.VariableRefExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.VariableRefExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ToUpperCaseDotExpr(field0); - } - case "recipe:ToLowerCaseDotMethod" -> { - TinyExpressionP4AST.VariableRefExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.VariableRefExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ToLowerCaseDotExpr(field0); - } - case "recipe:TrimDotMethod" -> { - TinyExpressionP4AST.VariableRefExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.VariableRefExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.TrimDotExpr(field0); - } - case "recipe:LengthDotMethod" -> { - TinyExpressionP4AST.VariableRefExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.VariableRefExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.LengthDotExpr(field0); - } - case "recipe:StartsWithFunction" -> { - TinyExpressionP4AST.StringConcatExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"patterns",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.StartsWithExpr(field0, field1); - } - case "recipe:EndsWithFunction" -> { - TinyExpressionP4AST.StringConcatExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"patterns",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.EndsWithExpr(field0, field1); - } - case "recipe:ContainsFunction" -> { - TinyExpressionP4AST.StringConcatExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"patterns",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ContainsExpr(field0, field1); - } - case "recipe:InMethod" -> { - TinyExpressionP4AST.StringConcatExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"candidates",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.InExpr(field0, field1); - } - case "recipe:StartsWithDotMethod" -> { - java.lang.Object field0 = s.scalar(r,0,"value",v -> (v.nodes().isEmpty() ? null : build(s.node(v, r), s))); - java.util.List field1 = s.list(r,1,"patterns",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.StartsWithDotExpr(field0, field1); - } - case "recipe:EndsWithDotMethod" -> { - java.lang.Object field0 = s.scalar(r,0,"value",v -> (v.nodes().isEmpty() ? null : build(s.node(v, r), s))); - java.util.List field1 = s.list(r,1,"patterns",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.EndsWithDotExpr(field0, field1); - } - case "recipe:ContainsDotMethod" -> { - java.lang.Object field0 = s.scalar(r,0,"value",v -> (v.nodes().isEmpty() ? null : build(s.node(v, r), s))); - java.util.List field1 = s.list(r,1,"patterns",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ContainsDotExpr(field0, field1); - } - case "recipe:IsPresentFunction" -> { - TinyExpressionP4AST.VariableRefExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.VariableRefExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.IsPresentExpr(field0); - } - case "recipe:InTimeRangeFunction" -> { - TinyExpressionP4AST.BinaryExpr field0 = s.scalar(r,0,"startHour",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.BinaryExpr field1 = s.scalar(r,1,"endHour",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.InTimeRangeExpr(field0, field1); - } - case "recipe:InDayTimeRangeFunction" -> { - java.lang.String field0 = s.scalar(r,0,"startDay",v -> s.text(v)); - TinyExpressionP4AST.BinaryExpr field1 = s.scalar(r,1,"startHour",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - java.lang.String field2 = s.scalar(r,2,"endDay",v -> s.text(v)); - TinyExpressionP4AST.BinaryExpr field3 = s.scalar(r,3,"endHour",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.InDayTimeRangeExpr(field0, field1, field2, field3); - } - case "recipe:SliceBaseExpression" -> { - java.lang.Object field0 = s.scalar(r,0,"value",v -> (v.nodes().isEmpty() ? s.text(v) : build(s.node(v, r), s))); - java.util.Optional field1 = s.optional(r,1,"start",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - java.util.Optional field2 = s.optional(r,2,"end",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - java.util.Optional field3 = s.optional(r,3,"step",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.SliceExpr(field0, field1, field2, field3); - } - case "recipe:SliceNestedExpression" -> { - java.lang.Object field0 = s.scalar(r,0,"value",v -> (v.nodes().isEmpty() ? s.text(v) : build(s.node(v, r), s))); - java.util.Optional field1 = s.optional(r,1,"start",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - java.util.Optional field2 = s.optional(r,2,"end",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - java.util.Optional field3 = s.optional(r,3,"step",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.SliceExpr(field0, field1, field2, field3); - } - case "recipe:StringExpression" -> { - java.lang.Object field0 = s.scalar(r,0,"left",v -> (v.nodes().isEmpty() ? s.text(v) : build(s.node(v, r), s))); - java.util.List field1 = s.list(r,1,"op",v -> s.text(v)); - java.util.List field2 = s.list(r,2,"right",v -> (v.nodes().isEmpty() ? s.text(v) : build(s.node(v, r), s))); - yield new TinyExpressionP4AST.StringConcatExpr(field0, field1, field2); - } - case "recipe:StringCastVariable" -> { - java.lang.String field0 = s.scalar(r,0,"name",v -> s.text(v)); - yield new TinyExpressionP4AST.StringCastVariableRefExpr(field0); - } - case "recipe:StringTypedVariable" -> { - java.lang.String field0 = s.scalar(r,0,"name",v -> s.text(v)); - yield new TinyExpressionP4AST.StringTypedVariableRefExpr(field0); - } - case "recipe:BooleanExpression" -> { - TinyExpressionP4AST.BooleanAndExpr field0 = s.scalar(r,0,"left",v -> (TinyExpressionP4AST.BooleanAndExpr) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"op",v -> s.text(v)); - java.util.List field2 = s.list(r,2,"right",v -> (TinyExpressionP4AST.BooleanAndExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.BooleanOrExpr(field0, field1, field2); - } - case "recipe:BooleanAndExpression" -> { - TinyExpressionP4AST.BooleanXorExpr field0 = s.scalar(r,0,"left",v -> (TinyExpressionP4AST.BooleanXorExpr) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"op",v -> s.text(v)); - java.util.List field2 = s.list(r,2,"right",v -> (TinyExpressionP4AST.BooleanXorExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.BooleanAndExpr(field0, field1, field2); - } - case "recipe:BooleanXorExpression" -> { - TinyExpressionP4AST.BooleanFactorExpr field0 = s.scalar(r,0,"left",v -> (TinyExpressionP4AST.BooleanFactorExpr) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"op",v -> s.text(v)); - java.util.List field2 = s.list(r,2,"right",v -> (TinyExpressionP4AST.BooleanFactorExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.BooleanXorExpr(field0, field1, field2); - } - case "recipe:NotExpression" -> { - TinyExpressionP4AST.BooleanOrExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.BooleanOrExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.NotExpr(field0); - } - case "recipe:BooleanEqualityExpression" -> { - java.lang.Object field0 = s.scalar(r,0,"left",v -> (v.nodes().isEmpty() ? s.text(v) : build(s.node(v, r), s))); - java.lang.String field1 = s.scalar(r,1,"op",v -> s.text(v)); - java.lang.Object field2 = s.scalar(r,2,"right",v -> (v.nodes().isEmpty() ? s.text(v) : build(s.node(v, r), s))); - yield new TinyExpressionP4AST.BooleanEqualityExpr(field0, field1, field2); - } - case "recipe:BooleanFactor" -> { - java.lang.Object field0 = s.scalar(r,0,"value",v -> (v.nodes().isEmpty() ? s.text(v) : build(s.node(v, r), s))); - yield new TinyExpressionP4AST.BooleanFactorExpr(field0); - } - case "recipe:StringComparisonExpression" -> { - TinyExpressionP4AST.StringConcatExpr field0 = s.scalar(r,0,"left",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - java.lang.String field1 = s.scalar(r,1,"op",v -> s.text(v)); - TinyExpressionP4AST.StringConcatExpr field2 = s.scalar(r,2,"right",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.StringComparisonExpr(field0, field1, field2); - } - case "recipe:ComparisonExpression" -> { - TinyExpressionP4AST.BinaryExpr field0 = s.scalar(r,0,"left",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - java.lang.String field1 = s.scalar(r,1,"op",v -> s.text(v)); - TinyExpressionP4AST.BinaryExpr field2 = s.scalar(r,2,"right",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.ComparisonExpr(field0, field1, field2); - } - case "recipe:ObjectExpression" -> { - java.lang.Object field0 = s.scalar(r,0,"value",v -> (v.nodes().isEmpty() ? null : build(s.node(v, r), s))); - yield new TinyExpressionP4AST.ObjectExpr(field0); - } - case "recipe:IfExpression" -> { - TinyExpressionP4AST.BooleanOrExpr field0 = s.scalar(r,0,"condition",v -> (TinyExpressionP4AST.BooleanOrExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.BranchExpressionExpr field1 = s.scalar(r,1,"thenExpr",v -> (TinyExpressionP4AST.BranchExpressionExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.BranchExpressionExpr field2 = s.scalar(r,2,"elseExpr",v -> (TinyExpressionP4AST.BranchExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.IfExpr(field0, field1, field2); - } - case "recipe:BranchExpression" -> { - java.lang.Object field0 = s.scalar(r,0,"value",v -> (v.nodes().isEmpty() ? null : build(s.node(v, r), s))); - yield new TinyExpressionP4AST.BranchExpressionExpr(field0); - } - case "recipe:TernaryExpression" -> { - TinyExpressionP4AST.BooleanOrExpr field0 = s.scalar(r,0,"condition",v -> (TinyExpressionP4AST.BooleanOrExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.BranchExpressionExpr field1 = s.scalar(r,1,"thenExpr",v -> (TinyExpressionP4AST.BranchExpressionExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.BranchExpressionExpr field2 = s.scalar(r,2,"elseExpr",v -> (TinyExpressionP4AST.BranchExpressionExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.TernaryExpr(field0, field1, field2); - } - case "recipe:NumberMatchExpression" -> { - TinyExpressionP4AST.NumberCaseExpr field0 = s.scalar(r,0,"firstCase",v -> (TinyExpressionP4AST.NumberCaseExpr) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"moreCases",v -> (TinyExpressionP4AST.NumberCaseExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.NumberDefaultCaseExpr field2 = s.scalar(r,2,"defaultCase",v -> (TinyExpressionP4AST.NumberDefaultCaseExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.NumberMatchExpr(field0, field1, field2); - } - case "recipe:NumberCase" -> { - TinyExpressionP4AST.BooleanOrExpr field0 = s.scalar(r,0,"condition",v -> (TinyExpressionP4AST.BooleanOrExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.NumberCaseValueExpr field1 = s.scalar(r,1,"value",v -> (TinyExpressionP4AST.NumberCaseValueExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.NumberCaseExpr(field0, field1); - } - case "recipe:NumberDefaultCase" -> { - TinyExpressionP4AST.NumberCaseValueExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.NumberCaseValueExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.NumberDefaultCaseExpr(field0); - } - case "recipe:NumberCaseValue" -> { - TinyExpressionP4AST.BinaryExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.BinaryExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.NumberCaseValueExpr(field0); - } - case "recipe:StringMatchExpression" -> { - TinyExpressionP4AST.StringCaseExpr field0 = s.scalar(r,0,"firstCase",v -> (TinyExpressionP4AST.StringCaseExpr) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"moreCases",v -> (TinyExpressionP4AST.StringCaseExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.StringDefaultCaseExpr field2 = s.scalar(r,2,"defaultCase",v -> (TinyExpressionP4AST.StringDefaultCaseExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.StringMatchExpr(field0, field1, field2); - } - case "recipe:StringCase" -> { - TinyExpressionP4AST.BooleanOrExpr field0 = s.scalar(r,0,"condition",v -> (TinyExpressionP4AST.BooleanOrExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.StringCaseValueExpr field1 = s.scalar(r,1,"value",v -> (TinyExpressionP4AST.StringCaseValueExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.StringCaseExpr(field0, field1); - } - case "recipe:StringDefaultCase" -> { - TinyExpressionP4AST.StringCaseValueExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.StringCaseValueExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.StringDefaultCaseExpr(field0); - } - case "recipe:StringCaseValue" -> { - TinyExpressionP4AST.StringConcatExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.StringCaseValueExpr(field0); - } - case "recipe:BooleanMatchExpression" -> { - TinyExpressionP4AST.BooleanCaseExpr field0 = s.scalar(r,0,"firstCase",v -> (TinyExpressionP4AST.BooleanCaseExpr) build(s.node(v, r), s)); - java.util.List field1 = s.list(r,1,"moreCases",v -> (TinyExpressionP4AST.BooleanCaseExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.BooleanDefaultCaseExpr field2 = s.scalar(r,2,"defaultCase",v -> (TinyExpressionP4AST.BooleanDefaultCaseExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.BooleanMatchExpr(field0, field1, field2); - } - case "recipe:BooleanCase" -> { - TinyExpressionP4AST.BooleanOrExpr field0 = s.scalar(r,0,"condition",v -> (TinyExpressionP4AST.BooleanOrExpr) build(s.node(v, r), s)); - TinyExpressionP4AST.BooleanCaseValueExpr field1 = s.scalar(r,1,"value",v -> (TinyExpressionP4AST.BooleanCaseValueExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.BooleanCaseExpr(field0, field1); - } - case "recipe:BooleanDefaultCase" -> { - TinyExpressionP4AST.BooleanCaseValueExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.BooleanCaseValueExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.BooleanDefaultCaseExpr(field0); - } - case "recipe:BooleanCaseValue" -> { - TinyExpressionP4AST.BooleanOrExpr field0 = s.scalar(r,0,"value",v -> (TinyExpressionP4AST.BooleanOrExpr) build(s.node(v, r), s)); - yield new TinyExpressionP4AST.BooleanCaseValueExpr(field0); - } - case "recipe:VariableRef" -> { - java.lang.String field0 = s.scalar(r,0,"name",v -> s.text(v)); - java.util.Optional field1 = s.optional(r,1,"type",v -> s.text(v)); - yield new TinyExpressionP4AST.VariableRefExpr(field0, field1); - } - case "recipe:Expression" -> { - java.lang.Object field0 = s.scalar(r,0,"value",v -> (v.nodes().isEmpty() ? null : build(s.node(v, r), s))); - yield new TinyExpressionP4AST.ExpressionExpr(field0); - } + case "recipe:Formula" -> b0(r, s); + case "recipe:CodeBlock" -> b1(r, s); + case "recipe:ImportDeclaration" -> b2(r, s); + case "recipe:ClassName" -> b3(r, s); + case "recipe:NumberVariableDeclaration" -> b4(r, s); + case "recipe:StringVariableDeclaration" -> b5(r, s); + case "recipe:BooleanVariableDeclaration" -> b6(r, s); + case "recipe:ObjectVariableDeclaration" -> b7(r, s); + case "recipe:OnlyIfAbsent" -> b8(r, s); + case "recipe:NumberMethodDeclaration" -> b9(r, s); + case "recipe:StringMethodDeclaration" -> b10(r, s); + case "recipe:BooleanMethodDeclaration" -> b11(r, s); + case "recipe:ObjectMethodDeclaration" -> b12(r, s); + case "recipe:MethodParameters" -> b13(r, s); + case "recipe:MethodParameter" -> b14(r, s); + case "recipe:ExternalBooleanInvocation" -> b15(r, s); + case "recipe:ExternalNumberInvocation" -> b16(r, s); + case "recipe:ExternalStringInvocation" -> b17(r, s); + case "recipe:ExternalObjectInvocation" -> b18(r, s); + case "recipe:MethodInvocation" -> b19(r, s); + case "recipe:ArgumentTernary" -> b20(r, s); + case "recipe:ArgumentExpression" -> b21(r, s); + case "recipe:Arguments" -> b22(r, s); + case "recipe:NumberExpression" -> b23(r, s); + case "recipe:NumberTerm" -> b24(r, s); + case "recipe:SinFunction" -> b25(r, s); + case "recipe:CosFunction" -> b26(r, s); + case "recipe:TanFunction" -> b27(r, s); + case "recipe:SqrtFunction" -> b28(r, s); + case "recipe:MinFunction" -> b29(r, s); + case "recipe:MaxFunction" -> b30(r, s); + case "recipe:RandomFunction" -> b31(r, s); + case "recipe:AbsFunction" -> b32(r, s); + case "recipe:RoundFunction" -> b33(r, s); + case "recipe:CeilFunction" -> b34(r, s); + case "recipe:FloorFunction" -> b35(r, s); + case "recipe:PowFunction" -> b36(r, s); + case "recipe:LogFunction" -> b37(r, s); + case "recipe:ExpFunction" -> b38(r, s); + case "recipe:ToNumFunction" -> b39(r, s); + case "recipe:ToUpperCaseFunction" -> b40(r, s); + case "recipe:ToLowerCaseFunction" -> b41(r, s); + case "recipe:TrimFunction" -> b42(r, s); + case "recipe:LengthFunction" -> b43(r, s); + case "recipe:LenFunction" -> b44(r, s); + case "recipe:ToUpperCaseDotMethod" -> b45(r, s); + case "recipe:ToLowerCaseDotMethod" -> b46(r, s); + case "recipe:TrimDotMethod" -> b47(r, s); + case "recipe:LengthDotMethod" -> b48(r, s); + case "recipe:StartsWithFunction" -> b49(r, s); + case "recipe:EndsWithFunction" -> b50(r, s); + case "recipe:ContainsFunction" -> b51(r, s); + case "recipe:InMethod" -> b52(r, s); + case "recipe:StartsWithDotMethod" -> b53(r, s); + case "recipe:EndsWithDotMethod" -> b54(r, s); + case "recipe:ContainsDotMethod" -> b55(r, s); + case "recipe:IsPresentFunction" -> b56(r, s); + case "recipe:InTimeRangeFunction" -> b57(r, s); + case "recipe:InDayTimeRangeFunction" -> b58(r, s); + case "recipe:SliceBaseExpression" -> b59(r, s); + case "recipe:SliceNestedExpression" -> b60(r, s); + case "recipe:StringExpression" -> b61(r, s); + case "recipe:StringCastVariable" -> b62(r, s); + case "recipe:StringTypedVariable" -> b63(r, s); + case "recipe:BooleanExpression" -> b64(r, s); + case "recipe:BooleanAndExpression" -> b65(r, s); + case "recipe:BooleanXorExpression" -> b66(r, s); + case "recipe:NotExpression" -> b67(r, s); + case "recipe:BooleanEqualityExpression" -> b68(r, s); + case "recipe:BooleanFactor" -> b69(r, s); + case "recipe:StringComparisonExpression" -> b70(r, s); + case "recipe:ComparisonExpression" -> b71(r, s); + case "recipe:ObjectExpression" -> b72(r, s); + case "recipe:IfExpression" -> b73(r, s); + case "recipe:BranchExpression" -> b74(r, s); + case "recipe:TernaryExpression" -> b75(r, s); + case "recipe:NumberMatchExpression" -> b76(r, s); + case "recipe:NumberCase" -> b77(r, s); + case "recipe:NumberDefaultCase" -> b78(r, s); + case "recipe:NumberCaseValue" -> b79(r, s); + case "recipe:StringMatchExpression" -> b80(r, s); + case "recipe:StringCase" -> b81(r, s); + case "recipe:StringDefaultCase" -> b82(r, s); + case "recipe:StringCaseValue" -> b83(r, s); + case "recipe:BooleanMatchExpression" -> b84(r, s); + case "recipe:BooleanCase" -> b85(r, s); + case "recipe:BooleanDefaultCase" -> b86(r, s); + case "recipe:BooleanCaseValue" -> b87(r, s); + case "recipe:VariableRef" -> b88(r, s); + case "recipe:Expression" -> b89(r, s); case "#leaf:TinyExpressionP4AST.BinaryExpr" -> new TinyExpressionP4AST.BinaryExpr(null, List.of(s.source.substring(r.start(), r.end()).strip()), List.of()); default -> throw s.mapping(r.start(), r.end(), "Cannot build recipe: " + r.id(), null); }; return s.remember(r, node); } catch (Session.RecoveredNodeMissing missing) { return s.remember(r, null); } } + private static Object b0(Recipe r, Session s) { + List l0 = r.fieldValues(0); + Object[] a0 = l0.isEmpty() ? null : new Object[l0.size()]; int k0 = 0; + for (int i = 0, n = l0.size(); i < n; i++) { Recipe.Value v = l0.get(i); Object x = (TinyExpressionP4AST.ImportDeclarationExpr) build(s.node(v, r), s); if (x != null) a0[k0++] = x; } + java.util.List field0 = s.listOf(a0, k0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = (v.nodes().isEmpty() ? null : build(s.node(v, r), s)); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + Recipe.Value v2 = s.scalarValue(r,2,"expression"); + TinyExpressionP4AST.ExpressionExpr field2 = s.present((TinyExpressionP4AST.ExpressionExpr) build(s.node(v2, r), s), v2); + List l3 = r.fieldValues(3); + Object[] a3 = l3.isEmpty() ? null : new Object[l3.size()]; int k3 = 0; + for (int i = 0, n = l3.size(); i < n; i++) { Recipe.Value v = l3.get(i); Object x = (v.nodes().isEmpty() ? null : build(s.node(v, r), s)); if (x != null) a3[k3++] = x; } + java.util.List field3 = s.listOf(a3, k3); + List l4 = r.fieldValues(4); + Object[] a4 = l4.isEmpty() ? null : new Object[l4.size()]; int k4 = 0; + for (int i = 0, n = l4.size(); i < n; i++) { Recipe.Value v = l4.get(i); Object x = (TinyExpressionP4AST.CodeBlockExpr) build(s.node(v, r), s); if (x != null) a4[k4++] = x; } + java.util.List field4 = s.listOf(a4, k4); + return new TinyExpressionP4AST.FormulaExpr(field0, field1, field2, field3, field4); + } + private static Object b1(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"source"); + java.lang.String field0 = s.present(s.text(v0), v0); + return new TinyExpressionP4AST.CodeBlockExpr(field0); + } + private static Object b2(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"className"); + TinyExpressionP4AST.QualifiedNameExpr field0 = s.present((TinyExpressionP4AST.QualifiedNameExpr) build(s.node(v0, r), s), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable(s.text(v1)); + Recipe.Value v2 = s.scalarValue(r,2,"alias"); + java.lang.String field2 = s.present(s.text(v2), v2); + return new TinyExpressionP4AST.ImportDeclarationExpr(field0, field1, field2); + } + private static Object b3(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"head"); + java.lang.String field0 = s.present(s.text(v0), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = s.text(v); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + return new TinyExpressionP4AST.QualifiedNameExpr(field0, field1); + } + private static Object b4(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"varName"); + java.lang.String field0 = s.present(s.text(v0), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.OnlyIfAbsentExpr) build(s.node(v1, r), s)); + Recipe.Value v2 = s.firstValue(r,2); + java.util.Optional field2 = v2 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.BinaryExpr) build(s.node(v2, r), s)); + Recipe.Value v3 = s.firstValue(r,3); + java.util.Optional field3 = v3 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable(s.text(v3)); + return new TinyExpressionP4AST.NumberVariableDeclarationExpr(field0, field1, field2, field3); + } + private static Object b5(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"varName"); + java.lang.String field0 = s.present(s.text(v0), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.OnlyIfAbsentExpr) build(s.node(v1, r), s)); + Recipe.Value v2 = s.firstValue(r,2); + java.util.Optional field2 = v2 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.StringConcatExpr) build(s.node(v2, r), s)); + Recipe.Value v3 = s.firstValue(r,3); + java.util.Optional field3 = v3 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable(s.text(v3)); + return new TinyExpressionP4AST.StringVariableDeclarationExpr(field0, field1, field2, field3); + } + private static Object b6(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"varName"); + java.lang.String field0 = s.present(s.text(v0), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.OnlyIfAbsentExpr) build(s.node(v1, r), s)); + Recipe.Value v2 = s.firstValue(r,2); + java.util.Optional field2 = v2 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.BooleanOrExpr) build(s.node(v2, r), s)); + Recipe.Value v3 = s.firstValue(r,3); + java.util.Optional field3 = v3 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable(s.text(v3)); + return new TinyExpressionP4AST.BooleanVariableDeclarationExpr(field0, field1, field2, field3); + } + private static Object b7(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"varName"); + java.lang.String field0 = s.present(s.text(v0), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.OnlyIfAbsentExpr) build(s.node(v1, r), s)); + Recipe.Value v2 = s.firstValue(r,2); + java.util.Optional field2 = v2 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.ObjectExpr) build(s.node(v2, r), s)); + Recipe.Value v3 = s.firstValue(r,3); + java.util.Optional field3 = v3 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable(s.text(v3)); + return new TinyExpressionP4AST.ObjectVariableDeclarationExpr(field0, field1, field2, field3); + } + private static Object b8(Recipe r, Session s) { + return new TinyExpressionP4AST.OnlyIfAbsentExpr(); + } + private static Object b9(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"methodName"); + java.lang.String field0 = s.present(s.text(v0), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.MethodParametersExpr) build(s.node(v1, r), s)); + Recipe.Value v2 = s.scalarValue(r,2,"expression"); + TinyExpressionP4AST.BinaryExpr field2 = s.present((TinyExpressionP4AST.BinaryExpr) build(s.node(v2, r), s), v2); + return new TinyExpressionP4AST.NumberMethodDeclarationExpr(field0, field1, field2); + } + private static Object b10(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"methodName"); + java.lang.String field0 = s.present(s.text(v0), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.MethodParametersExpr) build(s.node(v1, r), s)); + Recipe.Value v2 = s.scalarValue(r,2,"expression"); + TinyExpressionP4AST.StringConcatExpr field2 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v2, r), s), v2); + return new TinyExpressionP4AST.StringMethodDeclarationExpr(field0, field1, field2); + } + private static Object b11(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"methodName"); + java.lang.String field0 = s.present(s.text(v0), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.MethodParametersExpr) build(s.node(v1, r), s)); + Recipe.Value v2 = s.scalarValue(r,2,"expression"); + TinyExpressionP4AST.BooleanOrExpr field2 = s.present((TinyExpressionP4AST.BooleanOrExpr) build(s.node(v2, r), s), v2); + return new TinyExpressionP4AST.BooleanMethodDeclarationExpr(field0, field1, field2); + } + private static Object b12(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"methodName"); + java.lang.String field0 = s.present(s.text(v0), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.MethodParametersExpr) build(s.node(v1, r), s)); + Recipe.Value v2 = s.scalarValue(r,2,"expression"); + TinyExpressionP4AST.ObjectExpr field2 = s.present((TinyExpressionP4AST.ObjectExpr) build(s.node(v2, r), s), v2); + return new TinyExpressionP4AST.ObjectMethodDeclarationExpr(field0, field1, field2); + } + private static Object b13(Recipe r, Session s) { + List l0 = r.fieldValues(0); + Object[] a0 = l0.isEmpty() ? null : new Object[l0.size()]; int k0 = 0; + for (int i = 0, n = l0.size(); i < n; i++) { Recipe.Value v = l0.get(i); Object x = (TinyExpressionP4AST.MethodParameterExpr) build(s.node(v, r), s); if (x != null) a0[k0++] = x; } + java.util.List field0 = s.listOf(a0, k0); + return new TinyExpressionP4AST.MethodParametersExpr(field0); + } + private static Object b14(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"paramName"); + java.lang.String field0 = s.present(s.text(v0), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable(s.text(v1)); + return new TinyExpressionP4AST.MethodParameterExpr(field0, field1); + } + private static Object b15(Recipe r, Session s) { + Recipe.Value v0 = s.firstValue(r,0); + java.util.Optional field0 = v0 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.QualifiedNameExpr) build(s.node(v0, r), s)); + Recipe.Value v1 = s.scalarValue(r,1,"name"); + java.lang.String field1 = s.present(s.text(v1), v1); + Recipe.Value v2 = s.firstValue(r,2); + java.util.Optional field2 = v2 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.ArgumentsExpr) build(s.node(v2, r), s)); + return new TinyExpressionP4AST.ExternalBooleanInvocationExpr(field0, field1, field2); + } + private static Object b16(Recipe r, Session s) { + Recipe.Value v0 = s.firstValue(r,0); + java.util.Optional field0 = v0 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.QualifiedNameExpr) build(s.node(v0, r), s)); + Recipe.Value v1 = s.scalarValue(r,1,"name"); + java.lang.String field1 = s.present(s.text(v1), v1); + Recipe.Value v2 = s.firstValue(r,2); + java.util.Optional field2 = v2 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.ArgumentsExpr) build(s.node(v2, r), s)); + return new TinyExpressionP4AST.ExternalNumberInvocationExpr(field0, field1, field2); + } + private static Object b17(Recipe r, Session s) { + Recipe.Value v0 = s.firstValue(r,0); + java.util.Optional field0 = v0 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.QualifiedNameExpr) build(s.node(v0, r), s)); + Recipe.Value v1 = s.scalarValue(r,1,"name"); + java.lang.String field1 = s.present(s.text(v1), v1); + Recipe.Value v2 = s.firstValue(r,2); + java.util.Optional field2 = v2 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.ArgumentsExpr) build(s.node(v2, r), s)); + return new TinyExpressionP4AST.ExternalStringInvocationExpr(field0, field1, field2); + } + private static Object b18(Recipe r, Session s) { + Recipe.Value v0 = s.firstValue(r,0); + java.util.Optional field0 = v0 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.QualifiedNameExpr) build(s.node(v0, r), s)); + Recipe.Value v1 = s.scalarValue(r,1,"name"); + java.lang.String field1 = s.present(s.text(v1), v1); + Recipe.Value v2 = s.firstValue(r,2); + java.util.Optional field2 = v2 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.ArgumentsExpr) build(s.node(v2, r), s)); + return new TinyExpressionP4AST.ExternalObjectInvocationExpr(field0, field1, field2); + } + private static Object b19(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"name"); + java.lang.String field0 = s.present(s.text(v0), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.ArgumentsExpr) build(s.node(v1, r), s)); + return new TinyExpressionP4AST.MethodInvocationExpr(field0, field1); + } + private static Object b20(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"condition"); + TinyExpressionP4AST.BooleanOrExpr field0 = s.present((TinyExpressionP4AST.BooleanOrExpr) build(s.node(v0, r), s), v0); + Recipe.Value v1 = s.scalarValue(r,1,"thenExpr"); + TinyExpressionP4AST.BranchExpressionExpr field1 = s.present((TinyExpressionP4AST.BranchExpressionExpr) build(s.node(v1, r), s), v1); + Recipe.Value v2 = s.scalarValue(r,2,"elseExpr"); + TinyExpressionP4AST.BranchExpressionExpr field2 = s.present((TinyExpressionP4AST.BranchExpressionExpr) build(s.node(v2, r), s), v2); + return new TinyExpressionP4AST.TernaryExpr(field0, field1, field2); + } + private static Object b21(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + java.lang.Object field0 = s.present((v0.nodes().isEmpty() ? null : build(s.node(v0, r), s)), v0); + return new TinyExpressionP4AST.ArgumentExpressionExpr(field0); + } + private static Object b22(Recipe r, Session s) { + List l0 = r.fieldValues(0); + Object[] a0 = l0.isEmpty() ? null : new Object[l0.size()]; int k0 = 0; + for (int i = 0, n = l0.size(); i < n; i++) { Recipe.Value v = l0.get(i); Object x = (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s); if (x != null) a0[k0++] = x; } + java.util.List field0 = s.listOf(a0, k0); + return new TinyExpressionP4AST.ArgumentsExpr(field0); + } + private static Object b23(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"left"); + TinyExpressionP4AST field0 = s.present((TinyExpressionP4AST) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = s.text(v); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + List l2 = r.fieldValues(2); + Object[] a2 = l2.isEmpty() ? null : new Object[l2.size()]; int k2 = 0; + for (int i = 0, n = l2.size(); i < n; i++) { Recipe.Value v = l2.get(i); Object x = (TinyExpressionP4AST) build(s.node(v, r), s); if (x != null) a2[k2++] = x; } + java.util.List field2 = s.listOf(a2, k2); + return new TinyExpressionP4AST.BinaryExpr(field0, field1, field2); + } + private static Object b24(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"left"); + TinyExpressionP4AST field0 = s.present((TinyExpressionP4AST) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = s.text(v); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + List l2 = r.fieldValues(2); + Object[] a2 = l2.isEmpty() ? null : new Object[l2.size()]; int k2 = 0; + for (int i = 0, n = l2.size(); i < n; i++) { Recipe.Value v = l2.get(i); Object x = (TinyExpressionP4AST) build(s.node(v, r), s); if (x != null) a2[k2++] = x; } + java.util.List field2 = s.listOf(a2, k2); + return new TinyExpressionP4AST.BinaryExpr(field0, field1, field2); + } + private static Object b25(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"arg"); + TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.SinExpr(field0); + } + private static Object b26(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"arg"); + TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.CosExpr(field0); + } + private static Object b27(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"arg"); + TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.TanExpr(field0); + } + private static Object b28(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"arg"); + TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.SqrtExpr(field0); + } + private static Object b29(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"first"); + TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + return new TinyExpressionP4AST.MinExpr(field0, field1); + } + private static Object b30(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"first"); + TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = (TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v, r), s); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + return new TinyExpressionP4AST.MaxExpr(field0, field1); + } + private static Object b31(Recipe r, Session s) { + return new TinyExpressionP4AST.RandomExpr(); + } + private static Object b32(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"arg"); + TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.AbsExpr(field0); + } + private static Object b33(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"arg"); + TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.RoundExpr(field0); + } + private static Object b34(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"arg"); + TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.CeilExpr(field0); + } + private static Object b35(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"arg"); + TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.FloorExpr(field0); + } + private static Object b36(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"base"); + TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v0, r), s), v0); + Recipe.Value v1 = s.scalarValue(r,1,"exponent"); + TinyExpressionP4AST.ArgumentExpressionExpr field1 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v1, r), s), v1); + return new TinyExpressionP4AST.PowExpr(field0, field1); + } + private static Object b37(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"arg"); + TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.LogExpr(field0); + } + private static Object b38(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"arg"); + TinyExpressionP4AST.ArgumentExpressionExpr field0 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.ExpExpr(field0); + } + private static Object b39(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.StringConcatExpr field0 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v0, r), s), v0); + Recipe.Value v1 = s.scalarValue(r,1,"defaultValue"); + TinyExpressionP4AST.ArgumentExpressionExpr field1 = s.present((TinyExpressionP4AST.ArgumentExpressionExpr) build(s.node(v1, r), s), v1); + return new TinyExpressionP4AST.ToNumExpr(field0, field1); + } + private static Object b40(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.StringConcatExpr field0 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.ToUpperCaseExpr(field0); + } + private static Object b41(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.StringConcatExpr field0 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.ToLowerCaseExpr(field0); + } + private static Object b42(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.StringConcatExpr field0 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.TrimExpr(field0); + } + private static Object b43(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.StringConcatExpr field0 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.LengthExpr(field0); + } + private static Object b44(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.StringConcatExpr field0 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.LengthExpr(field0); + } + private static Object b45(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.VariableRefExpr field0 = s.present((TinyExpressionP4AST.VariableRefExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.ToUpperCaseDotExpr(field0); + } + private static Object b46(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.VariableRefExpr field0 = s.present((TinyExpressionP4AST.VariableRefExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.ToLowerCaseDotExpr(field0); + } + private static Object b47(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.VariableRefExpr field0 = s.present((TinyExpressionP4AST.VariableRefExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.TrimDotExpr(field0); + } + private static Object b48(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.VariableRefExpr field0 = s.present((TinyExpressionP4AST.VariableRefExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.LengthDotExpr(field0); + } + private static Object b49(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.StringConcatExpr field0 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + return new TinyExpressionP4AST.StartsWithExpr(field0, field1); + } + private static Object b50(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.StringConcatExpr field0 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + return new TinyExpressionP4AST.EndsWithExpr(field0, field1); + } + private static Object b51(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.StringConcatExpr field0 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + return new TinyExpressionP4AST.ContainsExpr(field0, field1); + } + private static Object b52(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.StringConcatExpr field0 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + return new TinyExpressionP4AST.InExpr(field0, field1); + } + private static Object b53(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + java.lang.Object field0 = s.present((v0.nodes().isEmpty() ? null : build(s.node(v0, r), s)), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + return new TinyExpressionP4AST.StartsWithDotExpr(field0, field1); + } + private static Object b54(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + java.lang.Object field0 = s.present((v0.nodes().isEmpty() ? null : build(s.node(v0, r), s)), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + return new TinyExpressionP4AST.EndsWithDotExpr(field0, field1); + } + private static Object b55(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + java.lang.Object field0 = s.present((v0.nodes().isEmpty() ? null : build(s.node(v0, r), s)), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = (TinyExpressionP4AST.StringConcatExpr) build(s.node(v, r), s); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + return new TinyExpressionP4AST.ContainsDotExpr(field0, field1); + } + private static Object b56(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.VariableRefExpr field0 = s.present((TinyExpressionP4AST.VariableRefExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.IsPresentExpr(field0); + } + private static Object b57(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"startHour"); + TinyExpressionP4AST.BinaryExpr field0 = s.present((TinyExpressionP4AST.BinaryExpr) build(s.node(v0, r), s), v0); + Recipe.Value v1 = s.scalarValue(r,1,"endHour"); + TinyExpressionP4AST.BinaryExpr field1 = s.present((TinyExpressionP4AST.BinaryExpr) build(s.node(v1, r), s), v1); + return new TinyExpressionP4AST.InTimeRangeExpr(field0, field1); + } + private static Object b58(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"startDay"); + java.lang.String field0 = s.present(s.text(v0), v0); + Recipe.Value v1 = s.scalarValue(r,1,"startHour"); + TinyExpressionP4AST.BinaryExpr field1 = s.present((TinyExpressionP4AST.BinaryExpr) build(s.node(v1, r), s), v1); + Recipe.Value v2 = s.scalarValue(r,2,"endDay"); + java.lang.String field2 = s.present(s.text(v2), v2); + Recipe.Value v3 = s.scalarValue(r,3,"endHour"); + TinyExpressionP4AST.BinaryExpr field3 = s.present((TinyExpressionP4AST.BinaryExpr) build(s.node(v3, r), s), v3); + return new TinyExpressionP4AST.InDayTimeRangeExpr(field0, field1, field2, field3); + } + private static Object b59(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + java.lang.Object field0 = s.present((v0.nodes().isEmpty() ? s.text(v0) : build(s.node(v0, r), s)), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.BinaryExpr) build(s.node(v1, r), s)); + Recipe.Value v2 = s.firstValue(r,2); + java.util.Optional field2 = v2 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.BinaryExpr) build(s.node(v2, r), s)); + Recipe.Value v3 = s.firstValue(r,3); + java.util.Optional field3 = v3 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.BinaryExpr) build(s.node(v3, r), s)); + return new TinyExpressionP4AST.SliceExpr(field0, field1, field2, field3); + } + private static Object b60(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + java.lang.Object field0 = s.present((v0.nodes().isEmpty() ? s.text(v0) : build(s.node(v0, r), s)), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.BinaryExpr) build(s.node(v1, r), s)); + Recipe.Value v2 = s.firstValue(r,2); + java.util.Optional field2 = v2 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.BinaryExpr) build(s.node(v2, r), s)); + Recipe.Value v3 = s.firstValue(r,3); + java.util.Optional field3 = v3 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable((TinyExpressionP4AST.BinaryExpr) build(s.node(v3, r), s)); + return new TinyExpressionP4AST.SliceExpr(field0, field1, field2, field3); + } + private static Object b61(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"left"); + java.lang.Object field0 = s.present((v0.nodes().isEmpty() ? s.text(v0) : build(s.node(v0, r), s)), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = s.text(v); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + List l2 = r.fieldValues(2); + Object[] a2 = l2.isEmpty() ? null : new Object[l2.size()]; int k2 = 0; + for (int i = 0, n = l2.size(); i < n; i++) { Recipe.Value v = l2.get(i); Object x = (v.nodes().isEmpty() ? s.text(v) : build(s.node(v, r), s)); if (x != null) a2[k2++] = x; } + java.util.List field2 = s.listOf(a2, k2); + return new TinyExpressionP4AST.StringConcatExpr(field0, field1, field2); + } + private static Object b62(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"name"); + java.lang.String field0 = s.present(s.text(v0), v0); + return new TinyExpressionP4AST.StringCastVariableRefExpr(field0); + } + private static Object b63(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"name"); + java.lang.String field0 = s.present(s.text(v0), v0); + return new TinyExpressionP4AST.StringTypedVariableRefExpr(field0); + } + private static Object b64(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"left"); + TinyExpressionP4AST.BooleanAndExpr field0 = s.present((TinyExpressionP4AST.BooleanAndExpr) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = s.text(v); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + List l2 = r.fieldValues(2); + Object[] a2 = l2.isEmpty() ? null : new Object[l2.size()]; int k2 = 0; + for (int i = 0, n = l2.size(); i < n; i++) { Recipe.Value v = l2.get(i); Object x = (TinyExpressionP4AST.BooleanAndExpr) build(s.node(v, r), s); if (x != null) a2[k2++] = x; } + java.util.List field2 = s.listOf(a2, k2); + return new TinyExpressionP4AST.BooleanOrExpr(field0, field1, field2); + } + private static Object b65(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"left"); + TinyExpressionP4AST.BooleanXorExpr field0 = s.present((TinyExpressionP4AST.BooleanXorExpr) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = s.text(v); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + List l2 = r.fieldValues(2); + Object[] a2 = l2.isEmpty() ? null : new Object[l2.size()]; int k2 = 0; + for (int i = 0, n = l2.size(); i < n; i++) { Recipe.Value v = l2.get(i); Object x = (TinyExpressionP4AST.BooleanXorExpr) build(s.node(v, r), s); if (x != null) a2[k2++] = x; } + java.util.List field2 = s.listOf(a2, k2); + return new TinyExpressionP4AST.BooleanAndExpr(field0, field1, field2); + } + private static Object b66(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"left"); + TinyExpressionP4AST.BooleanFactorExpr field0 = s.present((TinyExpressionP4AST.BooleanFactorExpr) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = s.text(v); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + List l2 = r.fieldValues(2); + Object[] a2 = l2.isEmpty() ? null : new Object[l2.size()]; int k2 = 0; + for (int i = 0, n = l2.size(); i < n; i++) { Recipe.Value v = l2.get(i); Object x = (TinyExpressionP4AST.BooleanFactorExpr) build(s.node(v, r), s); if (x != null) a2[k2++] = x; } + java.util.List field2 = s.listOf(a2, k2); + return new TinyExpressionP4AST.BooleanXorExpr(field0, field1, field2); + } + private static Object b67(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.BooleanOrExpr field0 = s.present((TinyExpressionP4AST.BooleanOrExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.NotExpr(field0); + } + private static Object b68(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"left"); + java.lang.Object field0 = s.present((v0.nodes().isEmpty() ? s.text(v0) : build(s.node(v0, r), s)), v0); + Recipe.Value v1 = s.scalarValue(r,1,"op"); + java.lang.String field1 = s.present(s.text(v1), v1); + Recipe.Value v2 = s.scalarValue(r,2,"right"); + java.lang.Object field2 = s.present((v2.nodes().isEmpty() ? s.text(v2) : build(s.node(v2, r), s)), v2); + return new TinyExpressionP4AST.BooleanEqualityExpr(field0, field1, field2); + } + private static Object b69(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + java.lang.Object field0 = s.present((v0.nodes().isEmpty() ? s.text(v0) : build(s.node(v0, r), s)), v0); + return new TinyExpressionP4AST.BooleanFactorExpr(field0); + } + private static Object b70(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"left"); + TinyExpressionP4AST.StringConcatExpr field0 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v0, r), s), v0); + Recipe.Value v1 = s.scalarValue(r,1,"op"); + java.lang.String field1 = s.present(s.text(v1), v1); + Recipe.Value v2 = s.scalarValue(r,2,"right"); + TinyExpressionP4AST.StringConcatExpr field2 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v2, r), s), v2); + return new TinyExpressionP4AST.StringComparisonExpr(field0, field1, field2); + } + private static Object b71(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"left"); + TinyExpressionP4AST.BinaryExpr field0 = s.present((TinyExpressionP4AST.BinaryExpr) build(s.node(v0, r), s), v0); + Recipe.Value v1 = s.scalarValue(r,1,"op"); + java.lang.String field1 = s.present(s.text(v1), v1); + Recipe.Value v2 = s.scalarValue(r,2,"right"); + TinyExpressionP4AST.BinaryExpr field2 = s.present((TinyExpressionP4AST.BinaryExpr) build(s.node(v2, r), s), v2); + return new TinyExpressionP4AST.ComparisonExpr(field0, field1, field2); + } + private static Object b72(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + java.lang.Object field0 = s.present((v0.nodes().isEmpty() ? null : build(s.node(v0, r), s)), v0); + return new TinyExpressionP4AST.ObjectExpr(field0); + } + private static Object b73(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"condition"); + TinyExpressionP4AST.BooleanOrExpr field0 = s.present((TinyExpressionP4AST.BooleanOrExpr) build(s.node(v0, r), s), v0); + Recipe.Value v1 = s.scalarValue(r,1,"thenExpr"); + TinyExpressionP4AST.BranchExpressionExpr field1 = s.present((TinyExpressionP4AST.BranchExpressionExpr) build(s.node(v1, r), s), v1); + Recipe.Value v2 = s.scalarValue(r,2,"elseExpr"); + TinyExpressionP4AST.BranchExpressionExpr field2 = s.present((TinyExpressionP4AST.BranchExpressionExpr) build(s.node(v2, r), s), v2); + return new TinyExpressionP4AST.IfExpr(field0, field1, field2); + } + private static Object b74(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + java.lang.Object field0 = s.present((v0.nodes().isEmpty() ? null : build(s.node(v0, r), s)), v0); + return new TinyExpressionP4AST.BranchExpressionExpr(field0); + } + private static Object b75(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"condition"); + TinyExpressionP4AST.BooleanOrExpr field0 = s.present((TinyExpressionP4AST.BooleanOrExpr) build(s.node(v0, r), s), v0); + Recipe.Value v1 = s.scalarValue(r,1,"thenExpr"); + TinyExpressionP4AST.BranchExpressionExpr field1 = s.present((TinyExpressionP4AST.BranchExpressionExpr) build(s.node(v1, r), s), v1); + Recipe.Value v2 = s.scalarValue(r,2,"elseExpr"); + TinyExpressionP4AST.BranchExpressionExpr field2 = s.present((TinyExpressionP4AST.BranchExpressionExpr) build(s.node(v2, r), s), v2); + return new TinyExpressionP4AST.TernaryExpr(field0, field1, field2); + } + private static Object b76(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"firstCase"); + TinyExpressionP4AST.NumberCaseExpr field0 = s.present((TinyExpressionP4AST.NumberCaseExpr) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = (TinyExpressionP4AST.NumberCaseExpr) build(s.node(v, r), s); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + Recipe.Value v2 = s.scalarValue(r,2,"defaultCase"); + TinyExpressionP4AST.NumberDefaultCaseExpr field2 = s.present((TinyExpressionP4AST.NumberDefaultCaseExpr) build(s.node(v2, r), s), v2); + return new TinyExpressionP4AST.NumberMatchExpr(field0, field1, field2); + } + private static Object b77(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"condition"); + TinyExpressionP4AST.BooleanOrExpr field0 = s.present((TinyExpressionP4AST.BooleanOrExpr) build(s.node(v0, r), s), v0); + Recipe.Value v1 = s.scalarValue(r,1,"value"); + TinyExpressionP4AST.NumberCaseValueExpr field1 = s.present((TinyExpressionP4AST.NumberCaseValueExpr) build(s.node(v1, r), s), v1); + return new TinyExpressionP4AST.NumberCaseExpr(field0, field1); + } + private static Object b78(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.NumberCaseValueExpr field0 = s.present((TinyExpressionP4AST.NumberCaseValueExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.NumberDefaultCaseExpr(field0); + } + private static Object b79(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.BinaryExpr field0 = s.present((TinyExpressionP4AST.BinaryExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.NumberCaseValueExpr(field0); + } + private static Object b80(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"firstCase"); + TinyExpressionP4AST.StringCaseExpr field0 = s.present((TinyExpressionP4AST.StringCaseExpr) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = (TinyExpressionP4AST.StringCaseExpr) build(s.node(v, r), s); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + Recipe.Value v2 = s.scalarValue(r,2,"defaultCase"); + TinyExpressionP4AST.StringDefaultCaseExpr field2 = s.present((TinyExpressionP4AST.StringDefaultCaseExpr) build(s.node(v2, r), s), v2); + return new TinyExpressionP4AST.StringMatchExpr(field0, field1, field2); + } + private static Object b81(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"condition"); + TinyExpressionP4AST.BooleanOrExpr field0 = s.present((TinyExpressionP4AST.BooleanOrExpr) build(s.node(v0, r), s), v0); + Recipe.Value v1 = s.scalarValue(r,1,"value"); + TinyExpressionP4AST.StringCaseValueExpr field1 = s.present((TinyExpressionP4AST.StringCaseValueExpr) build(s.node(v1, r), s), v1); + return new TinyExpressionP4AST.StringCaseExpr(field0, field1); + } + private static Object b82(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.StringCaseValueExpr field0 = s.present((TinyExpressionP4AST.StringCaseValueExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.StringDefaultCaseExpr(field0); + } + private static Object b83(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.StringConcatExpr field0 = s.present((TinyExpressionP4AST.StringConcatExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.StringCaseValueExpr(field0); + } + private static Object b84(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"firstCase"); + TinyExpressionP4AST.BooleanCaseExpr field0 = s.present((TinyExpressionP4AST.BooleanCaseExpr) build(s.node(v0, r), s), v0); + List l1 = r.fieldValues(1); + Object[] a1 = l1.isEmpty() ? null : new Object[l1.size()]; int k1 = 0; + for (int i = 0, n = l1.size(); i < n; i++) { Recipe.Value v = l1.get(i); Object x = (TinyExpressionP4AST.BooleanCaseExpr) build(s.node(v, r), s); if (x != null) a1[k1++] = x; } + java.util.List field1 = s.listOf(a1, k1); + Recipe.Value v2 = s.scalarValue(r,2,"defaultCase"); + TinyExpressionP4AST.BooleanDefaultCaseExpr field2 = s.present((TinyExpressionP4AST.BooleanDefaultCaseExpr) build(s.node(v2, r), s), v2); + return new TinyExpressionP4AST.BooleanMatchExpr(field0, field1, field2); + } + private static Object b85(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"condition"); + TinyExpressionP4AST.BooleanOrExpr field0 = s.present((TinyExpressionP4AST.BooleanOrExpr) build(s.node(v0, r), s), v0); + Recipe.Value v1 = s.scalarValue(r,1,"value"); + TinyExpressionP4AST.BooleanCaseValueExpr field1 = s.present((TinyExpressionP4AST.BooleanCaseValueExpr) build(s.node(v1, r), s), v1); + return new TinyExpressionP4AST.BooleanCaseExpr(field0, field1); + } + private static Object b86(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.BooleanCaseValueExpr field0 = s.present((TinyExpressionP4AST.BooleanCaseValueExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.BooleanDefaultCaseExpr(field0); + } + private static Object b87(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + TinyExpressionP4AST.BooleanOrExpr field0 = s.present((TinyExpressionP4AST.BooleanOrExpr) build(s.node(v0, r), s), v0); + return new TinyExpressionP4AST.BooleanCaseValueExpr(field0); + } + private static Object b88(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"name"); + java.lang.String field0 = s.present(s.text(v0), v0); + Recipe.Value v1 = s.firstValue(r,1); + java.util.Optional field1 = v1 == null ? java.util.Optional.empty() : java.util.Optional.ofNullable(s.text(v1)); + return new TinyExpressionP4AST.VariableRefExpr(field0, field1); + } + private static Object b89(Recipe r, Session s) { + Recipe.Value v0 = s.scalarValue(r,0,"value"); + java.lang.Object field0 = s.present((v0.nodes().isEmpty() ? null : build(s.node(v0, r), s)), v0); + return new TinyExpressionP4AST.ExpressionExpr(field0); + } private static Match parseFormula_0(Session s, Frame f) { return s.rule(f, 0, 1047, true, true, TinyExpressionP4Parser::e0, "recipe:Formula", null, "construct", K2, K3, false, K4, false, K5); } private static Match parseCodeBlock_1(Session s, Frame f) { - return s.rule(f, 1, 1048, true, true, TinyExpressionP4Parser::e13, "recipe:CodeBlock", null, "construct", K6, K7, false, K4, false, K8); + return s.rule(f, 1, 1048, false, false, TinyExpressionP4Parser::e13, "recipe:CodeBlock", null, "construct", K6, K7, false, K4, false, K8); } private static Match parseImportDeclaration_2(Session s, Frame f) { return s.rule(f, 2, 1049, false, false, TinyExpressionP4Parser::e21, "recipe:ImportDeclaration", null, "construct", K9, K7, false, K4, false, K10); @@ -695,7 +1032,7 @@ private static Match parseOnlyIfAbsent_14(Session s, Frame f) { return s.rule(f, 14, 1061, false, false, TinyExpressionP4Parser::e157, "recipe:OnlyIfAbsent", null, "construct", K13, K7, false, K4, false, K29); } private static Match parseDescription_15(Session s, Frame f) { - return s.rule(f, 15, 1062, true, true, TinyExpressionP4Parser::e161, null, null, null, K13, K7, false, K4, false, K30); + return s.rule(f, 15, 1062, false, false, TinyExpressionP4Parser::e161, null, null, null, K13, K7, false, K4, false, K30); } private static Match parseAnnotation_16(Session s, Frame f) { return s.rule(f, 16, 1063, true, true, TinyExpressionP4Parser::e165, null, null, null, K13, K7, false, K4, false, K31); @@ -1024,7 +1361,7 @@ private static Match parseExpression_123(Session s, Frame f) { private static Match e0(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e0M(s, f) : e0C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e0M : TinyExpressionP4Parser::e0C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1021:1192:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e0M : TinyExpressionP4Parser::e0C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1007:1178:body/seq", false, false, "node", true, K4); } private static Match e0C(Session s, Frame f) { return s.sequence(f, K221, K220); @@ -1034,7 +1371,7 @@ private static Match e0M(Session s, Frame f) { } private static Match e1(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1M(s, f) : e1C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1M : TinyExpressionP4Parser::e1C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1021:1046:body/0/repeat", true, false, "node", true, K222); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1M : TinyExpressionP4Parser::e1C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1007:1032:body/0/repeat", true, false, "node", true, K222); } private static Match e1C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e2, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -1044,7 +1381,7 @@ private static Match e1M(Session s, Frame f) { } private static Match e2(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e2M(s, f) : e2C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e2M : TinyExpressionP4Parser::e2C, K223, K224, K225, K226, K226, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1023:1032:body/0/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e2M : TinyExpressionP4Parser::e2C, K223, K224, K225, K226, K226, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1009:1018:body/0/0/ruleRef", false, false, "node", false, K227); } private static Match e2C(Session s, Frame f) { return parseCodeBlock_1(s, f); @@ -1054,7 +1391,7 @@ private static Match e2M(Session s, Frame f) { } private static Match e3(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e3M(s, f) : e3C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e3M : TinyExpressionP4Parser::e3C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1047:1077:body/1/repeat", true, false, "node", true, K222); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e3M : TinyExpressionP4Parser::e3C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1033:1063:body/1/repeat", true, false, "node", true, K222); } private static Match e3C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e4, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -1064,7 +1401,7 @@ private static Match e3M(Session s, Frame f) { } private static Match e4(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e4M(s, f) : e4C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e4M : TinyExpressionP4Parser::e4C, K228, K229, K225, K226, K226, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1049:1066:body/1/0/ruleRef", false, false, "node", false, K10); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e4M : TinyExpressionP4Parser::e4C, K228, K229, K225, K226, K226, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1035:1052:body/1/0/ruleRef", false, false, "node", false, K10); } private static Match e4C(Session s, Frame f) { return parseImportDeclaration_2(s, f); @@ -1074,7 +1411,7 @@ private static Match e4M(Session s, Frame f) { } private static Match e5(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e5M(s, f) : e5C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e5M : TinyExpressionP4Parser::e5C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1078:1115:body/2/repeat", true, false, "node", true, K222); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e5M : TinyExpressionP4Parser::e5C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1064:1101:body/2/repeat", true, false, "node", true, K222); } private static Match e5C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e6, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -1084,7 +1421,7 @@ private static Match e5M(Session s, Frame f) { } private static Match e6(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e6M(s, f) : e6C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e6M : TinyExpressionP4Parser::e6C, K230, K231, K225, K226, K226, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1080:1099:body/2/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e6M : TinyExpressionP4Parser::e6C, K230, K231, K225, K226, K226, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1066:1085:body/2/0/ruleRef", false, false, "node", false, K227); } private static Match e6C(Session s, Frame f) { return parseVariableDeclaration_4(s, f); @@ -1094,7 +1431,7 @@ private static Match e6M(Session s, Frame f) { } private static Match e7(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e7M(s, f) : e7C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e7M : TinyExpressionP4Parser::e7C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1120:1134:body/3/repeat", true, false, "node", true, K31); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e7M : TinyExpressionP4Parser::e7C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1106:1120:body/3/repeat", true, false, "node", true, K31); } private static Match e7C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e8, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -1104,7 +1441,7 @@ private static Match e7M(Session s, Frame f) { } private static Match e8(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e8M(s, f) : e8C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e8M : TinyExpressionP4Parser::e8C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1122:1132:body/3/0/ruleRef", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e8M : TinyExpressionP4Parser::e8C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1108:1118:body/3/0/ruleRef", false, false, "node", true, K4); } private static Match e8C(Session s, Frame f) { return parseAnnotation_16(s, f); @@ -1114,7 +1451,7 @@ private static Match e8M(Session s, Frame f) { } private static Match e9(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e9M(s, f) : e9C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e9M : TinyExpressionP4Parser::e9C, K232, K233, K225, K226, K226, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1135:1145:body/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e9M : TinyExpressionP4Parser::e9C, K232, K233, K225, K226, K226, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1121:1131:body/4/ruleRef", false, false, "node", false, K227); } private static Match e9C(Session s, Frame f) { return parseExpression_123(s, f); @@ -1124,7 +1461,7 @@ private static Match e9M(Session s, Frame f) { } private static Match e10(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e10M(s, f) : e10C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e10M : TinyExpressionP4Parser::e10C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1158:1188:body/5/repeat", true, false, "node", true, K222); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e10M : TinyExpressionP4Parser::e10C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1144:1174:body/5/repeat", true, false, "node", true, K222); } private static Match e10C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e11, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -1134,7 +1471,7 @@ private static Match e10M(Session s, Frame f) { } private static Match e11(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e11M(s, f) : e11C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e11M : TinyExpressionP4Parser::e11C, K234, K235, K225, K226, K226, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1160:1177:body/5/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e11M : TinyExpressionP4Parser::e11C, K234, K235, K225, K226, K226, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1146:1163:body/5/0/ruleRef", false, false, "node", false, K227); } private static Match e11C(Session s, Frame f) { return parseMethodDeclaration_19(s, f); @@ -1144,18 +1481,18 @@ private static Match e11M(Session s, Frame f) { } private static Match e12(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e12M(s, f) : e12C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e12M : TinyExpressionP4Parser::e12C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1189:1192:body/6/tokenRef", false, true, "text", false, K236); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e12M : TinyExpressionP4Parser::e12C, K216, K216, K216, K217, K217, "TinyExpressionP4::Formula", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1175:1178:body/6/tokenRef", false, true, "text", false, K236); } private static Match e12C(Session s, Frame f) { - return s.builtin(f,"EndOfSource",K237,K238); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K237,K238); } private static Match e12M(Session s, Frame f) { - return s.builtin(f,"EndOfSource",K237,K238); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K237,K238); } private static Match e13(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e13M(s, f) : e13C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e13M : TinyExpressionP4Parser::e13C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1625:1676:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e13M : TinyExpressionP4Parser::e13C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1611:1662:body/seq", false, false, "text", false, K4); } private static Match e13C(Session s, Frame f) { return s.sequence(f, K241, K240); @@ -1165,7 +1502,7 @@ private static Match e13M(Session s, Frame f) { } private static Match e14(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e14M(s, f) : e14C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e14M : TinyExpressionP4Parser::e14C, K242, K243, K225, K226, K226, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1625:1676:body/0/group", false, false, "text", false, K244); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e14M : TinyExpressionP4Parser::e14C, K242, K243, K225, K226, K226, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1611:1662:body/0/group", false, false, "text", false, K244); } private static Match e14C(Session s, Frame f) { return e15(s, f); @@ -1175,7 +1512,7 @@ private static Match e14M(Session s, Frame f) { } private static Match e15(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e15M(s, f) : e15C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e15M : TinyExpressionP4Parser::e15C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1627:1674:body/0/0/choice", false, false, "text", false, K245); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e15M : TinyExpressionP4Parser::e15C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1613:1660:body/0/0/choice", false, false, "text", false, K245); } private static Match e15C(Session s, Frame f) { return s.choice(f,K246,false,null,false); @@ -1185,79 +1522,79 @@ private static Match e15M(Session s, Frame f) { } private static Match e16(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e16M(s, f) : e16C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e16M : TinyExpressionP4Parser::e16C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1627:1642:body/0/0/0/tokenRef", false, true, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e16M : TinyExpressionP4Parser::e16C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1613:1628:body/0/0/0/tokenRef", false, true, "text", false, K247); } private static Match e16C(Session s, Frame f) { - return s.external(f,"TinyExpressionP4::LONG_CODE_BLOCK",0); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K248,K249); } private static Match e16M(Session s, Frame f) { - return s.external(f,"TinyExpressionP4::LONG_CODE_BLOCK",0); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K248,K249); } private static Match e17(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e17M(s, f) : e17C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e17M : TinyExpressionP4Parser::e17C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1645:1674:body/0/0/1/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e17M : TinyExpressionP4Parser::e17C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1631:1660:body/0/0/1/seq", false, false, "text", false, K4); } private static Match e17C(Session s, Frame f) { - return s.sequence(f, K249, K248); + return s.sequence(f, K252, K251); } private static Match e17M(Session s, Frame f) { - return s.sequence(f, K249, K248); + return s.sequence(f, K252, K251); } private static Match e18(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e18M(s, f) : e18C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e18M : TinyExpressionP4Parser::e18C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1645:1655:body/0/0/1/0/tokenRef", false, true, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e18M : TinyExpressionP4Parser::e18C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1631:1641:body/0/0/1/0/tokenRef", false, true, "text", false, K253); } private static Match e18C(Session s, Frame f) { - return s.external(f,"TinyExpressionP4::CODE_START",1); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K254,K255); } private static Match e18M(Session s, Frame f) { - return s.external(f,"TinyExpressionP4::CODE_START",1); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K254,K255); } private static Match e19(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e19M(s, f) : e19C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e19M : TinyExpressionP4Parser::e19C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1656:1665:body/0/0/1/1/tokenRef", false, true, "text", false, K250); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e19M : TinyExpressionP4Parser::e19C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1642:1651:body/0/0/1/1/tokenRef", false, true, "text", false, K256); } private static Match e19C(Session s, Frame f) { - return s.until(f,"```"); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K257,K258); } private static Match e19M(Session s, Frame f) { - return s.until(f,"```"); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K257,K258); } private static Match e20(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e20M(s, f) : e20C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e20M : TinyExpressionP4Parser::e20C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1666:1674:body/0/0/1/2/tokenRef", false, true, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e20M : TinyExpressionP4Parser::e20C, K216, K216, K216, K217, K217, "TinyExpressionP4::CodeBlock", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1652:1660:body/0/0/1/2/tokenRef", false, true, "text", false, K259); } private static Match e20C(Session s, Frame f) { - return s.external(f,"TinyExpressionP4::CODE_END",2); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K260,K261); } private static Match e20M(Session s, Frame f) { - return s.external(f,"TinyExpressionP4::CODE_END",2); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K260,K261); } private static Match e21(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e21M(s, f) : e21C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e21M : TinyExpressionP4Parser::e21C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2132:2215:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e21M : TinyExpressionP4Parser::e21C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2118:2201:body/seq", false, false, "node", false, K4); } private static Match e21C(Session s, Frame f) { - return s.sequence(f, K253, K252); + return s.sequence(f, K264, K263); } private static Match e21M(Session s, Frame f) { - return s.sequence(f, K253, K252); + return s.sequence(f, K264, K263); } private static Match e22(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e22M(s, f) : e22C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e22M : TinyExpressionP4Parser::e22C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2132:2140:body/0/literal", false, true, "text", false, K254); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e22M : TinyExpressionP4Parser::e22C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2118:2126:body/0/literal", false, true, "text", false, K265); } private static Match e22C(Session s, Frame f) { - return s.literal(f, "import", true, false, K255); + return s.literal(f, "import", true, false, K266); } private static Match e22M(Session s, Frame f) { - return s.literal(f, "import", true, false, K255); + return s.literal(f, "import", true, false, K266); } private static Match e23(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e23M(s, f) : e23C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e23M : TinyExpressionP4Parser::e23C, K256, K257, K225, K226, K226, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2141:2150:body/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e23M : TinyExpressionP4Parser::e23C, K267, K268, K225, K226, K226, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2127:2136:body/1/ruleRef", false, false, "node", false, K227); } private static Match e23C(Session s, Frame f) { return parseClassName_3(s, f); @@ -1267,7 +1604,7 @@ private static Match e23M(Session s, Frame f) { } private static Match e24(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e24M(s, f) : e24C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e24M : TinyExpressionP4Parser::e24C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2162:2188:body/2/optional", true, false, "text", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e24M : TinyExpressionP4Parser::e24C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2148:2174:body/2/optional", true, false, "text", false, K269); } private static Match e24C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e25); @@ -1278,88 +1615,88 @@ private static Match e24M(Session s, Frame f) { private static Match e25(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e25M(s, f) : e25C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e25M : TinyExpressionP4Parser::e25C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2164:2178:body/2/0/seq", false, false, "text", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e25M : TinyExpressionP4Parser::e25C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2150:2164:body/2/0/seq", false, false, "text", false, K269); } private static Match e25C(Session s, Frame f) { - return s.sequence(f, K261, K260); + return s.sequence(f, K272, K271); } private static Match e25M(Session s, Frame f) { - return s.sequence(f, K261, K260); + return s.sequence(f, K272, K271); } private static Match e26(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e26M(s, f) : e26C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e26M : TinyExpressionP4Parser::e26C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2164:2167:body/2/0/0/literal", false, true, "text", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e26M : TinyExpressionP4Parser::e26C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2150:2153:body/2/0/0/literal", false, true, "text", false, K269); } private static Match e26C(Session s, Frame f) { - return s.literal(f, "#", true, false, K262); + return s.literal(f, "#", true, false, K273); } private static Match e26M(Session s, Frame f) { - return s.literal(f, "#", true, false, K262); + return s.literal(f, "#", true, false, K273); } private static Match e27(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e27M(s, f) : e27C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e27M : TinyExpressionP4Parser::e27C, K263, K264, K225, K226, K226, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2168:2178:body/2/0/1/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e27M : TinyExpressionP4Parser::e27C, K274, K275, K225, K226, K226, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2154:2164:body/2/0/1/tokenRef", false, true, "text", false, K276); } private static Match e27C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e27M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e28(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e28M(s, f) : e28C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e28M : TinyExpressionP4Parser::e28C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2189:2193:body/3/literal", false, true, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e28M : TinyExpressionP4Parser::e28C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2175:2179:body/3/literal", false, true, "text", false, K279); } private static Match e28C(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e28M(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e29(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e29M(s, f) : e29C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e29M : TinyExpressionP4Parser::e29C, K269, K270, K225, K226, K226, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2194:2204:body/4/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e29M : TinyExpressionP4Parser::e29C, K281, K282, K225, K226, K226, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2180:2190:body/4/tokenRef", false, true, "text", false, K276); } private static Match e29C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e29M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e30(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e30M(s, f) : e30C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e30M : TinyExpressionP4Parser::e30C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2212:2215:body/5/literal", false, true, "text", false, K271); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e30M : TinyExpressionP4Parser::e30C, K216, K216, K216, K217, K217, "TinyExpressionP4::ImportDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2198:2201:body/5/literal", false, true, "text", false, K283); } private static Match e30C(Session s, Frame f) { - return s.literal(f, ";", true, false, K272); + return s.literal(f, ";", true, false, K284); } private static Match e30M(Session s, Frame f) { - return s.literal(f, ";", true, false, K272); + return s.literal(f, ";", true, false, K284); } private static Match e31(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e31M(s, f) : e31C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e31M : TinyExpressionP4Parser::e31C, K216, K216, K216, K217, K217, "TinyExpressionP4::ClassName", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2286:2327:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e31M : TinyExpressionP4Parser::e31C, K216, K216, K216, K217, K217, "TinyExpressionP4::ClassName", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2272:2313:body/seq", false, false, "text", false, K4); } private static Match e31C(Session s, Frame f) { - return s.sequence(f, K273, K260); + return s.sequence(f, K285, K271); } private static Match e31M(Session s, Frame f) { - return s.sequence(f, K273, K260); + return s.sequence(f, K285, K271); } private static Match e32(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e32M(s, f) : e32C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e32M : TinyExpressionP4Parser::e32C, K274, K275, K225, K226, K226, "TinyExpressionP4::ClassName", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2286:2296:body/0/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e32M : TinyExpressionP4Parser::e32C, K286, K287, K225, K226, K226, "TinyExpressionP4::ClassName", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2272:2282:body/0/tokenRef", false, true, "text", false, K276); } private static Match e32C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e32M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e33(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e33M(s, f) : e33C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e33M : TinyExpressionP4Parser::e33C, K216, K216, K216, K217, K217, "TinyExpressionP4::ClassName", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2303:2327:body/1/repeat", true, false, "text", false, K276); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e33M : TinyExpressionP4Parser::e33C, K216, K216, K216, K217, K217, "TinyExpressionP4::ClassName", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2289:2313:body/1/repeat", true, false, "text", false, K288); } private static Match e33C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e34, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -1370,47 +1707,47 @@ private static Match e33M(Session s, Frame f) { private static Match e34(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e34M(s, f) : e34C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e34M : TinyExpressionP4Parser::e34C, K216, K216, K216, K217, K217, "TinyExpressionP4::ClassName", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2305:2319:body/1/0/seq", false, false, "text", false, K276); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e34M : TinyExpressionP4Parser::e34C, K216, K216, K216, K217, K217, "TinyExpressionP4::ClassName", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2291:2305:body/1/0/seq", false, false, "text", false, K288); } private static Match e34C(Session s, Frame f) { - return s.sequence(f, K277, K260); + return s.sequence(f, K289, K271); } private static Match e34M(Session s, Frame f) { - return s.sequence(f, K277, K260); + return s.sequence(f, K289, K271); } private static Match e35(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e35M(s, f) : e35C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e35M : TinyExpressionP4Parser::e35C, K216, K216, K216, K217, K217, "TinyExpressionP4::ClassName", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2305:2308:body/1/0/0/literal", false, true, "text", false, K276); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e35M : TinyExpressionP4Parser::e35C, K216, K216, K216, K217, K217, "TinyExpressionP4::ClassName", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2291:2294:body/1/0/0/literal", false, true, "text", false, K288); } private static Match e35C(Session s, Frame f) { - return s.literal(f, ".", true, false, K278); + return s.literal(f, ".", true, false, K290); } private static Match e35M(Session s, Frame f) { - return s.literal(f, ".", true, false, K278); + return s.literal(f, ".", true, false, K290); } private static Match e36(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e36M(s, f) : e36C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e36M : TinyExpressionP4Parser::e36C, K279, K280, K225, K226, K226, "TinyExpressionP4::ClassName", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2309:2319:body/1/0/1/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e36M : TinyExpressionP4Parser::e36C, K291, K292, K225, K226, K226, "TinyExpressionP4::ClassName", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2295:2305:body/1/0/1/tokenRef", false, true, "text", false, K276); } private static Match e36C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e36M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e37(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e37M(s, f) : e37C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e37M : TinyExpressionP4Parser::e37C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2478:2600:body/choice", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e37M : TinyExpressionP4Parser::e37C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2464:2586:body/choice", false, false, "node", false, K4); } private static Match e37C(Session s, Frame f) { - return s.choice(f,K292,false,null,false,K291); + return s.choice(f,K304,false,null,false,K303); } private static Match e37M(Session s, Frame f) { - return s.choice(f,K292,false,null,false,K291); + return s.choice(f,K304,false,null,false,K303); } private static Match e38(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e38M(s, f) : e38C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e38M : TinyExpressionP4Parser::e38C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2478:2503:body/0/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e38M : TinyExpressionP4Parser::e38C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2464:2489:body/0/ruleRef", false, false, "node", false, K4); } private static Match e38C(Session s, Frame f) { return parseNumberVariableDeclaration_5(s, f); @@ -1420,7 +1757,7 @@ private static Match e38M(Session s, Frame f) { } private static Match e39(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e39M(s, f) : e39C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e39M : TinyExpressionP4Parser::e39C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2510:2535:body/1/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e39M : TinyExpressionP4Parser::e39C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2496:2521:body/1/ruleRef", false, false, "node", false, K4); } private static Match e39C(Session s, Frame f) { return parseStringVariableDeclaration_6(s, f); @@ -1430,7 +1767,7 @@ private static Match e39M(Session s, Frame f) { } private static Match e40(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e40M(s, f) : e40C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e40M : TinyExpressionP4Parser::e40C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2542:2568:body/2/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e40M : TinyExpressionP4Parser::e40C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2528:2554:body/2/ruleRef", false, false, "node", false, K4); } private static Match e40C(Session s, Frame f) { return parseBooleanVariableDeclaration_7(s, f); @@ -1440,7 +1777,7 @@ private static Match e40M(Session s, Frame f) { } private static Match e41(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e41M(s, f) : e41C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e41M : TinyExpressionP4Parser::e41C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2575:2600:body/3/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e41M : TinyExpressionP4Parser::e41C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2561:2586:body/3/ruleRef", false, false, "node", false, K4); } private static Match e41C(Session s, Frame f) { return parseObjectVariableDeclaration_8(s, f); @@ -1451,17 +1788,17 @@ private static Match e41M(Session s, Frame f) { private static Match e42(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e42M(s, f) : e42C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e42M : TinyExpressionP4Parser::e42C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2773:2949:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e42M : TinyExpressionP4Parser::e42C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2759:2935:body/seq", false, false, "node", true, K4); } private static Match e42C(Session s, Frame f) { - return s.sequence(f, K293, K220); + return s.sequence(f, K305, K220); } private static Match e42M(Session s, Frame f) { - return s.sequence(f, K293, K220); + return s.sequence(f, K305, K220); } private static Match e43(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e43M(s, f) : e43C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e43M : TinyExpressionP4Parser::e43C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2773:2795:body/0/group", false, false, "text", false, K294); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e43M : TinyExpressionP4Parser::e43C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2759:2781:body/0/group", false, false, "text", false, K306); } private static Match e43C(Session s, Frame f) { return e44(s, f); @@ -1471,56 +1808,56 @@ private static Match e43M(Session s, Frame f) { } private static Match e44(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e44M(s, f) : e44C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e44M : TinyExpressionP4Parser::e44C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2775:2793:body/0/0/choice", false, false, "text", false, K294); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e44M : TinyExpressionP4Parser::e44C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2761:2779:body/0/0/choice", false, false, "text", false, K306); } private static Match e44C(Session s, Frame f) { - return s.choice(f,K295,false,null,false); + return s.choice(f,K307,false,null,false); } private static Match e44M(Session s, Frame f) { - return s.choice(f,K295,false,null,false); + return s.choice(f,K307,false,null,false); } private static Match e45(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e45M(s, f) : e45C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e45M : TinyExpressionP4Parser::e45C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2775:2785:body/0/0/0/literal", false, true, "text", false, K296); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e45M : TinyExpressionP4Parser::e45C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2761:2771:body/0/0/0/literal", false, true, "text", false, K308); } private static Match e45C(Session s, Frame f) { - return s.literal(f, "variable", true, false, K297); + return s.literal(f, "variable", true, false, K309); } private static Match e45M(Session s, Frame f) { - return s.literal(f, "variable", true, false, K297); + return s.literal(f, "variable", true, false, K309); } private static Match e46(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e46M(s, f) : e46C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e46M : TinyExpressionP4Parser::e46C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2788:2793:body/0/0/1/literal", false, true, "text", false, K298); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e46M : TinyExpressionP4Parser::e46C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2774:2779:body/0/0/1/literal", false, true, "text", false, K310); } private static Match e46C(Session s, Frame f) { - return s.literal(f, "var", true, false, K299); + return s.literal(f, "var", true, false, K311); } private static Match e46M(Session s, Frame f) { - return s.literal(f, "var", true, false, K299); + return s.literal(f, "var", true, false, K311); } private static Match e47(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e47M(s, f) : e47C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e47M : TinyExpressionP4Parser::e47C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2800:2803:body/1/literal", false, true, "text", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e47M : TinyExpressionP4Parser::e47C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2786:2789:body/1/literal", false, true, "text", false, K50); } private static Match e47C(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e47M(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e48(Session s, Frame f) { - return s.capture(f, f.matched ? TinyExpressionP4Parser::e48M : TinyExpressionP4Parser::e48C, K301, K302, K225, K226, K303, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2804:2814:body/2/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e48M : TinyExpressionP4Parser::e48C, K313, K314, K225, K226, K315, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2790:2800:body/2/tokenRef", false, true, "text", false, K276); } private static Match e48C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e48M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e49(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e49M(s, f) : e49C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e49M : TinyExpressionP4Parser::e49C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2828:2846:body/3/optional", true, false, "text", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e49M : TinyExpressionP4Parser::e49C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2814:2832:body/3/optional", true, false, "text", false, K316); } private static Match e49C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e50); @@ -1530,7 +1867,7 @@ private static Match e49M(Session s, Frame f) { } private static Match e50(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e50M(s, f) : e50C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e50M : TinyExpressionP4Parser::e50C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2830:2844:body/3/0/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e50M : TinyExpressionP4Parser::e50C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2816:2830:body/3/0/ruleRef", false, false, "text", false, K4); } private static Match e50C(Session s, Frame f) { return parseNumberTypeHint_10(s, f); @@ -1540,7 +1877,7 @@ private static Match e50M(Session s, Frame f) { } private static Match e51(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e51M(s, f) : e51C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e51M : TinyExpressionP4Parser::e51C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2851:2915:body/4/optional", true, false, "node", true, K305); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e51M : TinyExpressionP4Parser::e51C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2837:2901:body/4/optional", true, false, "node", true, K317); } private static Match e51C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e52); @@ -1551,27 +1888,27 @@ private static Match e51M(Session s, Frame f) { private static Match e52(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e52M(s, f) : e52C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e52M : TinyExpressionP4Parser::e52C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2853:2906:body/4/0/seq", false, false, "node", true, K305); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e52M : TinyExpressionP4Parser::e52C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2839:2892:body/4/0/seq", false, false, "node", true, K317); } private static Match e52C(Session s, Frame f) { - return s.sequence(f, K306, K248); + return s.sequence(f, K318, K251); } private static Match e52M(Session s, Frame f) { - return s.sequence(f, K306, K248); + return s.sequence(f, K318, K251); } private static Match e53(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e53M(s, f) : e53C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e53M : TinyExpressionP4Parser::e53C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2853:2858:body/4/0/0/literal", false, true, "text", false, K305); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e53M : TinyExpressionP4Parser::e53C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2839:2844:body/4/0/0/literal", false, true, "text", false, K317); } private static Match e53C(Session s, Frame f) { - return s.literal(f, "set", true, false, K307); + return s.literal(f, "set", true, false, K319); } private static Match e53M(Session s, Frame f) { - return s.literal(f, "set", true, false, K307); + return s.literal(f, "set", true, false, K319); } private static Match e54(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e54M(s, f) : e54C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e54M : TinyExpressionP4Parser::e54C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2859:2889:body/4/0/1/optional", true, false, "node", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e54M : TinyExpressionP4Parser::e54C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2845:2875:body/4/0/1/optional", true, false, "node", false, K316); } private static Match e54C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e55); @@ -1581,7 +1918,7 @@ private static Match e54M(Session s, Frame f) { } private static Match e55(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e55M(s, f) : e55C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e55M : TinyExpressionP4Parser::e55C, K308, K309, K225, K226, K226, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2861:2873:body/4/0/1/0/ruleRef", false, false, "node", false, K29); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e55M : TinyExpressionP4Parser::e55C, K320, K321, K225, K226, K226, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2847:2859:body/4/0/1/0/ruleRef", false, false, "node", false, K29); } private static Match e55C(Session s, Frame f) { return parseOnlyIfAbsent_14(s, f); @@ -1591,7 +1928,7 @@ private static Match e55M(Session s, Frame f) { } private static Match e56(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e56M(s, f) : e56C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e56M : TinyExpressionP4Parser::e56C, K310, K311, K225, K226, K226, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2890:2906:body/4/0/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e56M : TinyExpressionP4Parser::e56C, K322, K323, K225, K226, K226, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2876:2892:body/4/0/2/ruleRef", false, false, "node", false, K227); } private static Match e56C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -1601,7 +1938,7 @@ private static Match e56M(Session s, Frame f) { } private static Match e57(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e57M(s, f) : e57C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e57M : TinyExpressionP4Parser::e57C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2920:2941:body/5/optional", true, false, "text", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e57M : TinyExpressionP4Parser::e57C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2906:2927:body/5/optional", true, false, "text", false, K316); } private static Match e57C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e58); @@ -1611,7 +1948,7 @@ private static Match e57M(Session s, Frame f) { } private static Match e58(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e58M(s, f) : e58C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e58M : TinyExpressionP4Parser::e58C, K312, K313, K225, K226, K226, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2922:2933:body/5/0/ruleRef", false, false, "text", false, K30); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e58M : TinyExpressionP4Parser::e58C, K324, K325, K225, K226, K226, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2908:2919:body/5/0/ruleRef", false, false, "text", false, K30); } private static Match e58C(Session s, Frame f) { return parseDescription_15(s, f); @@ -1621,28 +1958,28 @@ private static Match e58M(Session s, Frame f) { } private static Match e59(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e59M(s, f) : e59C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e59M : TinyExpressionP4Parser::e59C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2946:2949:body/6/literal", false, true, "text", false, K271); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e59M : TinyExpressionP4Parser::e59C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2932:2935:body/6/literal", false, true, "text", false, K283); } private static Match e59C(Session s, Frame f) { - return s.literal(f, ";", true, false, K272); + return s.literal(f, ";", true, false, K284); } private static Match e59M(Session s, Frame f) { - return s.literal(f, ";", true, false, K272); + return s.literal(f, ";", true, false, K284); } private static Match e60(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e60M(s, f) : e60C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e60M : TinyExpressionP4Parser::e60C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3122:3298:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e60M : TinyExpressionP4Parser::e60C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3108:3284:body/seq", false, false, "node", true, K4); } private static Match e60C(Session s, Frame f) { - return s.sequence(f, K314, K220); + return s.sequence(f, K326, K220); } private static Match e60M(Session s, Frame f) { - return s.sequence(f, K314, K220); + return s.sequence(f, K326, K220); } private static Match e61(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e61M(s, f) : e61C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e61M : TinyExpressionP4Parser::e61C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3122:3144:body/0/group", false, false, "text", false, K294); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e61M : TinyExpressionP4Parser::e61C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3108:3130:body/0/group", false, false, "text", false, K306); } private static Match e61C(Session s, Frame f) { return e62(s, f); @@ -1652,56 +1989,56 @@ private static Match e61M(Session s, Frame f) { } private static Match e62(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e62M(s, f) : e62C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e62M : TinyExpressionP4Parser::e62C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3124:3142:body/0/0/choice", false, false, "text", false, K294); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e62M : TinyExpressionP4Parser::e62C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3110:3128:body/0/0/choice", false, false, "text", false, K306); } private static Match e62C(Session s, Frame f) { - return s.choice(f,K315,false,null,false); + return s.choice(f,K327,false,null,false); } private static Match e62M(Session s, Frame f) { - return s.choice(f,K315,false,null,false); + return s.choice(f,K327,false,null,false); } private static Match e63(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e63M(s, f) : e63C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e63M : TinyExpressionP4Parser::e63C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3124:3134:body/0/0/0/literal", false, true, "text", false, K296); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e63M : TinyExpressionP4Parser::e63C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3110:3120:body/0/0/0/literal", false, true, "text", false, K308); } private static Match e63C(Session s, Frame f) { - return s.literal(f, "variable", true, false, K297); + return s.literal(f, "variable", true, false, K309); } private static Match e63M(Session s, Frame f) { - return s.literal(f, "variable", true, false, K297); + return s.literal(f, "variable", true, false, K309); } private static Match e64(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e64M(s, f) : e64C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e64M : TinyExpressionP4Parser::e64C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3137:3142:body/0/0/1/literal", false, true, "text", false, K298); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e64M : TinyExpressionP4Parser::e64C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3123:3128:body/0/0/1/literal", false, true, "text", false, K310); } private static Match e64C(Session s, Frame f) { - return s.literal(f, "var", true, false, K299); + return s.literal(f, "var", true, false, K311); } private static Match e64M(Session s, Frame f) { - return s.literal(f, "var", true, false, K299); + return s.literal(f, "var", true, false, K311); } private static Match e65(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e65M(s, f) : e65C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e65M : TinyExpressionP4Parser::e65C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3149:3152:body/1/literal", false, true, "text", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e65M : TinyExpressionP4Parser::e65C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3135:3138:body/1/literal", false, true, "text", false, K50); } private static Match e65C(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e65M(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e66(Session s, Frame f) { - return s.capture(f, f.matched ? TinyExpressionP4Parser::e66M : TinyExpressionP4Parser::e66C, K316, K302, K225, K226, K303, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3153:3163:body/2/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e66M : TinyExpressionP4Parser::e66C, K328, K314, K225, K226, K315, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3139:3149:body/2/tokenRef", false, true, "text", false, K276); } private static Match e66C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e66M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e67(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e67M(s, f) : e67C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e67M : TinyExpressionP4Parser::e67C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3177:3195:body/3/optional", true, false, "text", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e67M : TinyExpressionP4Parser::e67C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3163:3181:body/3/optional", true, false, "text", false, K316); } private static Match e67C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e68); @@ -1711,7 +2048,7 @@ private static Match e67M(Session s, Frame f) { } private static Match e68(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e68M(s, f) : e68C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e68M : TinyExpressionP4Parser::e68C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3179:3193:body/3/0/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e68M : TinyExpressionP4Parser::e68C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3165:3179:body/3/0/ruleRef", false, false, "text", false, K4); } private static Match e68C(Session s, Frame f) { return parseStringTypeHint_11(s, f); @@ -1721,7 +2058,7 @@ private static Match e68M(Session s, Frame f) { } private static Match e69(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e69M(s, f) : e69C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e69M : TinyExpressionP4Parser::e69C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3200:3264:body/4/optional", true, false, "node", true, K305); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e69M : TinyExpressionP4Parser::e69C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3186:3250:body/4/optional", true, false, "node", true, K317); } private static Match e69C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e70); @@ -1732,27 +2069,27 @@ private static Match e69M(Session s, Frame f) { private static Match e70(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e70M(s, f) : e70C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e70M : TinyExpressionP4Parser::e70C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3202:3255:body/4/0/seq", false, false, "node", true, K305); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e70M : TinyExpressionP4Parser::e70C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3188:3241:body/4/0/seq", false, false, "node", true, K317); } private static Match e70C(Session s, Frame f) { - return s.sequence(f, K317, K248); + return s.sequence(f, K329, K251); } private static Match e70M(Session s, Frame f) { - return s.sequence(f, K317, K248); + return s.sequence(f, K329, K251); } private static Match e71(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e71M(s, f) : e71C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e71M : TinyExpressionP4Parser::e71C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3202:3207:body/4/0/0/literal", false, true, "text", false, K305); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e71M : TinyExpressionP4Parser::e71C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3188:3193:body/4/0/0/literal", false, true, "text", false, K317); } private static Match e71C(Session s, Frame f) { - return s.literal(f, "set", true, false, K307); + return s.literal(f, "set", true, false, K319); } private static Match e71M(Session s, Frame f) { - return s.literal(f, "set", true, false, K307); + return s.literal(f, "set", true, false, K319); } private static Match e72(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e72M(s, f) : e72C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e72M : TinyExpressionP4Parser::e72C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3208:3238:body/4/0/1/optional", true, false, "node", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e72M : TinyExpressionP4Parser::e72C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3194:3224:body/4/0/1/optional", true, false, "node", false, K316); } private static Match e72C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e73); @@ -1762,7 +2099,7 @@ private static Match e72M(Session s, Frame f) { } private static Match e73(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e73M(s, f) : e73C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e73M : TinyExpressionP4Parser::e73C, K318, K309, K225, K226, K226, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3210:3222:body/4/0/1/0/ruleRef", false, false, "node", false, K29); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e73M : TinyExpressionP4Parser::e73C, K330, K321, K225, K226, K226, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3196:3208:body/4/0/1/0/ruleRef", false, false, "node", false, K29); } private static Match e73C(Session s, Frame f) { return parseOnlyIfAbsent_14(s, f); @@ -1772,7 +2109,7 @@ private static Match e73M(Session s, Frame f) { } private static Match e74(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e74M(s, f) : e74C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e74M : TinyExpressionP4Parser::e74C, K319, K311, K225, K226, K226, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3239:3255:body/4/0/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e74M : TinyExpressionP4Parser::e74C, K331, K323, K225, K226, K226, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3225:3241:body/4/0/2/ruleRef", false, false, "node", false, K227); } private static Match e74C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -1782,7 +2119,7 @@ private static Match e74M(Session s, Frame f) { } private static Match e75(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e75M(s, f) : e75C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e75M : TinyExpressionP4Parser::e75C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3269:3290:body/5/optional", true, false, "text", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e75M : TinyExpressionP4Parser::e75C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3255:3276:body/5/optional", true, false, "text", false, K316); } private static Match e75C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e76); @@ -1792,7 +2129,7 @@ private static Match e75M(Session s, Frame f) { } private static Match e76(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e76M(s, f) : e76C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e76M : TinyExpressionP4Parser::e76C, K320, K313, K225, K226, K226, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3271:3282:body/5/0/ruleRef", false, false, "text", false, K30); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e76M : TinyExpressionP4Parser::e76C, K332, K325, K225, K226, K226, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3257:3268:body/5/0/ruleRef", false, false, "text", false, K30); } private static Match e76C(Session s, Frame f) { return parseDescription_15(s, f); @@ -1802,28 +2139,28 @@ private static Match e76M(Session s, Frame f) { } private static Match e77(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e77M(s, f) : e77C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e77M : TinyExpressionP4Parser::e77C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3295:3298:body/6/literal", false, true, "text", false, K271); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e77M : TinyExpressionP4Parser::e77C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3281:3284:body/6/literal", false, true, "text", false, K283); } private static Match e77C(Session s, Frame f) { - return s.literal(f, ";", true, false, K272); + return s.literal(f, ";", true, false, K284); } private static Match e77M(Session s, Frame f) { - return s.literal(f, ";", true, false, K272); + return s.literal(f, ";", true, false, K284); } private static Match e78(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e78M(s, f) : e78C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e78M : TinyExpressionP4Parser::e78C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3473:3651:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e78M : TinyExpressionP4Parser::e78C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3459:3637:body/seq", false, false, "node", true, K4); } private static Match e78C(Session s, Frame f) { - return s.sequence(f, K321, K220); + return s.sequence(f, K333, K220); } private static Match e78M(Session s, Frame f) { - return s.sequence(f, K321, K220); + return s.sequence(f, K333, K220); } private static Match e79(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e79M(s, f) : e79C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e79M : TinyExpressionP4Parser::e79C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3473:3495:body/0/group", false, false, "text", false, K294); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e79M : TinyExpressionP4Parser::e79C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3459:3481:body/0/group", false, false, "text", false, K306); } private static Match e79C(Session s, Frame f) { return e80(s, f); @@ -1833,56 +2170,56 @@ private static Match e79M(Session s, Frame f) { } private static Match e80(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e80M(s, f) : e80C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e80M : TinyExpressionP4Parser::e80C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3475:3493:body/0/0/choice", false, false, "text", false, K294); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e80M : TinyExpressionP4Parser::e80C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3461:3479:body/0/0/choice", false, false, "text", false, K306); } private static Match e80C(Session s, Frame f) { - return s.choice(f,K322,false,null,false); + return s.choice(f,K334,false,null,false); } private static Match e80M(Session s, Frame f) { - return s.choice(f,K322,false,null,false); + return s.choice(f,K334,false,null,false); } private static Match e81(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e81M(s, f) : e81C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e81M : TinyExpressionP4Parser::e81C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3475:3485:body/0/0/0/literal", false, true, "text", false, K296); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e81M : TinyExpressionP4Parser::e81C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3461:3471:body/0/0/0/literal", false, true, "text", false, K308); } private static Match e81C(Session s, Frame f) { - return s.literal(f, "variable", true, false, K297); + return s.literal(f, "variable", true, false, K309); } private static Match e81M(Session s, Frame f) { - return s.literal(f, "variable", true, false, K297); + return s.literal(f, "variable", true, false, K309); } private static Match e82(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e82M(s, f) : e82C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e82M : TinyExpressionP4Parser::e82C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3488:3493:body/0/0/1/literal", false, true, "text", false, K298); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e82M : TinyExpressionP4Parser::e82C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3474:3479:body/0/0/1/literal", false, true, "text", false, K310); } private static Match e82C(Session s, Frame f) { - return s.literal(f, "var", true, false, K299); + return s.literal(f, "var", true, false, K311); } private static Match e82M(Session s, Frame f) { - return s.literal(f, "var", true, false, K299); + return s.literal(f, "var", true, false, K311); } private static Match e83(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e83M(s, f) : e83C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e83M : TinyExpressionP4Parser::e83C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3500:3503:body/1/literal", false, true, "text", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e83M : TinyExpressionP4Parser::e83C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3486:3489:body/1/literal", false, true, "text", false, K50); } private static Match e83C(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e83M(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e84(Session s, Frame f) { - return s.capture(f, f.matched ? TinyExpressionP4Parser::e84M : TinyExpressionP4Parser::e84C, K323, K302, K225, K226, K303, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3504:3514:body/2/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e84M : TinyExpressionP4Parser::e84C, K335, K314, K225, K226, K315, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3490:3500:body/2/tokenRef", false, true, "text", false, K276); } private static Match e84C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e84M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e85(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e85M(s, f) : e85C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e85M : TinyExpressionP4Parser::e85C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3528:3547:body/3/optional", true, false, "text", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e85M : TinyExpressionP4Parser::e85C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3514:3533:body/3/optional", true, false, "text", false, K316); } private static Match e85C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e86); @@ -1892,7 +2229,7 @@ private static Match e85M(Session s, Frame f) { } private static Match e86(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e86M(s, f) : e86C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e86M : TinyExpressionP4Parser::e86C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3530:3545:body/3/0/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e86M : TinyExpressionP4Parser::e86C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3516:3531:body/3/0/ruleRef", false, false, "text", false, K4); } private static Match e86C(Session s, Frame f) { return parseBooleanTypeHint_12(s, f); @@ -1902,7 +2239,7 @@ private static Match e86M(Session s, Frame f) { } private static Match e87(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e87M(s, f) : e87C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e87M : TinyExpressionP4Parser::e87C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3552:3617:body/4/optional", true, false, "node", true, K305); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e87M : TinyExpressionP4Parser::e87C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3538:3603:body/4/optional", true, false, "node", true, K317); } private static Match e87C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e88); @@ -1913,27 +2250,27 @@ private static Match e87M(Session s, Frame f) { private static Match e88(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e88M(s, f) : e88C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e88M : TinyExpressionP4Parser::e88C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3554:3608:body/4/0/seq", false, false, "node", true, K305); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e88M : TinyExpressionP4Parser::e88C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3540:3594:body/4/0/seq", false, false, "node", true, K317); } private static Match e88C(Session s, Frame f) { - return s.sequence(f, K324, K248); + return s.sequence(f, K336, K251); } private static Match e88M(Session s, Frame f) { - return s.sequence(f, K324, K248); + return s.sequence(f, K336, K251); } private static Match e89(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e89M(s, f) : e89C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e89M : TinyExpressionP4Parser::e89C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3554:3559:body/4/0/0/literal", false, true, "text", false, K305); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e89M : TinyExpressionP4Parser::e89C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3540:3545:body/4/0/0/literal", false, true, "text", false, K317); } private static Match e89C(Session s, Frame f) { - return s.literal(f, "set", true, false, K307); + return s.literal(f, "set", true, false, K319); } private static Match e89M(Session s, Frame f) { - return s.literal(f, "set", true, false, K307); + return s.literal(f, "set", true, false, K319); } private static Match e90(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e90M(s, f) : e90C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e90M : TinyExpressionP4Parser::e90C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3560:3590:body/4/0/1/optional", true, false, "node", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e90M : TinyExpressionP4Parser::e90C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3546:3576:body/4/0/1/optional", true, false, "node", false, K316); } private static Match e90C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e91); @@ -1943,7 +2280,7 @@ private static Match e90M(Session s, Frame f) { } private static Match e91(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e91M(s, f) : e91C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e91M : TinyExpressionP4Parser::e91C, K325, K309, K225, K226, K226, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3562:3574:body/4/0/1/0/ruleRef", false, false, "node", false, K29); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e91M : TinyExpressionP4Parser::e91C, K337, K321, K225, K226, K226, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3548:3560:body/4/0/1/0/ruleRef", false, false, "node", false, K29); } private static Match e91C(Session s, Frame f) { return parseOnlyIfAbsent_14(s, f); @@ -1953,7 +2290,7 @@ private static Match e91M(Session s, Frame f) { } private static Match e92(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e92M(s, f) : e92C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e92M : TinyExpressionP4Parser::e92C, K326, K311, K225, K226, K226, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3591:3608:body/4/0/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e92M : TinyExpressionP4Parser::e92C, K338, K323, K225, K226, K226, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3577:3594:body/4/0/2/ruleRef", false, false, "node", false, K227); } private static Match e92C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -1963,7 +2300,7 @@ private static Match e92M(Session s, Frame f) { } private static Match e93(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e93M(s, f) : e93C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e93M : TinyExpressionP4Parser::e93C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3622:3643:body/5/optional", true, false, "text", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e93M : TinyExpressionP4Parser::e93C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3608:3629:body/5/optional", true, false, "text", false, K316); } private static Match e93C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e94); @@ -1973,7 +2310,7 @@ private static Match e93M(Session s, Frame f) { } private static Match e94(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e94M(s, f) : e94C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e94M : TinyExpressionP4Parser::e94C, K327, K313, K225, K226, K226, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3624:3635:body/5/0/ruleRef", false, false, "text", false, K30); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e94M : TinyExpressionP4Parser::e94C, K339, K325, K225, K226, K226, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3610:3621:body/5/0/ruleRef", false, false, "text", false, K30); } private static Match e94C(Session s, Frame f) { return parseDescription_15(s, f); @@ -1983,28 +2320,28 @@ private static Match e94M(Session s, Frame f) { } private static Match e95(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e95M(s, f) : e95C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e95M : TinyExpressionP4Parser::e95C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3648:3651:body/6/literal", false, true, "text", false, K271); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e95M : TinyExpressionP4Parser::e95C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3634:3637:body/6/literal", false, true, "text", false, K283); } private static Match e95C(Session s, Frame f) { - return s.literal(f, ";", true, false, K272); + return s.literal(f, ";", true, false, K284); } private static Match e95M(Session s, Frame f) { - return s.literal(f, ";", true, false, K272); + return s.literal(f, ";", true, false, K284); } private static Match e96(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e96M(s, f) : e96C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e96M : TinyExpressionP4Parser::e96C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3824:4000:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e96M : TinyExpressionP4Parser::e96C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3810:3986:body/seq", false, false, "node", true, K4); } private static Match e96C(Session s, Frame f) { - return s.sequence(f, K328, K220); + return s.sequence(f, K340, K220); } private static Match e96M(Session s, Frame f) { - return s.sequence(f, K328, K220); + return s.sequence(f, K340, K220); } private static Match e97(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e97M(s, f) : e97C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e97M : TinyExpressionP4Parser::e97C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3824:3846:body/0/group", false, false, "text", false, K294); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e97M : TinyExpressionP4Parser::e97C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3810:3832:body/0/group", false, false, "text", false, K306); } private static Match e97C(Session s, Frame f) { return e98(s, f); @@ -2014,56 +2351,56 @@ private static Match e97M(Session s, Frame f) { } private static Match e98(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e98M(s, f) : e98C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e98M : TinyExpressionP4Parser::e98C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3826:3844:body/0/0/choice", false, false, "text", false, K294); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e98M : TinyExpressionP4Parser::e98C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3812:3830:body/0/0/choice", false, false, "text", false, K306); } private static Match e98C(Session s, Frame f) { - return s.choice(f,K329,false,null,false); + return s.choice(f,K341,false,null,false); } private static Match e98M(Session s, Frame f) { - return s.choice(f,K329,false,null,false); + return s.choice(f,K341,false,null,false); } private static Match e99(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e99M(s, f) : e99C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e99M : TinyExpressionP4Parser::e99C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3826:3836:body/0/0/0/literal", false, true, "text", false, K296); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e99M : TinyExpressionP4Parser::e99C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3812:3822:body/0/0/0/literal", false, true, "text", false, K308); } private static Match e99C(Session s, Frame f) { - return s.literal(f, "variable", true, false, K297); + return s.literal(f, "variable", true, false, K309); } private static Match e99M(Session s, Frame f) { - return s.literal(f, "variable", true, false, K297); + return s.literal(f, "variable", true, false, K309); } private static Match e100(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e100M(s, f) : e100C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e100M : TinyExpressionP4Parser::e100C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3839:3844:body/0/0/1/literal", false, true, "text", false, K298); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e100M : TinyExpressionP4Parser::e100C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3825:3830:body/0/0/1/literal", false, true, "text", false, K310); } private static Match e100C(Session s, Frame f) { - return s.literal(f, "var", true, false, K299); + return s.literal(f, "var", true, false, K311); } private static Match e100M(Session s, Frame f) { - return s.literal(f, "var", true, false, K299); + return s.literal(f, "var", true, false, K311); } private static Match e101(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e101M(s, f) : e101C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e101M : TinyExpressionP4Parser::e101C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3851:3854:body/1/literal", false, true, "text", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e101M : TinyExpressionP4Parser::e101C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3837:3840:body/1/literal", false, true, "text", false, K50); } private static Match e101C(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e101M(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e102(Session s, Frame f) { - return s.capture(f, f.matched ? TinyExpressionP4Parser::e102M : TinyExpressionP4Parser::e102C, K330, K302, K225, K226, K303, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3855:3865:body/2/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e102M : TinyExpressionP4Parser::e102C, K342, K314, K225, K226, K315, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3841:3851:body/2/tokenRef", false, true, "text", false, K276); } private static Match e102C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e102M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e103(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e103M(s, f) : e103C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e103M : TinyExpressionP4Parser::e103C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3879:3897:body/3/optional", true, false, "text", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e103M : TinyExpressionP4Parser::e103C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3865:3883:body/3/optional", true, false, "text", false, K316); } private static Match e103C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e104); @@ -2073,7 +2410,7 @@ private static Match e103M(Session s, Frame f) { } private static Match e104(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e104M(s, f) : e104C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e104M : TinyExpressionP4Parser::e104C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3881:3895:body/3/0/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e104M : TinyExpressionP4Parser::e104C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3867:3881:body/3/0/ruleRef", false, false, "text", false, K4); } private static Match e104C(Session s, Frame f) { return parseObjectTypeHint_13(s, f); @@ -2083,7 +2420,7 @@ private static Match e104M(Session s, Frame f) { } private static Match e105(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e105M(s, f) : e105C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e105M : TinyExpressionP4Parser::e105C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3902:3966:body/4/optional", true, false, "node", true, K305); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e105M : TinyExpressionP4Parser::e105C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3888:3952:body/4/optional", true, false, "node", true, K317); } private static Match e105C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e106); @@ -2094,27 +2431,27 @@ private static Match e105M(Session s, Frame f) { private static Match e106(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e106M(s, f) : e106C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e106M : TinyExpressionP4Parser::e106C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3904:3957:body/4/0/seq", false, false, "node", true, K305); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e106M : TinyExpressionP4Parser::e106C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3890:3943:body/4/0/seq", false, false, "node", true, K317); } private static Match e106C(Session s, Frame f) { - return s.sequence(f, K331, K248); + return s.sequence(f, K343, K251); } private static Match e106M(Session s, Frame f) { - return s.sequence(f, K331, K248); + return s.sequence(f, K343, K251); } private static Match e107(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e107M(s, f) : e107C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e107M : TinyExpressionP4Parser::e107C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3904:3909:body/4/0/0/literal", false, true, "text", false, K305); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e107M : TinyExpressionP4Parser::e107C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3890:3895:body/4/0/0/literal", false, true, "text", false, K317); } private static Match e107C(Session s, Frame f) { - return s.literal(f, "set", true, false, K307); + return s.literal(f, "set", true, false, K319); } private static Match e107M(Session s, Frame f) { - return s.literal(f, "set", true, false, K307); + return s.literal(f, "set", true, false, K319); } private static Match e108(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e108M(s, f) : e108C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e108M : TinyExpressionP4Parser::e108C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3910:3940:body/4/0/1/optional", true, false, "node", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e108M : TinyExpressionP4Parser::e108C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3896:3926:body/4/0/1/optional", true, false, "node", false, K316); } private static Match e108C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e109); @@ -2124,7 +2461,7 @@ private static Match e108M(Session s, Frame f) { } private static Match e109(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e109M(s, f) : e109C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e109M : TinyExpressionP4Parser::e109C, K332, K309, K225, K226, K226, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3912:3924:body/4/0/1/0/ruleRef", false, false, "node", false, K29); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e109M : TinyExpressionP4Parser::e109C, K344, K321, K225, K226, K226, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3898:3910:body/4/0/1/0/ruleRef", false, false, "node", false, K29); } private static Match e109C(Session s, Frame f) { return parseOnlyIfAbsent_14(s, f); @@ -2134,7 +2471,7 @@ private static Match e109M(Session s, Frame f) { } private static Match e110(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e110M(s, f) : e110C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e110M : TinyExpressionP4Parser::e110C, K333, K311, K225, K226, K226, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3941:3957:body/4/0/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e110M : TinyExpressionP4Parser::e110C, K345, K323, K225, K226, K226, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3927:3943:body/4/0/2/ruleRef", false, false, "node", false, K227); } private static Match e110C(Session s, Frame f) { return parseObjectExpression_105(s, f); @@ -2144,7 +2481,7 @@ private static Match e110M(Session s, Frame f) { } private static Match e111(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e111M(s, f) : e111C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e111M : TinyExpressionP4Parser::e111C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3971:3992:body/5/optional", true, false, "text", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e111M : TinyExpressionP4Parser::e111C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3957:3978:body/5/optional", true, false, "text", false, K316); } private static Match e111C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e112); @@ -2154,7 +2491,7 @@ private static Match e111M(Session s, Frame f) { } private static Match e112(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e112M(s, f) : e112C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e112M : TinyExpressionP4Parser::e112C, K334, K313, K225, K226, K226, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3973:3984:body/5/0/ruleRef", false, false, "text", false, K30); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e112M : TinyExpressionP4Parser::e112C, K346, K325, K225, K226, K226, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3959:3970:body/5/0/ruleRef", false, false, "text", false, K30); } private static Match e112C(Session s, Frame f) { return parseDescription_15(s, f); @@ -2164,28 +2501,28 @@ private static Match e112M(Session s, Frame f) { } private static Match e113(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e113M(s, f) : e113C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e113M : TinyExpressionP4Parser::e113C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3997:4000:body/6/literal", false, true, "text", false, K271); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e113M : TinyExpressionP4Parser::e113C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectVariableDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3983:3986:body/6/literal", false, true, "text", false, K283); } private static Match e113C(Session s, Frame f) { - return s.literal(f, ";", true, false, K272); + return s.literal(f, ";", true, false, K284); } private static Match e113M(Session s, Frame f) { - return s.literal(f, ";", true, false, K272); + return s.literal(f, ";", true, false, K284); } private static Match e114(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e114M(s, f) : e114C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e114M : TinyExpressionP4Parser::e114C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4019:4123:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e114M : TinyExpressionP4Parser::e114C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4005:4109:body/seq", false, false, "text", false, K4); } private static Match e114C(Session s, Frame f) { - return s.sequence(f, K335, K260); + return s.sequence(f, K347, K271); } private static Match e114M(Session s, Frame f) { - return s.sequence(f, K335, K260); + return s.sequence(f, K347, K271); } private static Match e115(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e115M(s, f) : e115C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e115M : TinyExpressionP4Parser::e115C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4019:4027:body/0/optional", true, false, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e115M : TinyExpressionP4Parser::e115C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4005:4013:body/0/optional", true, false, "text", false, K279); } private static Match e115C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e116); @@ -2195,17 +2532,17 @@ private static Match e115M(Session s, Frame f) { } private static Match e116(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e116M(s, f) : e116C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e116M : TinyExpressionP4Parser::e116C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4021:4025:body/0/0/literal", false, true, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e116M : TinyExpressionP4Parser::e116C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4007:4011:body/0/0/literal", false, true, "text", false, K279); } private static Match e116C(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e116M(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e117(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e117M(s, f) : e117C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e117M : TinyExpressionP4Parser::e117C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4028:4123:body/1/group", false, false, "text", false, K336); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e117M : TinyExpressionP4Parser::e117C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4014:4109:body/1/group", false, false, "text", false, K348); } private static Match e117C(Session s, Frame f) { return e118(s, f); @@ -2215,108 +2552,108 @@ private static Match e117M(Session s, Frame f) { } private static Match e118(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e118M(s, f) : e118C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e118M : TinyExpressionP4Parser::e118C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4030:4121:body/1/0/choice", false, false, "text", false, K336); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e118M : TinyExpressionP4Parser::e118C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4016:4107:body/1/0/choice", false, false, "text", false, K348); } private static Match e118C(Session s, Frame f) { - return s.choice(f,K337,false,null,false); + return s.choice(f,K349,false,null,false); } private static Match e118M(Session s, Frame f) { - return s.choice(f,K337,false,null,false); + return s.choice(f,K349,false,null,false); } private static Match e119(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e119M(s, f) : e119C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e119M : TinyExpressionP4Parser::e119C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4030:4038:body/1/0/0/literal", false, true, "text", false, K338); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e119M : TinyExpressionP4Parser::e119C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4016:4024:body/1/0/0/literal", false, true, "text", false, K350); } private static Match e119C(Session s, Frame f) { - return s.literal(f, "number", true, false, K339); + return s.literal(f, "number", true, false, K351); } private static Match e119M(Session s, Frame f) { - return s.literal(f, "number", true, false, K339); + return s.literal(f, "number", true, false, K351); } private static Match e120(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e120M(s, f) : e120C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e120M : TinyExpressionP4Parser::e120C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4041:4049:body/1/0/1/literal", false, true, "text", false, K340); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e120M : TinyExpressionP4Parser::e120C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4027:4035:body/1/0/1/literal", false, true, "text", false, K352); } private static Match e120C(Session s, Frame f) { - return s.literal(f, "Number", true, false, K341); + return s.literal(f, "Number", true, false, K353); } private static Match e120M(Session s, Frame f) { - return s.literal(f, "Number", true, false, K341); + return s.literal(f, "Number", true, false, K353); } private static Match e121(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e121M(s, f) : e121C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e121M : TinyExpressionP4Parser::e121C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4052:4060:body/1/0/2/literal", false, true, "text", false, K52); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e121M : TinyExpressionP4Parser::e121C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4038:4046:body/1/0/2/literal", false, true, "text", false, K52); } private static Match e121C(Session s, Frame f) { - return s.literal(f, "string", true, false, K342); + return s.literal(f, "string", true, false, K354); } private static Match e121M(Session s, Frame f) { - return s.literal(f, "string", true, false, K342); + return s.literal(f, "string", true, false, K354); } private static Match e122(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e122M(s, f) : e122C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e122M : TinyExpressionP4Parser::e122C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4063:4071:body/1/0/3/literal", false, true, "text", false, K343); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e122M : TinyExpressionP4Parser::e122C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4049:4057:body/1/0/3/literal", false, true, "text", false, K355); } private static Match e122C(Session s, Frame f) { - return s.literal(f, "String", true, false, K344); + return s.literal(f, "String", true, false, K356); } private static Match e122M(Session s, Frame f) { - return s.literal(f, "String", true, false, K344); + return s.literal(f, "String", true, false, K356); } private static Match e123(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e123M(s, f) : e123C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e123M : TinyExpressionP4Parser::e123C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4078:4087:body/1/0/4/literal", false, true, "text", false, K53); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e123M : TinyExpressionP4Parser::e123C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4064:4073:body/1/0/4/literal", false, true, "text", false, K53); } private static Match e123C(Session s, Frame f) { - return s.literal(f, "boolean", true, false, K345); + return s.literal(f, "boolean", true, false, K357); } private static Match e123M(Session s, Frame f) { - return s.literal(f, "boolean", true, false, K345); + return s.literal(f, "boolean", true, false, K357); } private static Match e124(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e124M(s, f) : e124C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e124M : TinyExpressionP4Parser::e124C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4090:4099:body/1/0/5/literal", false, true, "text", false, K346); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e124M : TinyExpressionP4Parser::e124C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4076:4085:body/1/0/5/literal", false, true, "text", false, K358); } private static Match e124C(Session s, Frame f) { - return s.literal(f, "Boolean", true, false, K347); + return s.literal(f, "Boolean", true, false, K359); } private static Match e124M(Session s, Frame f) { - return s.literal(f, "Boolean", true, false, K347); + return s.literal(f, "Boolean", true, false, K359); } private static Match e125(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e125M(s, f) : e125C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e125M : TinyExpressionP4Parser::e125C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4102:4110:body/1/0/6/literal", false, true, "text", false, K54); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e125M : TinyExpressionP4Parser::e125C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4088:4096:body/1/0/6/literal", false, true, "text", false, K54); } private static Match e125C(Session s, Frame f) { - return s.literal(f, "object", true, false, K348); + return s.literal(f, "object", true, false, K360); } private static Match e125M(Session s, Frame f) { - return s.literal(f, "object", true, false, K348); + return s.literal(f, "object", true, false, K360); } private static Match e126(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e126M(s, f) : e126C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e126M : TinyExpressionP4Parser::e126C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4113:4121:body/1/0/7/literal", false, true, "text", false, K349); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e126M : TinyExpressionP4Parser::e126C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4099:4107:body/1/0/7/literal", false, true, "text", false, K361); } private static Match e126C(Session s, Frame f) { - return s.literal(f, "Object", true, false, K350); + return s.literal(f, "Object", true, false, K362); } private static Match e126M(Session s, Frame f) { - return s.literal(f, "Object", true, false, K350); + return s.literal(f, "Object", true, false, K362); } private static Match e127(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e127M(s, f) : e127C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e127M : TinyExpressionP4Parser::e127C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4148:4200:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e127M : TinyExpressionP4Parser::e127C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4134:4186:body/seq", false, false, "text", false, K4); } private static Match e127C(Session s, Frame f) { - return s.sequence(f, K351, K260); + return s.sequence(f, K363, K271); } private static Match e127M(Session s, Frame f) { - return s.sequence(f, K351, K260); + return s.sequence(f, K363, K271); } private static Match e128(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e128M(s, f) : e128C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e128M : TinyExpressionP4Parser::e128C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4148:4156:body/0/optional", true, false, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e128M : TinyExpressionP4Parser::e128C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4134:4142:body/0/optional", true, false, "text", false, K279); } private static Match e128C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e129); @@ -2326,17 +2663,17 @@ private static Match e128M(Session s, Frame f) { } private static Match e129(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e129M(s, f) : e129C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e129M : TinyExpressionP4Parser::e129C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4150:4154:body/0/0/literal", false, true, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e129M : TinyExpressionP4Parser::e129C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4136:4140:body/0/0/literal", false, true, "text", false, K279); } private static Match e129C(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e129M(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e130(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e130M(s, f) : e130C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e130M : TinyExpressionP4Parser::e130C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4157:4200:body/1/group", false, false, "text", false, K352); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e130M : TinyExpressionP4Parser::e130C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4143:4186:body/1/group", false, false, "text", false, K364); } private static Match e130C(Session s, Frame f) { return e131(s, f); @@ -2346,68 +2683,68 @@ private static Match e130M(Session s, Frame f) { } private static Match e131(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e131M(s, f) : e131C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e131M : TinyExpressionP4Parser::e131C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4159:4198:body/1/0/choice", false, false, "text", false, K352); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e131M : TinyExpressionP4Parser::e131C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4145:4184:body/1/0/choice", false, false, "text", false, K364); } private static Match e131C(Session s, Frame f) { - return s.choice(f,K353,false,null,false); + return s.choice(f,K365,false,null,false); } private static Match e131M(Session s, Frame f) { - return s.choice(f,K353,false,null,false); + return s.choice(f,K365,false,null,false); } private static Match e132(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e132M(s, f) : e132C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e132M : TinyExpressionP4Parser::e132C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4159:4167:body/1/0/0/literal", false, true, "text", false, K338); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e132M : TinyExpressionP4Parser::e132C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4145:4153:body/1/0/0/literal", false, true, "text", false, K350); } private static Match e132C(Session s, Frame f) { - return s.literal(f, "number", true, false, K339); + return s.literal(f, "number", true, false, K351); } private static Match e132M(Session s, Frame f) { - return s.literal(f, "number", true, false, K339); + return s.literal(f, "number", true, false, K351); } private static Match e133(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e133M(s, f) : e133C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e133M : TinyExpressionP4Parser::e133C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4170:4178:body/1/0/1/literal", false, true, "text", false, K340); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e133M : TinyExpressionP4Parser::e133C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4156:4164:body/1/0/1/literal", false, true, "text", false, K352); } private static Match e133C(Session s, Frame f) { - return s.literal(f, "Number", true, false, K341); + return s.literal(f, "Number", true, false, K353); } private static Match e133M(Session s, Frame f) { - return s.literal(f, "Number", true, false, K341); + return s.literal(f, "Number", true, false, K353); } private static Match e134(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e134M(s, f) : e134C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e134M : TinyExpressionP4Parser::e134C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4181:4188:body/1/0/2/literal", false, true, "text", false, K354); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e134M : TinyExpressionP4Parser::e134C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4167:4174:body/1/0/2/literal", false, true, "text", false, K366); } private static Match e134C(Session s, Frame f) { - return s.literal(f, "float", true, false, K355); + return s.literal(f, "float", true, false, K367); } private static Match e134M(Session s, Frame f) { - return s.literal(f, "float", true, false, K355); + return s.literal(f, "float", true, false, K367); } private static Match e135(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e135M(s, f) : e135C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e135M : TinyExpressionP4Parser::e135C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4191:4198:body/1/0/3/literal", false, true, "text", false, K356); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e135M : TinyExpressionP4Parser::e135C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4177:4184:body/1/0/3/literal", false, true, "text", false, K368); } private static Match e135C(Session s, Frame f) { - return s.literal(f, "Float", true, false, K357); + return s.literal(f, "Float", true, false, K369); } private static Match e135M(Session s, Frame f) { - return s.literal(f, "Float", true, false, K357); + return s.literal(f, "Float", true, false, K369); } private static Match e136(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e136M(s, f) : e136C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e136M : TinyExpressionP4Parser::e136C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4224:4256:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e136M : TinyExpressionP4Parser::e136C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4210:4242:body/seq", false, false, "text", false, K4); } private static Match e136C(Session s, Frame f) { - return s.sequence(f, K358, K260); + return s.sequence(f, K370, K271); } private static Match e136M(Session s, Frame f) { - return s.sequence(f, K358, K260); + return s.sequence(f, K370, K271); } private static Match e137(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e137M(s, f) : e137C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e137M : TinyExpressionP4Parser::e137C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4224:4232:body/0/optional", true, false, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e137M : TinyExpressionP4Parser::e137C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4210:4218:body/0/optional", true, false, "text", false, K279); } private static Match e137C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e138); @@ -2417,17 +2754,17 @@ private static Match e137M(Session s, Frame f) { } private static Match e138(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e138M(s, f) : e138C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e138M : TinyExpressionP4Parser::e138C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4226:4230:body/0/0/literal", false, true, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e138M : TinyExpressionP4Parser::e138C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4212:4216:body/0/0/literal", false, true, "text", false, K279); } private static Match e138C(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e138M(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e139(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e139M(s, f) : e139C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e139M : TinyExpressionP4Parser::e139C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4233:4256:body/1/group", false, false, "text", false, K359); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e139M : TinyExpressionP4Parser::e139C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4219:4242:body/1/group", false, false, "text", false, K371); } private static Match e139C(Session s, Frame f) { return e140(s, f); @@ -2437,48 +2774,48 @@ private static Match e139M(Session s, Frame f) { } private static Match e140(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e140M(s, f) : e140C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e140M : TinyExpressionP4Parser::e140C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4235:4254:body/1/0/choice", false, false, "text", false, K359); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e140M : TinyExpressionP4Parser::e140C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4221:4240:body/1/0/choice", false, false, "text", false, K371); } private static Match e140C(Session s, Frame f) { - return s.choice(f,K360,false,null,false); + return s.choice(f,K372,false,null,false); } private static Match e140M(Session s, Frame f) { - return s.choice(f,K360,false,null,false); + return s.choice(f,K372,false,null,false); } private static Match e141(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e141M(s, f) : e141C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e141M : TinyExpressionP4Parser::e141C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4235:4243:body/1/0/0/literal", false, true, "text", false, K52); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e141M : TinyExpressionP4Parser::e141C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4221:4229:body/1/0/0/literal", false, true, "text", false, K52); } private static Match e141C(Session s, Frame f) { - return s.literal(f, "string", true, false, K342); + return s.literal(f, "string", true, false, K354); } private static Match e141M(Session s, Frame f) { - return s.literal(f, "string", true, false, K342); + return s.literal(f, "string", true, false, K354); } private static Match e142(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e142M(s, f) : e142C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e142M : TinyExpressionP4Parser::e142C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4246:4254:body/1/0/1/literal", false, true, "text", false, K343); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e142M : TinyExpressionP4Parser::e142C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4232:4240:body/1/0/1/literal", false, true, "text", false, K355); } private static Match e142C(Session s, Frame f) { - return s.literal(f, "String", true, false, K344); + return s.literal(f, "String", true, false, K356); } private static Match e142M(Session s, Frame f) { - return s.literal(f, "String", true, false, K344); + return s.literal(f, "String", true, false, K356); } private static Match e143(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e143M(s, f) : e143C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e143M : TinyExpressionP4Parser::e143C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4281:4315:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e143M : TinyExpressionP4Parser::e143C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4267:4301:body/seq", false, false, "text", false, K4); } private static Match e143C(Session s, Frame f) { - return s.sequence(f, K361, K260); + return s.sequence(f, K373, K271); } private static Match e143M(Session s, Frame f) { - return s.sequence(f, K361, K260); + return s.sequence(f, K373, K271); } private static Match e144(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e144M(s, f) : e144C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e144M : TinyExpressionP4Parser::e144C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4281:4289:body/0/optional", true, false, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e144M : TinyExpressionP4Parser::e144C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4267:4275:body/0/optional", true, false, "text", false, K279); } private static Match e144C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e145); @@ -2488,17 +2825,17 @@ private static Match e144M(Session s, Frame f) { } private static Match e145(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e145M(s, f) : e145C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e145M : TinyExpressionP4Parser::e145C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4283:4287:body/0/0/literal", false, true, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e145M : TinyExpressionP4Parser::e145C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4269:4273:body/0/0/literal", false, true, "text", false, K279); } private static Match e145C(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e145M(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e146(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e146M(s, f) : e146C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e146M : TinyExpressionP4Parser::e146C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4290:4315:body/1/group", false, false, "text", false, K362); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e146M : TinyExpressionP4Parser::e146C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4276:4301:body/1/group", false, false, "text", false, K374); } private static Match e146C(Session s, Frame f) { return e147(s, f); @@ -2508,48 +2845,48 @@ private static Match e146M(Session s, Frame f) { } private static Match e147(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e147M(s, f) : e147C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e147M : TinyExpressionP4Parser::e147C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4292:4313:body/1/0/choice", false, false, "text", false, K362); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e147M : TinyExpressionP4Parser::e147C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4278:4299:body/1/0/choice", false, false, "text", false, K374); } private static Match e147C(Session s, Frame f) { - return s.choice(f,K363,false,null,false); + return s.choice(f,K375,false,null,false); } private static Match e147M(Session s, Frame f) { - return s.choice(f,K363,false,null,false); + return s.choice(f,K375,false,null,false); } private static Match e148(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e148M(s, f) : e148C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e148M : TinyExpressionP4Parser::e148C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4292:4301:body/1/0/0/literal", false, true, "text", false, K53); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e148M : TinyExpressionP4Parser::e148C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4278:4287:body/1/0/0/literal", false, true, "text", false, K53); } private static Match e148C(Session s, Frame f) { - return s.literal(f, "boolean", true, false, K345); + return s.literal(f, "boolean", true, false, K357); } private static Match e148M(Session s, Frame f) { - return s.literal(f, "boolean", true, false, K345); + return s.literal(f, "boolean", true, false, K357); } private static Match e149(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e149M(s, f) : e149C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e149M : TinyExpressionP4Parser::e149C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4304:4313:body/1/0/1/literal", false, true, "text", false, K346); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e149M : TinyExpressionP4Parser::e149C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4290:4299:body/1/0/1/literal", false, true, "text", false, K358); } private static Match e149C(Session s, Frame f) { - return s.literal(f, "Boolean", true, false, K347); + return s.literal(f, "Boolean", true, false, K359); } private static Match e149M(Session s, Frame f) { - return s.literal(f, "Boolean", true, false, K347); + return s.literal(f, "Boolean", true, false, K359); } private static Match e150(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e150M(s, f) : e150C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e150M : TinyExpressionP4Parser::e150C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4339:4371:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e150M : TinyExpressionP4Parser::e150C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4325:4357:body/seq", false, false, "text", false, K4); } private static Match e150C(Session s, Frame f) { - return s.sequence(f, K364, K260); + return s.sequence(f, K376, K271); } private static Match e150M(Session s, Frame f) { - return s.sequence(f, K364, K260); + return s.sequence(f, K376, K271); } private static Match e151(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e151M(s, f) : e151C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e151M : TinyExpressionP4Parser::e151C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4339:4347:body/0/optional", true, false, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e151M : TinyExpressionP4Parser::e151C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4325:4333:body/0/optional", true, false, "text", false, K279); } private static Match e151C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e152); @@ -2559,17 +2896,17 @@ private static Match e151M(Session s, Frame f) { } private static Match e152(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e152M(s, f) : e152C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e152M : TinyExpressionP4Parser::e152C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4341:4345:body/0/0/literal", false, true, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e152M : TinyExpressionP4Parser::e152C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4327:4331:body/0/0/literal", false, true, "text", false, K279); } private static Match e152C(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e152M(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e153(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e153M(s, f) : e153C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e153M : TinyExpressionP4Parser::e153C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4348:4371:body/1/group", false, false, "text", false, K365); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e153M : TinyExpressionP4Parser::e153C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4334:4357:body/1/group", false, false, "text", false, K377); } private static Match e153C(Session s, Frame f) { return e154(s, f); @@ -2579,160 +2916,160 @@ private static Match e153M(Session s, Frame f) { } private static Match e154(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e154M(s, f) : e154C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e154M : TinyExpressionP4Parser::e154C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4350:4369:body/1/0/choice", false, false, "text", false, K365); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e154M : TinyExpressionP4Parser::e154C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4336:4355:body/1/0/choice", false, false, "text", false, K377); } private static Match e154C(Session s, Frame f) { - return s.choice(f,K366,false,null,false); + return s.choice(f,K378,false,null,false); } private static Match e154M(Session s, Frame f) { - return s.choice(f,K366,false,null,false); + return s.choice(f,K378,false,null,false); } private static Match e155(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e155M(s, f) : e155C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e155M : TinyExpressionP4Parser::e155C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4350:4358:body/1/0/0/literal", false, true, "text", false, K54); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e155M : TinyExpressionP4Parser::e155C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4336:4344:body/1/0/0/literal", false, true, "text", false, K54); } private static Match e155C(Session s, Frame f) { - return s.literal(f, "object", true, false, K348); + return s.literal(f, "object", true, false, K360); } private static Match e155M(Session s, Frame f) { - return s.literal(f, "object", true, false, K348); + return s.literal(f, "object", true, false, K360); } private static Match e156(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e156M(s, f) : e156C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e156M : TinyExpressionP4Parser::e156C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4361:4369:body/1/0/1/literal", false, true, "text", false, K349); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e156M : TinyExpressionP4Parser::e156C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectTypeHint", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4347:4355:body/1/0/1/literal", false, true, "text", false, K361); } private static Match e156C(Session s, Frame f) { - return s.literal(f, "Object", true, false, K350); + return s.literal(f, "Object", true, false, K362); } private static Match e156M(Session s, Frame f) { - return s.literal(f, "Object", true, false, K350); + return s.literal(f, "Object", true, false, K362); } private static Match e157(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e157M(s, f) : e157C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e157M : TinyExpressionP4Parser::e157C, K216, K216, K216, K217, K217, "TinyExpressionP4::OnlyIfAbsent", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4423:4442:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e157M : TinyExpressionP4Parser::e157C, K216, K216, K216, K217, K217, "TinyExpressionP4::OnlyIfAbsent", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4409:4428:body/seq", false, false, "text", false, K4); } private static Match e157C(Session s, Frame f) { - return s.sequence(f, K367, K248); + return s.sequence(f, K379, K251); } private static Match e157M(Session s, Frame f) { - return s.sequence(f, K367, K248); + return s.sequence(f, K379, K251); } private static Match e158(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e158M(s, f) : e158C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e158M : TinyExpressionP4Parser::e158C, K216, K216, K216, K217, K217, "TinyExpressionP4::OnlyIfAbsent", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4423:4427:body/0/literal", false, true, "text", false, K368); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e158M : TinyExpressionP4Parser::e158C, K216, K216, K216, K217, K217, "TinyExpressionP4::OnlyIfAbsent", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4409:4413:body/0/literal", false, true, "text", false, K380); } private static Match e158C(Session s, Frame f) { - return s.literal(f, "if", true, false, K369); + return s.literal(f, "if", true, false, K381); } private static Match e158M(Session s, Frame f) { - return s.literal(f, "if", true, false, K369); + return s.literal(f, "if", true, false, K381); } private static Match e159(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e159M(s, f) : e159C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e159M : TinyExpressionP4Parser::e159C, K216, K216, K216, K217, K217, "TinyExpressionP4::OnlyIfAbsent", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4428:4433:body/1/literal", false, true, "text", false, K370); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e159M : TinyExpressionP4Parser::e159C, K216, K216, K216, K217, K217, "TinyExpressionP4::OnlyIfAbsent", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4414:4419:body/1/literal", false, true, "text", false, K382); } private static Match e159C(Session s, Frame f) { - return s.literal(f, "not", true, false, K371); + return s.literal(f, "not", true, false, K383); } private static Match e159M(Session s, Frame f) { - return s.literal(f, "not", true, false, K371); + return s.literal(f, "not", true, false, K383); } private static Match e160(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e160M(s, f) : e160C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e160M : TinyExpressionP4Parser::e160C, K216, K216, K216, K217, K217, "TinyExpressionP4::OnlyIfAbsent", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4434:4442:body/2/literal", false, true, "text", false, K372); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e160M : TinyExpressionP4Parser::e160C, K216, K216, K216, K217, K217, "TinyExpressionP4::OnlyIfAbsent", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4420:4428:body/2/literal", false, true, "text", false, K384); } private static Match e160C(Session s, Frame f) { - return s.literal(f, "exists", true, false, K373); + return s.literal(f, "exists", true, false, K385); } private static Match e160M(Session s, Frame f) { - return s.literal(f, "exists", true, false, K373); + return s.literal(f, "exists", true, false, K385); } private static Match e161(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e161M(s, f) : e161C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e161M : TinyExpressionP4Parser::e161C, K216, K216, K216, K217, K217, "TinyExpressionP4::Description", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4464:4488:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e161M : TinyExpressionP4Parser::e161C, K216, K216, K216, K217, K217, "TinyExpressionP4::Description", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4450:4474:body/seq", false, false, "text", false, K4); } private static Match e161C(Session s, Frame f) { - return s.sequence(f, K374, K248); + return s.sequence(f, K386, K251); } private static Match e161M(Session s, Frame f) { - return s.sequence(f, K374, K248); + return s.sequence(f, K386, K251); } private static Match e162(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e162M(s, f) : e162C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e162M : TinyExpressionP4Parser::e162C, K216, K216, K216, K217, K217, "TinyExpressionP4::Description", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4464:4477:body/0/literal", false, true, "text", false, K375); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e162M : TinyExpressionP4Parser::e162C, K216, K216, K216, K217, K217, "TinyExpressionP4::Description", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4450:4463:body/0/literal", false, true, "text", false, K387); } private static Match e162C(Session s, Frame f) { - return s.literal(f, "description", true, false, K376); + return s.literal(f, "description", true, false, K388); } private static Match e162M(Session s, Frame f) { - return s.literal(f, "description", true, false, K376); + return s.literal(f, "description", true, false, K388); } private static Match e163(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e163M(s, f) : e163C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e163M : TinyExpressionP4Parser::e163C, K216, K216, K216, K217, K217, "TinyExpressionP4::Description", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4478:4481:body/1/literal", false, true, "text", false, K32); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e163M : TinyExpressionP4Parser::e163C, K216, K216, K216, K217, K217, "TinyExpressionP4::Description", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4464:4467:body/1/literal", false, true, "text", false, K32); } private static Match e163C(Session s, Frame f) { - return s.literal(f, "=", true, false, K377); + return s.literal(f, "=", true, false, K389); } private static Match e163M(Session s, Frame f) { - return s.literal(f, "=", true, false, K377); + return s.literal(f, "=", true, false, K389); } private static Match e164(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e164M(s, f) : e164C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e164M : TinyExpressionP4Parser::e164C, K216, K216, K216, K217, K217, "TinyExpressionP4::Description", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4482:4488:body/2/tokenRef", false, true, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e164M : TinyExpressionP4Parser::e164C, K216, K216, K216, K217, K217, "TinyExpressionP4::Description", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4468:4474:body/2/tokenRef", false, true, "text", false, K390); } private static Match e164C(Session s, Frame f) { - return s.external(f,"TinyExpressionP4::STRING",3); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K391,K392); } private static Match e164M(Session s, Frame f) { - return s.external(f,"TinyExpressionP4::STRING",3); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K391,K392); } private static Match e165(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e165M(s, f) : e165C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e165M : TinyExpressionP4Parser::e165C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4509:4556:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e165M : TinyExpressionP4Parser::e165C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4495:4542:body/seq", false, false, "node", true, K4); } private static Match e165C(Session s, Frame f) { - return s.sequence(f, K380, K379); + return s.sequence(f, K395, K394); } private static Match e165M(Session s, Frame f) { - return s.sequence(f, K380, K379); + return s.sequence(f, K395, K394); } private static Match e166(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e166M(s, f) : e166C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e166M : TinyExpressionP4Parser::e166C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4509:4512:body/0/literal", false, true, "text", false, K381); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e166M : TinyExpressionP4Parser::e166C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4495:4498:body/0/literal", false, true, "text", false, K396); } private static Match e166C(Session s, Frame f) { - return s.literal(f, "@", true, false, K382); + return s.literal(f, "@", true, false, K397); } private static Match e166M(Session s, Frame f) { - return s.literal(f, "@", true, false, K382); + return s.literal(f, "@", true, false, K397); } private static Match e167(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e167M(s, f) : e167C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e167M : TinyExpressionP4Parser::e167C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4513:4523:body/1/tokenRef", false, true, "text", false, K383); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e167M : TinyExpressionP4Parser::e167C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4499:4509:body/1/tokenRef", false, true, "text", false, K398); } private static Match e167C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e167M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e168(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e168M(s, f) : e168C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e168M : TinyExpressionP4Parser::e168C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4524:4527:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e168M : TinyExpressionP4Parser::e168C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4510:4513:body/2/literal", false, true, "text", false, K399); } private static Match e168C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e168M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e169(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e169M(s, f) : e169C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e169M : TinyExpressionP4Parser::e169C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4528:4552:body/3/optional", true, false, "node", true, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e169M : TinyExpressionP4Parser::e169C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4514:4538:body/3/optional", true, false, "node", true, K316); } private static Match e169C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e170); @@ -2742,7 +3079,7 @@ private static Match e169M(Session s, Frame f) { } private static Match e170(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e170M(s, f) : e170C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e170M : TinyExpressionP4Parser::e170C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4530:4550:body/3/0/ruleRef", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e170M : TinyExpressionP4Parser::e170C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4516:4536:body/3/0/ruleRef", false, false, "node", true, K4); } private static Match e170C(Session s, Frame f) { return parseAnnotationParameters_17(s, f); @@ -2752,28 +3089,28 @@ private static Match e170M(Session s, Frame f) { } private static Match e171(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e171M(s, f) : e171C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e171M : TinyExpressionP4Parser::e171C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4553:4556:body/4/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e171M : TinyExpressionP4Parser::e171C, K216, K216, K216, K217, K217, "TinyExpressionP4::Annotation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4539:4542:body/4/literal", false, true, "text", false, K401); } private static Match e171C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e171M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e172(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e172M(s, f) : e172C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e172M : TinyExpressionP4Parser::e172C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4586:4633:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e172M : TinyExpressionP4Parser::e172C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4572:4619:body/seq", false, false, "node", true, K4); } private static Match e172C(Session s, Frame f) { - return s.sequence(f, K388, K260); + return s.sequence(f, K403, K271); } private static Match e172M(Session s, Frame f) { - return s.sequence(f, K388, K260); + return s.sequence(f, K403, K271); } private static Match e173(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e173M(s, f) : e173C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e173M : TinyExpressionP4Parser::e173C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4586:4605:body/0/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e173M : TinyExpressionP4Parser::e173C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4572:4591:body/0/ruleRef", false, false, "node", false, K4); } private static Match e173C(Session s, Frame f) { return parseAnnotationParameter_18(s, f); @@ -2783,7 +3120,7 @@ private static Match e173M(Session s, Frame f) { } private static Match e174(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e174M(s, f) : e174C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e174M : TinyExpressionP4Parser::e174C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4606:4633:body/1/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e174M : TinyExpressionP4Parser::e174C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4592:4619:body/1/repeat", true, false, "node", true, K404); } private static Match e174C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e175, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -2794,27 +3131,27 @@ private static Match e174M(Session s, Frame f) { private static Match e175(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e175M(s, f) : e175C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e175M : TinyExpressionP4Parser::e175C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4608:4631:body/1/0/seq", false, false, "node", false, K390); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e175M : TinyExpressionP4Parser::e175C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4594:4617:body/1/0/seq", false, false, "node", false, K405); } private static Match e175C(Session s, Frame f) { - return s.sequence(f, K391, K260); + return s.sequence(f, K406, K271); } private static Match e175M(Session s, Frame f) { - return s.sequence(f, K391, K260); + return s.sequence(f, K406, K271); } private static Match e176(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e176M(s, f) : e176C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e176M : TinyExpressionP4Parser::e176C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4608:4611:body/1/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e176M : TinyExpressionP4Parser::e176C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4594:4597:body/1/0/0/literal", false, true, "text", false, K404); } private static Match e176C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e176M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e177(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e177M(s, f) : e177C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e177M : TinyExpressionP4Parser::e177C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4612:4631:body/1/0/1/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e177M : TinyExpressionP4Parser::e177C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4598:4617:body/1/0/1/ruleRef", false, false, "node", false, K4); } private static Match e177C(Session s, Frame f) { return parseAnnotationParameter_18(s, f); @@ -2825,37 +3162,37 @@ private static Match e177M(Session s, Frame f) { private static Match e178(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e178M(s, f) : e178C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e178M : TinyExpressionP4Parser::e178C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4662:4687:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e178M : TinyExpressionP4Parser::e178C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4648:4673:body/seq", false, false, "node", false, K4); } private static Match e178C(Session s, Frame f) { - return s.sequence(f, K393, K248); + return s.sequence(f, K408, K251); } private static Match e178M(Session s, Frame f) { - return s.sequence(f, K393, K248); + return s.sequence(f, K408, K251); } private static Match e179(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e179M(s, f) : e179C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e179M : TinyExpressionP4Parser::e179C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4662:4672:body/0/tokenRef", false, true, "text", false, K383); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e179M : TinyExpressionP4Parser::e179C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4648:4658:body/0/tokenRef", false, true, "text", false, K398); } private static Match e179C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e179M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e180(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e180M(s, f) : e180C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e180M : TinyExpressionP4Parser::e180C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4673:4676:body/1/literal", false, true, "text", false, K32); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e180M : TinyExpressionP4Parser::e180C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4659:4662:body/1/literal", false, true, "text", false, K32); } private static Match e180C(Session s, Frame f) { - return s.literal(f, "=", true, false, K377); + return s.literal(f, "=", true, false, K389); } private static Match e180M(Session s, Frame f) { - return s.literal(f, "=", true, false, K377); + return s.literal(f, "=", true, false, K389); } private static Match e181(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e181M(s, f) : e181C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e181M : TinyExpressionP4Parser::e181C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4677:4687:body/2/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e181M : TinyExpressionP4Parser::e181C, K216, K216, K216, K217, K217, "TinyExpressionP4::AnnotationParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4663:4673:body/2/ruleRef", false, false, "node", false, K4); } private static Match e181C(Session s, Frame f) { return parseExpression_123(s, f); @@ -2865,17 +3202,17 @@ private static Match e181M(Session s, Frame f) { } private static Match e182(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e182M(s, f) : e182C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e182M : TinyExpressionP4Parser::e182C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4721:4835:body/choice", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e182M : TinyExpressionP4Parser::e182C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4707:4821:body/choice", false, false, "node", false, K4); } private static Match e182C(Session s, Frame f) { - return s.choice(f,K394,false,null,false); + return s.choice(f,K409,false,null,false); } private static Match e182M(Session s, Frame f) { - return s.choice(f,K394,false,null,false); + return s.choice(f,K409,false,null,false); } private static Match e183(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e183M(s, f) : e183C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e183M : TinyExpressionP4Parser::e183C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4721:4744:body/0/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e183M : TinyExpressionP4Parser::e183C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4707:4730:body/0/ruleRef", false, false, "node", false, K4); } private static Match e183C(Session s, Frame f) { return parseNumberMethodDeclaration_20(s, f); @@ -2885,7 +3222,7 @@ private static Match e183M(Session s, Frame f) { } private static Match e184(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e184M(s, f) : e184C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e184M : TinyExpressionP4Parser::e184C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4751:4774:body/1/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e184M : TinyExpressionP4Parser::e184C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4737:4760:body/1/ruleRef", false, false, "node", false, K4); } private static Match e184C(Session s, Frame f) { return parseStringMethodDeclaration_21(s, f); @@ -2895,7 +3232,7 @@ private static Match e184M(Session s, Frame f) { } private static Match e185(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e185M(s, f) : e185C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e185M : TinyExpressionP4Parser::e185C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4781:4805:body/2/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e185M : TinyExpressionP4Parser::e185C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4767:4791:body/2/ruleRef", false, false, "node", false, K4); } private static Match e185C(Session s, Frame f) { return parseBooleanMethodDeclaration_22(s, f); @@ -2905,7 +3242,7 @@ private static Match e185M(Session s, Frame f) { } private static Match e186(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e186M(s, f) : e186C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e186M : TinyExpressionP4Parser::e186C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4812:4835:body/3/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e186M : TinyExpressionP4Parser::e186C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:4798:4821:body/3/ruleRef", false, false, "node", false, K4); } private static Match e186C(Session s, Frame f) { return parseObjectMethodDeclaration_23(s, f); @@ -2916,17 +3253,17 @@ private static Match e186M(Session s, Frame f) { private static Match e187(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e187M(s, f) : e187C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e187M : TinyExpressionP4Parser::e187C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5016:5161:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e187M : TinyExpressionP4Parser::e187C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5002:5147:body/seq", false, false, "node", true, K4); } private static Match e187C(Session s, Frame f) { - return s.sequence(f, K397, K396); + return s.sequence(f, K412, K411); } private static Match e187M(Session s, Frame f) { - return s.sequence(f, K397, K396); + return s.sequence(f, K412, K411); } private static Match e188(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e188M(s, f) : e188C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e188M : TinyExpressionP4Parser::e188C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5016:5032:body/0/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e188M : TinyExpressionP4Parser::e188C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5002:5018:body/0/ruleRef", false, false, "text", false, K4); } private static Match e188C(Session s, Frame f) { return parseNumberReturnType_26(s, f); @@ -2935,27 +3272,27 @@ private static Match e188M(Session s, Frame f) { return parseNumberReturnType_26(s, f); } private static Match e189(Session s, Frame f) { - return s.capture(f, f.matched ? TinyExpressionP4Parser::e189M : TinyExpressionP4Parser::e189C, K398, K399, K225, K226, K303, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5033:5043:body/1/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e189M : TinyExpressionP4Parser::e189C, K413, K414, K225, K226, K315, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5019:5029:body/1/tokenRef", false, true, "text", false, K276); } private static Match e189C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e189M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e190(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e190M(s, f) : e190C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e190M : TinyExpressionP4Parser::e190C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5060:5063:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e190M : TinyExpressionP4Parser::e190C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5046:5049:body/2/literal", false, true, "text", false, K399); } private static Match e190C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e190M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e191(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e191M(s, f) : e191C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e191M : TinyExpressionP4Parser::e191C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5070:5102:body/3/optional", true, false, "node", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e191M : TinyExpressionP4Parser::e191C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5056:5088:body/3/optional", true, false, "node", false, K316); } private static Match e191C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e192); @@ -2965,7 +3302,7 @@ private static Match e191M(Session s, Frame f) { } private static Match e192(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e192M(s, f) : e192C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e192M : TinyExpressionP4Parser::e192C, K400, K401, K225, K226, K226, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5072:5088:body/3/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e192M : TinyExpressionP4Parser::e192C, K415, K416, K225, K226, K226, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5058:5074:body/3/0/ruleRef", false, false, "node", false, K227); } private static Match e192C(Session s, Frame f) { return parseMethodParameters_24(s, f); @@ -2975,27 +3312,27 @@ private static Match e192M(Session s, Frame f) { } private static Match e193(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e193M(s, f) : e193C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e193M : TinyExpressionP4Parser::e193C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5107:5110:body/4/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e193M : TinyExpressionP4Parser::e193C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5093:5096:body/4/literal", false, true, "text", false, K401); } private static Match e193C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e193M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e194(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e194M(s, f) : e194C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e194M : TinyExpressionP4Parser::e194C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5115:5118:body/5/literal", false, true, "text", false, K402); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e194M : TinyExpressionP4Parser::e194C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5101:5104:body/5/literal", false, true, "text", false, K417); } private static Match e194C(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e194M(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e195(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e195M(s, f) : e195C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e195M : TinyExpressionP4Parser::e195C, K404, K233, K225, K226, K226, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5125:5141:body/6/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e195M : TinyExpressionP4Parser::e195C, K419, K233, K225, K226, K226, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5111:5127:body/6/ruleRef", false, false, "node", false, K227); } private static Match e195C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -3005,28 +3342,28 @@ private static Match e195M(Session s, Frame f) { } private static Match e196(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e196M(s, f) : e196C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e196M : TinyExpressionP4Parser::e196C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5158:5161:body/7/literal", false, true, "text", false, K405); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e196M : TinyExpressionP4Parser::e196C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5144:5147:body/7/literal", false, true, "text", false, K420); } private static Match e196C(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e196M(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e197(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e197M(s, f) : e197C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e197M : TinyExpressionP4Parser::e197C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5342:5487:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e197M : TinyExpressionP4Parser::e197C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5328:5473:body/seq", false, false, "node", true, K4); } private static Match e197C(Session s, Frame f) { - return s.sequence(f, K407, K396); + return s.sequence(f, K422, K411); } private static Match e197M(Session s, Frame f) { - return s.sequence(f, K407, K396); + return s.sequence(f, K422, K411); } private static Match e198(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e198M(s, f) : e198C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e198M : TinyExpressionP4Parser::e198C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5342:5358:body/0/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e198M : TinyExpressionP4Parser::e198C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5328:5344:body/0/ruleRef", false, false, "text", false, K4); } private static Match e198C(Session s, Frame f) { return parseStringReturnType_27(s, f); @@ -3035,27 +3372,27 @@ private static Match e198M(Session s, Frame f) { return parseStringReturnType_27(s, f); } private static Match e199(Session s, Frame f) { - return s.capture(f, f.matched ? TinyExpressionP4Parser::e199M : TinyExpressionP4Parser::e199C, K408, K399, K225, K226, K303, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5359:5369:body/1/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e199M : TinyExpressionP4Parser::e199C, K423, K414, K225, K226, K315, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5345:5355:body/1/tokenRef", false, true, "text", false, K276); } private static Match e199C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e199M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e200(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e200M(s, f) : e200C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e200M : TinyExpressionP4Parser::e200C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5386:5389:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e200M : TinyExpressionP4Parser::e200C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5372:5375:body/2/literal", false, true, "text", false, K399); } private static Match e200C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e200M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e201(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e201M(s, f) : e201C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e201M : TinyExpressionP4Parser::e201C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5396:5428:body/3/optional", true, false, "node", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e201M : TinyExpressionP4Parser::e201C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5382:5414:body/3/optional", true, false, "node", false, K316); } private static Match e201C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e202); @@ -3065,7 +3402,7 @@ private static Match e201M(Session s, Frame f) { } private static Match e202(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e202M(s, f) : e202C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e202M : TinyExpressionP4Parser::e202C, K409, K401, K225, K226, K226, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5398:5414:body/3/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e202M : TinyExpressionP4Parser::e202C, K424, K416, K225, K226, K226, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5384:5400:body/3/0/ruleRef", false, false, "node", false, K227); } private static Match e202C(Session s, Frame f) { return parseMethodParameters_24(s, f); @@ -3075,27 +3412,27 @@ private static Match e202M(Session s, Frame f) { } private static Match e203(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e203M(s, f) : e203C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e203M : TinyExpressionP4Parser::e203C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5433:5436:body/4/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e203M : TinyExpressionP4Parser::e203C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5419:5422:body/4/literal", false, true, "text", false, K401); } private static Match e203C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e203M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e204(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e204M(s, f) : e204C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e204M : TinyExpressionP4Parser::e204C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5441:5444:body/5/literal", false, true, "text", false, K402); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e204M : TinyExpressionP4Parser::e204C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5427:5430:body/5/literal", false, true, "text", false, K417); } private static Match e204C(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e204M(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e205(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e205M(s, f) : e205C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e205M : TinyExpressionP4Parser::e205C, K410, K233, K225, K226, K226, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5451:5467:body/6/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e205M : TinyExpressionP4Parser::e205C, K425, K233, K225, K226, K226, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5437:5453:body/6/ruleRef", false, false, "node", false, K227); } private static Match e205C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -3105,28 +3442,28 @@ private static Match e205M(Session s, Frame f) { } private static Match e206(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e206M(s, f) : e206C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e206M : TinyExpressionP4Parser::e206C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5484:5487:body/7/literal", false, true, "text", false, K405); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e206M : TinyExpressionP4Parser::e206C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5470:5473:body/7/literal", false, true, "text", false, K420); } private static Match e206C(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e206M(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e207(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e207M(s, f) : e207C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e207M : TinyExpressionP4Parser::e207C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5670:5817:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e207M : TinyExpressionP4Parser::e207C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5656:5803:body/seq", false, false, "node", true, K4); } private static Match e207C(Session s, Frame f) { - return s.sequence(f, K411, K396); + return s.sequence(f, K426, K411); } private static Match e207M(Session s, Frame f) { - return s.sequence(f, K411, K396); + return s.sequence(f, K426, K411); } private static Match e208(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e208M(s, f) : e208C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e208M : TinyExpressionP4Parser::e208C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5670:5687:body/0/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e208M : TinyExpressionP4Parser::e208C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5656:5673:body/0/ruleRef", false, false, "text", false, K4); } private static Match e208C(Session s, Frame f) { return parseBooleanReturnType_28(s, f); @@ -3135,27 +3472,27 @@ private static Match e208M(Session s, Frame f) { return parseBooleanReturnType_28(s, f); } private static Match e209(Session s, Frame f) { - return s.capture(f, f.matched ? TinyExpressionP4Parser::e209M : TinyExpressionP4Parser::e209C, K412, K399, K225, K226, K303, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5688:5698:body/1/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e209M : TinyExpressionP4Parser::e209C, K427, K414, K225, K226, K315, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5674:5684:body/1/tokenRef", false, true, "text", false, K276); } private static Match e209C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e209M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e210(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e210M(s, f) : e210C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e210M : TinyExpressionP4Parser::e210C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5715:5718:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e210M : TinyExpressionP4Parser::e210C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5701:5704:body/2/literal", false, true, "text", false, K399); } private static Match e210C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e210M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e211(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e211M(s, f) : e211C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e211M : TinyExpressionP4Parser::e211C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5725:5757:body/3/optional", true, false, "node", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e211M : TinyExpressionP4Parser::e211C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5711:5743:body/3/optional", true, false, "node", false, K316); } private static Match e211C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e212); @@ -3165,7 +3502,7 @@ private static Match e211M(Session s, Frame f) { } private static Match e212(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e212M(s, f) : e212C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e212M : TinyExpressionP4Parser::e212C, K413, K401, K225, K226, K226, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5727:5743:body/3/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e212M : TinyExpressionP4Parser::e212C, K428, K416, K225, K226, K226, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5713:5729:body/3/0/ruleRef", false, false, "node", false, K227); } private static Match e212C(Session s, Frame f) { return parseMethodParameters_24(s, f); @@ -3175,27 +3512,27 @@ private static Match e212M(Session s, Frame f) { } private static Match e213(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e213M(s, f) : e213C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e213M : TinyExpressionP4Parser::e213C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5762:5765:body/4/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e213M : TinyExpressionP4Parser::e213C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5748:5751:body/4/literal", false, true, "text", false, K401); } private static Match e213C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e213M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e214(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e214M(s, f) : e214C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e214M : TinyExpressionP4Parser::e214C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5770:5773:body/5/literal", false, true, "text", false, K402); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e214M : TinyExpressionP4Parser::e214C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5756:5759:body/5/literal", false, true, "text", false, K417); } private static Match e214C(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e214M(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e215(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e215M(s, f) : e215C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e215M : TinyExpressionP4Parser::e215C, K414, K233, K225, K226, K226, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5780:5797:body/6/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e215M : TinyExpressionP4Parser::e215C, K429, K233, K225, K226, K226, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5766:5783:body/6/ruleRef", false, false, "node", false, K227); } private static Match e215C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -3205,28 +3542,28 @@ private static Match e215M(Session s, Frame f) { } private static Match e216(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e216M(s, f) : e216C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e216M : TinyExpressionP4Parser::e216C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5814:5817:body/7/literal", false, true, "text", false, K405); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e216M : TinyExpressionP4Parser::e216C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5800:5803:body/7/literal", false, true, "text", false, K420); } private static Match e216C(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e216M(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e217(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e217M(s, f) : e217C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e217M : TinyExpressionP4Parser::e217C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5998:6143:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e217M : TinyExpressionP4Parser::e217C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5984:6129:body/seq", false, false, "node", true, K4); } private static Match e217C(Session s, Frame f) { - return s.sequence(f, K415, K396); + return s.sequence(f, K430, K411); } private static Match e217M(Session s, Frame f) { - return s.sequence(f, K415, K396); + return s.sequence(f, K430, K411); } private static Match e218(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e218M(s, f) : e218C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e218M : TinyExpressionP4Parser::e218C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5998:6014:body/0/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e218M : TinyExpressionP4Parser::e218C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5984:6000:body/0/ruleRef", false, false, "text", false, K4); } private static Match e218C(Session s, Frame f) { return parseObjectReturnType_29(s, f); @@ -3235,27 +3572,27 @@ private static Match e218M(Session s, Frame f) { return parseObjectReturnType_29(s, f); } private static Match e219(Session s, Frame f) { - return s.capture(f, f.matched ? TinyExpressionP4Parser::e219M : TinyExpressionP4Parser::e219C, K416, K399, K225, K226, K303, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6015:6025:body/1/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e219M : TinyExpressionP4Parser::e219C, K431, K414, K225, K226, K315, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6001:6011:body/1/tokenRef", false, true, "text", false, K276); } private static Match e219C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e219M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e220(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e220M(s, f) : e220C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e220M : TinyExpressionP4Parser::e220C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6042:6045:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e220M : TinyExpressionP4Parser::e220C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6028:6031:body/2/literal", false, true, "text", false, K399); } private static Match e220C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e220M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e221(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e221M(s, f) : e221C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e221M : TinyExpressionP4Parser::e221C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6052:6084:body/3/optional", true, false, "node", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e221M : TinyExpressionP4Parser::e221C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6038:6070:body/3/optional", true, false, "node", false, K316); } private static Match e221C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e222); @@ -3265,7 +3602,7 @@ private static Match e221M(Session s, Frame f) { } private static Match e222(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e222M(s, f) : e222C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e222M : TinyExpressionP4Parser::e222C, K417, K401, K225, K226, K226, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6054:6070:body/3/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e222M : TinyExpressionP4Parser::e222C, K432, K416, K225, K226, K226, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6040:6056:body/3/0/ruleRef", false, false, "node", false, K227); } private static Match e222C(Session s, Frame f) { return parseMethodParameters_24(s, f); @@ -3275,27 +3612,27 @@ private static Match e222M(Session s, Frame f) { } private static Match e223(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e223M(s, f) : e223C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e223M : TinyExpressionP4Parser::e223C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6089:6092:body/4/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e223M : TinyExpressionP4Parser::e223C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6075:6078:body/4/literal", false, true, "text", false, K401); } private static Match e223C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e223M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e224(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e224M(s, f) : e224C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e224M : TinyExpressionP4Parser::e224C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6097:6100:body/5/literal", false, true, "text", false, K402); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e224M : TinyExpressionP4Parser::e224C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6083:6086:body/5/literal", false, true, "text", false, K417); } private static Match e224C(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e224M(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e225(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e225M(s, f) : e225C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e225M : TinyExpressionP4Parser::e225C, K418, K233, K225, K226, K226, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6107:6123:body/6/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e225M : TinyExpressionP4Parser::e225C, K433, K233, K225, K226, K226, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6093:6109:body/6/ruleRef", false, false, "node", false, K227); } private static Match e225C(Session s, Frame f) { return parseObjectExpression_105(s, f); @@ -3305,28 +3642,28 @@ private static Match e225M(Session s, Frame f) { } private static Match e226(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e226M(s, f) : e226C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e226M : TinyExpressionP4Parser::e226C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6140:6143:body/7/literal", false, true, "text", false, K405); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e226M : TinyExpressionP4Parser::e226C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectMethodDeclaration", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6126:6129:body/7/literal", false, true, "text", false, K420); } private static Match e226C(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e226M(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e227(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e227M(s, f) : e227C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e227M : TinyExpressionP4Parser::e227C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6220:6275:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e227M : TinyExpressionP4Parser::e227C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6206:6261:body/seq", false, false, "node", true, K4); } private static Match e227C(Session s, Frame f) { - return s.sequence(f, K419, K260); + return s.sequence(f, K434, K271); } private static Match e227M(Session s, Frame f) { - return s.sequence(f, K419, K260); + return s.sequence(f, K434, K271); } private static Match e228(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e228M(s, f) : e228C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e228M : TinyExpressionP4Parser::e228C, K420, K421, K225, K226, K226, "TinyExpressionP4::MethodParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6220:6235:body/0/ruleRef", false, false, "node", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e228M : TinyExpressionP4Parser::e228C, K435, K436, K225, K226, K226, "TinyExpressionP4::MethodParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6206:6221:body/0/ruleRef", false, false, "node", false, K50); } private static Match e228C(Session s, Frame f) { return parseMethodParameter_25(s, f); @@ -3336,7 +3673,7 @@ private static Match e228M(Session s, Frame f) { } private static Match e229(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e229M(s, f) : e229C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e229M : TinyExpressionP4Parser::e229C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6244:6275:body/1/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e229M : TinyExpressionP4Parser::e229C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6230:6261:body/1/repeat", true, false, "node", true, K404); } private static Match e229C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e230, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -3347,27 +3684,27 @@ private static Match e229M(Session s, Frame f) { private static Match e230(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e230M(s, f) : e230C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e230M : TinyExpressionP4Parser::e230C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6246:6265:body/1/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e230M : TinyExpressionP4Parser::e230C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6232:6251:body/1/0/seq", false, false, "node", false, K404); } private static Match e230C(Session s, Frame f) { - return s.sequence(f, K422, K260); + return s.sequence(f, K437, K271); } private static Match e230M(Session s, Frame f) { - return s.sequence(f, K422, K260); + return s.sequence(f, K437, K271); } private static Match e231(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e231M(s, f) : e231C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e231M : TinyExpressionP4Parser::e231C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6246:6249:body/1/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e231M : TinyExpressionP4Parser::e231C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6232:6235:body/1/0/0/literal", false, true, "text", false, K404); } private static Match e231C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e231M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e232(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e232M(s, f) : e232C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e232M : TinyExpressionP4Parser::e232C, K423, K421, K225, K226, K226, "TinyExpressionP4::MethodParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6250:6265:body/1/0/1/ruleRef", false, false, "node", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e232M : TinyExpressionP4Parser::e232C, K438, K436, K225, K226, K226, "TinyExpressionP4::MethodParameters", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6236:6251:body/1/0/1/ruleRef", false, false, "node", false, K50); } private static Match e232C(Session s, Frame f) { return parseMethodParameter_25(s, f); @@ -3378,36 +3715,36 @@ private static Match e232M(Session s, Frame f) { private static Match e233(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e233M(s, f) : e233C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e233M : TinyExpressionP4Parser::e233C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6389:6440:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e233M : TinyExpressionP4Parser::e233C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6375:6426:body/seq", false, false, "text", false, K4); } private static Match e233C(Session s, Frame f) { - return s.sequence(f, K424, K248); + return s.sequence(f, K439, K251); } private static Match e233M(Session s, Frame f) { - return s.sequence(f, K424, K248); + return s.sequence(f, K439, K251); } private static Match e234(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e234M(s, f) : e234C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e234M : TinyExpressionP4Parser::e234C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6389:6392:body/0/literal", false, true, "text", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e234M : TinyExpressionP4Parser::e234C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6375:6378:body/0/literal", false, true, "text", false, K50); } private static Match e234C(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e234M(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e235(Session s, Frame f) { - return s.capture(f, f.matched ? TinyExpressionP4Parser::e235M : TinyExpressionP4Parser::e235C, K425, K426, K225, K226, K303, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6393:6403:body/1/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e235M : TinyExpressionP4Parser::e235C, K440, K441, K225, K226, K315, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6379:6389:body/1/tokenRef", false, true, "text", false, K276); } private static Match e235C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e235M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e236(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e236M(s, f) : e236C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e236M : TinyExpressionP4Parser::e236C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6415:6440:body/2/optional", true, false, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e236M : TinyExpressionP4Parser::e236C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6401:6426:body/2/optional", true, false, "text", false, K279); } private static Match e236C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e237); @@ -3418,27 +3755,27 @@ private static Match e236M(Session s, Frame f) { private static Match e237(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e237M(s, f) : e237C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e237M : TinyExpressionP4Parser::e237C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6417:6432:body/2/0/seq", false, false, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e237M : TinyExpressionP4Parser::e237C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6403:6418:body/2/0/seq", false, false, "text", false, K279); } private static Match e237C(Session s, Frame f) { - return s.sequence(f, K427, K260); + return s.sequence(f, K442, K271); } private static Match e237M(Session s, Frame f) { - return s.sequence(f, K427, K260); + return s.sequence(f, K442, K271); } private static Match e238(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e238M(s, f) : e238C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e238M : TinyExpressionP4Parser::e238C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6417:6421:body/2/0/0/literal", false, true, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e238M : TinyExpressionP4Parser::e238C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6403:6407:body/2/0/0/literal", false, true, "text", false, K279); } private static Match e238C(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e238M(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e239(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e239M(s, f) : e239C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e239M : TinyExpressionP4Parser::e239C, K428, K429, K225, K226, K226, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6422:6432:body/2/0/1/ruleRef", false, false, "text", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e239M : TinyExpressionP4Parser::e239C, K443, K444, K225, K226, K226, "TinyExpressionP4::MethodParameter", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6408:6418:body/2/0/1/ruleRef", false, false, "text", false, K227); } private static Match e239C(Session s, Frame f) { return parseReturnType_30(s, f); @@ -3448,110 +3785,110 @@ private static Match e239M(Session s, Frame f) { } private static Match e240(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e240M(s, f) : e240C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e240M : TinyExpressionP4Parser::e240C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6467:6485:body/choice", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e240M : TinyExpressionP4Parser::e240C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6453:6471:body/choice", false, false, "text", false, K4); } private static Match e240C(Session s, Frame f) { - return s.choice(f,K430,false,null,false); + return s.choice(f,K445,false,null,false); } private static Match e240M(Session s, Frame f) { - return s.choice(f,K430,false,null,false); + return s.choice(f,K445,false,null,false); } private static Match e241(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e241M(s, f) : e241C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e241M : TinyExpressionP4Parser::e241C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6467:6475:body/0/literal", false, true, "text", false, K338); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e241M : TinyExpressionP4Parser::e241C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6453:6461:body/0/literal", false, true, "text", false, K350); } private static Match e241C(Session s, Frame f) { - return s.literal(f, "number", true, false, K339); + return s.literal(f, "number", true, false, K351); } private static Match e241M(Session s, Frame f) { - return s.literal(f, "number", true, false, K339); + return s.literal(f, "number", true, false, K351); } private static Match e242(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e242M(s, f) : e242C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e242M : TinyExpressionP4Parser::e242C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6478:6485:body/1/literal", false, true, "text", false, K354); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e242M : TinyExpressionP4Parser::e242C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6464:6471:body/1/literal", false, true, "text", false, K366); } private static Match e242C(Session s, Frame f) { - return s.literal(f, "float", true, false, K355); + return s.literal(f, "float", true, false, K367); } private static Match e242M(Session s, Frame f) { - return s.literal(f, "float", true, false, K355); + return s.literal(f, "float", true, false, K367); } private static Match e243(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e243M(s, f) : e243C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e243M : TinyExpressionP4Parser::e243C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6511:6519:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e243M : TinyExpressionP4Parser::e243C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6497:6505:body/seq", false, false, "text", false, K4); } private static Match e243C(Session s, Frame f) { - return s.sequence(f, K431, K240); + return s.sequence(f, K446, K240); } private static Match e243M(Session s, Frame f) { - return s.sequence(f, K431, K240); + return s.sequence(f, K446, K240); } private static Match e244(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e244M(s, f) : e244C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e244M : TinyExpressionP4Parser::e244C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6511:6519:body/0/literal", false, true, "text", false, K52); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e244M : TinyExpressionP4Parser::e244C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6497:6505:body/0/literal", false, true, "text", false, K52); } private static Match e244C(Session s, Frame f) { - return s.literal(f, "string", true, false, K342); + return s.literal(f, "string", true, false, K354); } private static Match e244M(Session s, Frame f) { - return s.literal(f, "string", true, false, K342); + return s.literal(f, "string", true, false, K354); } private static Match e245(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e245M(s, f) : e245C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e245M : TinyExpressionP4Parser::e245C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6546:6555:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e245M : TinyExpressionP4Parser::e245C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6532:6541:body/seq", false, false, "text", false, K4); } private static Match e245C(Session s, Frame f) { - return s.sequence(f, K432, K240); + return s.sequence(f, K447, K240); } private static Match e245M(Session s, Frame f) { - return s.sequence(f, K432, K240); + return s.sequence(f, K447, K240); } private static Match e246(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e246M(s, f) : e246C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e246M : TinyExpressionP4Parser::e246C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6546:6555:body/0/literal", false, true, "text", false, K53); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e246M : TinyExpressionP4Parser::e246C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6532:6541:body/0/literal", false, true, "text", false, K53); } private static Match e246C(Session s, Frame f) { - return s.literal(f, "boolean", true, false, K345); + return s.literal(f, "boolean", true, false, K357); } private static Match e246M(Session s, Frame f) { - return s.literal(f, "boolean", true, false, K345); + return s.literal(f, "boolean", true, false, K357); } private static Match e247(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e247M(s, f) : e247C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e247M : TinyExpressionP4Parser::e247C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6581:6589:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e247M : TinyExpressionP4Parser::e247C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6567:6575:body/seq", false, false, "text", false, K4); } private static Match e247C(Session s, Frame f) { - return s.sequence(f, K433, K240); + return s.sequence(f, K448, K240); } private static Match e247M(Session s, Frame f) { - return s.sequence(f, K433, K240); + return s.sequence(f, K448, K240); } private static Match e248(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e248M(s, f) : e248C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e248M : TinyExpressionP4Parser::e248C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6581:6589:body/0/literal", false, true, "text", false, K54); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e248M : TinyExpressionP4Parser::e248C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6567:6575:body/0/literal", false, true, "text", false, K54); } private static Match e248C(Session s, Frame f) { - return s.literal(f, "object", true, false, K348); + return s.literal(f, "object", true, false, K360); } private static Match e248M(Session s, Frame f) { - return s.literal(f, "object", true, false, K348); + return s.literal(f, "object", true, false, K360); } private static Match e249(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e249M(s, f) : e249C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e249M : TinyExpressionP4Parser::e249C, K216, K216, K216, K217, K217, "TinyExpressionP4::ReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6609:6683:body/choice", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e249M : TinyExpressionP4Parser::e249C, K216, K216, K216, K217, K217, "TinyExpressionP4::ReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6595:6669:body/choice", false, false, "text", false, K4); } private static Match e249C(Session s, Frame f) { - return s.choice(f,K450,false,null,false,K449); + return s.choice(f,K465,false,null,false,K464); } private static Match e249M(Session s, Frame f) { - return s.choice(f,K450,false,null,false,K449); + return s.choice(f,K465,false,null,false,K464); } private static Match e250(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e250M(s, f) : e250C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e250M : TinyExpressionP4Parser::e250C, K216, K216, K216, K217, K217, "TinyExpressionP4::ReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6609:6625:body/0/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e250M : TinyExpressionP4Parser::e250C, K216, K216, K216, K217, K217, "TinyExpressionP4::ReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6595:6611:body/0/ruleRef", false, false, "text", false, K4); } private static Match e250C(Session s, Frame f) { return parseNumberReturnType_26(s, f); @@ -3561,7 +3898,7 @@ private static Match e250M(Session s, Frame f) { } private static Match e251(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e251M(s, f) : e251C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e251M : TinyExpressionP4Parser::e251C, K216, K216, K216, K217, K217, "TinyExpressionP4::ReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6628:6644:body/1/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e251M : TinyExpressionP4Parser::e251C, K216, K216, K216, K217, K217, "TinyExpressionP4::ReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6614:6630:body/1/ruleRef", false, false, "text", false, K4); } private static Match e251C(Session s, Frame f) { return parseStringReturnType_27(s, f); @@ -3571,7 +3908,7 @@ private static Match e251M(Session s, Frame f) { } private static Match e252(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e252M(s, f) : e252C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e252M : TinyExpressionP4Parser::e252C, K216, K216, K216, K217, K217, "TinyExpressionP4::ReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6647:6664:body/2/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e252M : TinyExpressionP4Parser::e252C, K216, K216, K216, K217, K217, "TinyExpressionP4::ReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6633:6650:body/2/ruleRef", false, false, "text", false, K4); } private static Match e252C(Session s, Frame f) { return parseBooleanReturnType_28(s, f); @@ -3581,7 +3918,7 @@ private static Match e252M(Session s, Frame f) { } private static Match e253(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e253M(s, f) : e253C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e253M : TinyExpressionP4Parser::e253C, K216, K216, K216, K217, K217, "TinyExpressionP4::ReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6667:6683:body/3/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e253M : TinyExpressionP4Parser::e253C, K216, K216, K216, K217, K217, "TinyExpressionP4::ReturnType", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6653:6669:body/3/ruleRef", false, false, "text", false, K4); } private static Match e253C(Session s, Frame f) { return parseObjectReturnType_29(s, f); @@ -3592,27 +3929,27 @@ private static Match e253M(Session s, Frame f) { private static Match e254(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e254M(s, f) : e254C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e254M : TinyExpressionP4Parser::e254C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7009:7175:body/seq", false, false, "mixed", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e254M : TinyExpressionP4Parser::e254C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6995:7161:body/seq", false, false, "mixed", true, K4); } private static Match e254C(Session s, Frame f) { - return s.sequence(f, K451, K396); + return s.sequence(f, K466, K411); } private static Match e254M(Session s, Frame f) { - return s.sequence(f, K451, K396); + return s.sequence(f, K466, K411); } private static Match e255(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e255M(s, f) : e255C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e255M : TinyExpressionP4Parser::e255C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7009:7019:body/0/literal", false, true, "text", false, K452); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e255M : TinyExpressionP4Parser::e255C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6995:7005:body/0/literal", false, true, "text", false, K467); } private static Match e255C(Session s, Frame f) { - return s.literal(f, "external", true, false, K453); + return s.literal(f, "external", true, false, K468); } private static Match e255M(Session s, Frame f) { - return s.literal(f, "external", true, false, K453); + return s.literal(f, "external", true, false, K468); } private static Match e256(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e256M(s, f) : e256C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e256M : TinyExpressionP4Parser::e256C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7020:7044:body/1/optional", true, false, "text", false, K454); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e256M : TinyExpressionP4Parser::e256C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7006:7030:body/1/optional", true, false, "text", false, K469); } private static Match e256C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e257); @@ -3623,27 +3960,27 @@ private static Match e256M(Session s, Frame f) { private static Match e257(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e257M(s, f) : e257C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e257M : TinyExpressionP4Parser::e257C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7022:7042:body/1/0/seq", false, false, "text", false, K455); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e257M : TinyExpressionP4Parser::e257C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7008:7028:body/1/0/seq", false, false, "text", false, K470); } private static Match e257C(Session s, Frame f) { - return s.sequence(f, K456, K260); + return s.sequence(f, K471, K271); } private static Match e257M(Session s, Frame f) { - return s.sequence(f, K456, K260); + return s.sequence(f, K471, K271); } private static Match e258(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e258M(s, f) : e258C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e258M : TinyExpressionP4Parser::e258C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7022:7033:body/1/0/0/literal", false, true, "text", false, K454); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e258M : TinyExpressionP4Parser::e258C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7008:7019:body/1/0/0/literal", false, true, "text", false, K469); } private static Match e258C(Session s, Frame f) { - return s.literal(f, "returning", true, false, K457); + return s.literal(f, "returning", true, false, K472); } private static Match e258M(Session s, Frame f) { - return s.literal(f, "returning", true, false, K457); + return s.literal(f, "returning", true, false, K472); } private static Match e259(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e259M(s, f) : e259C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e259M : TinyExpressionP4Parser::e259C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7034:7042:body/1/0/1/optional", true, false, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e259M : TinyExpressionP4Parser::e259C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7020:7028:body/1/0/1/optional", true, false, "text", false, K279); } private static Match e259C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e260); @@ -3653,17 +3990,17 @@ private static Match e259M(Session s, Frame f) { } private static Match e260(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e260M(s, f) : e260C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e260M : TinyExpressionP4Parser::e260C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7036:7040:body/1/0/1/0/literal", false, true, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e260M : TinyExpressionP4Parser::e260C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7022:7026:body/1/0/1/0/literal", false, true, "text", false, K279); } private static Match e260C(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e260M(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e261(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e261M(s, f) : e261C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e261M : TinyExpressionP4Parser::e261C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7045:7062:body/2/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e261M : TinyExpressionP4Parser::e261C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7031:7048:body/2/ruleRef", false, false, "text", false, K4); } private static Match e261C(Session s, Frame f) { return parseBooleanReturnType_28(s, f); @@ -3673,7 +4010,7 @@ private static Match e261M(Session s, Frame f) { } private static Match e262(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e262M(s, f) : e262C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e262M : TinyExpressionP4Parser::e262C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7067:7074:body/3/optional", true, false, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e262M : TinyExpressionP4Parser::e262C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7053:7060:body/3/optional", true, false, "text", false, K473); } private static Match e262C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e263); @@ -3683,17 +4020,17 @@ private static Match e262M(Session s, Frame f) { } private static Match e263(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e263M(s, f) : e263C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e263M : TinyExpressionP4Parser::e263C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7069:7072:body/3/0/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e263M : TinyExpressionP4Parser::e263C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7055:7058:body/3/0/literal", false, true, "text", false, K473); } private static Match e263C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e263M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e264(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e264M(s, f) : e264C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e264M : TinyExpressionP4Parser::e264C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7079:7143:body/4/group", false, false, "mixed", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e264M : TinyExpressionP4Parser::e264C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7065:7129:body/4/group", false, false, "mixed", false, K269); } private static Match e264C(Session s, Frame f) { return e265(s, f); @@ -3703,28 +4040,28 @@ private static Match e264M(Session s, Frame f) { } private static Match e265(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e265M(s, f) : e265C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e265M : TinyExpressionP4Parser::e265C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7081:7135:body/4/0/choice", false, false, "mixed", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e265M : TinyExpressionP4Parser::e265C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7067:7121:body/4/0/choice", false, false, "mixed", false, K269); } private static Match e265C(Session s, Frame f) { - return s.choice(f,K460,false,null,false); + return s.choice(f,K475,false,null,false); } private static Match e265M(Session s, Frame f) { - return s.choice(f,K460,false,null,false); + return s.choice(f,K475,false,null,false); } private static Match e266(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e266M(s, f) : e266C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e266M : TinyExpressionP4Parser::e266C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7081:7116:body/4/0/0/seq", false, false, "node", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e266M : TinyExpressionP4Parser::e266C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7067:7102:body/4/0/0/seq", false, false, "node", false, K269); } private static Match e266C(Session s, Frame f) { - return s.sequence(f, K461, K248); + return s.sequence(f, K476, K251); } private static Match e266M(Session s, Frame f) { - return s.sequence(f, K461, K248); + return s.sequence(f, K476, K251); } private static Match e267(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e267M(s, f) : e267C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e267M : TinyExpressionP4Parser::e267C, K462, K257, K225, K226, K226, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7081:7090:body/4/0/0/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e267M : TinyExpressionP4Parser::e267C, K477, K268, K225, K226, K226, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7067:7076:body/4/0/0/0/ruleRef", false, false, "node", false, K227); } private static Match e267C(Session s, Frame f) { return parseClassName_3(s, f); @@ -3734,47 +4071,47 @@ private static Match e267M(Session s, Frame f) { } private static Match e268(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e268M(s, f) : e268C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e268M : TinyExpressionP4Parser::e268C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7102:7105:body/4/0/0/1/literal", false, true, "text", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e268M : TinyExpressionP4Parser::e268C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7088:7091:body/4/0/0/1/literal", false, true, "text", false, K269); } private static Match e268C(Session s, Frame f) { - return s.literal(f, "#", true, false, K262); + return s.literal(f, "#", true, false, K273); } private static Match e268M(Session s, Frame f) { - return s.literal(f, "#", true, false, K262); + return s.literal(f, "#", true, false, K273); } private static Match e269(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e269M(s, f) : e269C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e269M : TinyExpressionP4Parser::e269C, K463, K464, K225, K226, K226, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7106:7116:body/4/0/0/2/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e269M : TinyExpressionP4Parser::e269C, K478, K479, K225, K226, K226, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7092:7102:body/4/0/0/2/tokenRef", false, true, "text", false, K276); } private static Match e269C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e269M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e270(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e270M(s, f) : e270C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e270M : TinyExpressionP4Parser::e270C, K465, K464, K225, K226, K226, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7125:7135:body/4/0/1/tokenRef", false, true, "textAlternative", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e270M : TinyExpressionP4Parser::e270C, K480, K479, K225, K226, K226, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7111:7121:body/4/0/1/tokenRef", false, true, "textAlternative", false, K276); } private static Match e270C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e270M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e271(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e271M(s, f) : e271C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e271M : TinyExpressionP4Parser::e271C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7148:7151:body/5/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e271M : TinyExpressionP4Parser::e271C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7134:7137:body/5/literal", false, true, "text", false, K399); } private static Match e271C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e271M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e272(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e272M(s, f) : e272C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e272M : TinyExpressionP4Parser::e272C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7152:7171:body/6/optional", true, false, "node", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e272M : TinyExpressionP4Parser::e272C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7138:7157:body/6/optional", true, false, "node", false, K316); } private static Match e272C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e273); @@ -3784,7 +4121,7 @@ private static Match e272M(Session s, Frame f) { } private static Match e273(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e273M(s, f) : e273C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e273M : TinyExpressionP4Parser::e273C, K466, K467, K225, K226, K226, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7154:7163:body/6/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e273M : TinyExpressionP4Parser::e273C, K481, K482, K225, K226, K226, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7140:7149:body/6/0/ruleRef", false, false, "node", false, K227); } private static Match e273C(Session s, Frame f) { return parseArguments_39(s, f); @@ -3794,38 +4131,38 @@ private static Match e273M(Session s, Frame f) { } private static Match e274(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e274M(s, f) : e274C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e274M : TinyExpressionP4Parser::e274C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7172:7175:body/7/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e274M : TinyExpressionP4Parser::e274C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalBooleanInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7158:7161:body/7/literal", false, true, "text", false, K401); } private static Match e274C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e274M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e275(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e275M(s, f) : e275C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e275M : TinyExpressionP4Parser::e275C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7287:7466:body/seq", false, false, "mixed", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e275M : TinyExpressionP4Parser::e275C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7273:7452:body/seq", false, false, "mixed", true, K4); } private static Match e275C(Session s, Frame f) { - return s.sequence(f, K468, K252); + return s.sequence(f, K483, K263); } private static Match e275M(Session s, Frame f) { - return s.sequence(f, K468, K252); + return s.sequence(f, K483, K263); } private static Match e276(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e276M(s, f) : e276C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e276M : TinyExpressionP4Parser::e276C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7287:7297:body/0/literal", false, true, "text", false, K452); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e276M : TinyExpressionP4Parser::e276C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7273:7283:body/0/literal", false, true, "text", false, K467); } private static Match e276C(Session s, Frame f) { - return s.literal(f, "external", true, false, K453); + return s.literal(f, "external", true, false, K468); } private static Match e276M(Session s, Frame f) { - return s.literal(f, "external", true, false, K453); + return s.literal(f, "external", true, false, K468); } private static Match e277(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e277M(s, f) : e277C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e277M : TinyExpressionP4Parser::e277C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7302:7365:body/1/group", false, false, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e277M : TinyExpressionP4Parser::e277C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7288:7351:body/1/group", false, false, "text", false, K473); } private static Match e277C(Session s, Frame f) { return e278(s, f); @@ -3835,28 +4172,28 @@ private static Match e277M(Session s, Frame f) { } private static Match e278(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e278M(s, f) : e278C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e278M : TinyExpressionP4Parser::e278C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7304:7363:body/1/0/choice", false, false, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e278M : TinyExpressionP4Parser::e278C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7290:7349:body/1/0/choice", false, false, "text", false, K473); } private static Match e278C(Session s, Frame f) { - return s.choice(f,K469,false,null,false); + return s.choice(f,K484,false,null,false); } private static Match e278M(Session s, Frame f) { - return s.choice(f,K469,false,null,false); + return s.choice(f,K484,false,null,false); } private static Match e279(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e279M(s, f) : e279C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e279M : TinyExpressionP4Parser::e279C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7304:7353:body/1/0/0/seq", false, false, "text", false, K470); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e279M : TinyExpressionP4Parser::e279C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7290:7339:body/1/0/0/seq", false, false, "text", false, K485); } private static Match e279C(Session s, Frame f) { - return s.sequence(f, K471, K248); + return s.sequence(f, K486, K251); } private static Match e279M(Session s, Frame f) { - return s.sequence(f, K471, K248); + return s.sequence(f, K486, K251); } private static Match e280(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e280M(s, f) : e280C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e280M : TinyExpressionP4Parser::e280C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7304:7328:body/1/0/0/0/optional", true, false, "text", false, K454); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e280M : TinyExpressionP4Parser::e280C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7290:7314:body/1/0/0/0/optional", true, false, "text", false, K469); } private static Match e280C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e281); @@ -3867,27 +4204,27 @@ private static Match e280M(Session s, Frame f) { private static Match e281(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e281M(s, f) : e281C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e281M : TinyExpressionP4Parser::e281C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7306:7326:body/1/0/0/0/0/seq", false, false, "text", false, K455); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e281M : TinyExpressionP4Parser::e281C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7292:7312:body/1/0/0/0/0/seq", false, false, "text", false, K470); } private static Match e281C(Session s, Frame f) { - return s.sequence(f, K472, K260); + return s.sequence(f, K487, K271); } private static Match e281M(Session s, Frame f) { - return s.sequence(f, K472, K260); + return s.sequence(f, K487, K271); } private static Match e282(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e282M(s, f) : e282C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e282M : TinyExpressionP4Parser::e282C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7306:7317:body/1/0/0/0/0/0/literal", false, true, "text", false, K454); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e282M : TinyExpressionP4Parser::e282C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7292:7303:body/1/0/0/0/0/0/literal", false, true, "text", false, K469); } private static Match e282C(Session s, Frame f) { - return s.literal(f, "returning", true, false, K457); + return s.literal(f, "returning", true, false, K472); } private static Match e282M(Session s, Frame f) { - return s.literal(f, "returning", true, false, K457); + return s.literal(f, "returning", true, false, K472); } private static Match e283(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e283M(s, f) : e283C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e283M : TinyExpressionP4Parser::e283C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7318:7326:body/1/0/0/0/0/1/optional", true, false, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e283M : TinyExpressionP4Parser::e283C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7304:7312:body/1/0/0/0/0/1/optional", true, false, "text", false, K279); } private static Match e283C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e284); @@ -3897,17 +4234,17 @@ private static Match e283M(Session s, Frame f) { } private static Match e284(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e284M(s, f) : e284C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e284M : TinyExpressionP4Parser::e284C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7320:7324:body/1/0/0/0/0/1/0/literal", false, true, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e284M : TinyExpressionP4Parser::e284C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7306:7310:body/1/0/0/0/0/1/0/literal", false, true, "text", false, K279); } private static Match e284C(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e284M(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e285(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e285M(s, f) : e285C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e285M : TinyExpressionP4Parser::e285C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7329:7345:body/1/0/0/1/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e285M : TinyExpressionP4Parser::e285C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7315:7331:body/1/0/0/1/ruleRef", false, false, "text", false, K4); } private static Match e285C(Session s, Frame f) { return parseNumberReturnType_26(s, f); @@ -3917,7 +4254,7 @@ private static Match e285M(Session s, Frame f) { } private static Match e286(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e286M(s, f) : e286C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e286M : TinyExpressionP4Parser::e286C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7346:7353:body/1/0/0/2/optional", true, false, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e286M : TinyExpressionP4Parser::e286C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7332:7339:body/1/0/0/2/optional", true, false, "text", false, K473); } private static Match e286C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e287); @@ -3927,17 +4264,17 @@ private static Match e286M(Session s, Frame f) { } private static Match e287(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e287M(s, f) : e287C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e287M : TinyExpressionP4Parser::e287C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7348:7351:body/1/0/0/2/0/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e287M : TinyExpressionP4Parser::e287C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7334:7337:body/1/0/0/2/0/literal", false, true, "text", false, K473); } private static Match e287C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e287M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e288(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e288M(s, f) : e288C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e288M : TinyExpressionP4Parser::e288C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7356:7363:body/1/0/1/optional", true, false, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e288M : TinyExpressionP4Parser::e288C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7342:7349:body/1/0/1/optional", true, false, "text", false, K473); } private static Match e288C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e289); @@ -3947,17 +4284,17 @@ private static Match e288M(Session s, Frame f) { } private static Match e289(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e289M(s, f) : e289C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e289M : TinyExpressionP4Parser::e289C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7358:7361:body/1/0/1/0/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e289M : TinyExpressionP4Parser::e289C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7344:7347:body/1/0/1/0/literal", false, true, "text", false, K473); } private static Match e289C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e289M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e290(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e290M(s, f) : e290C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e290M : TinyExpressionP4Parser::e290C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7370:7434:body/2/group", false, false, "mixed", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e290M : TinyExpressionP4Parser::e290C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7356:7420:body/2/group", false, false, "mixed", false, K269); } private static Match e290C(Session s, Frame f) { return e291(s, f); @@ -3967,28 +4304,28 @@ private static Match e290M(Session s, Frame f) { } private static Match e291(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e291M(s, f) : e291C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e291M : TinyExpressionP4Parser::e291C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7372:7426:body/2/0/choice", false, false, "mixed", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e291M : TinyExpressionP4Parser::e291C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7358:7412:body/2/0/choice", false, false, "mixed", false, K269); } private static Match e291C(Session s, Frame f) { - return s.choice(f,K473,false,null,false); + return s.choice(f,K488,false,null,false); } private static Match e291M(Session s, Frame f) { - return s.choice(f,K473,false,null,false); + return s.choice(f,K488,false,null,false); } private static Match e292(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e292M(s, f) : e292C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e292M : TinyExpressionP4Parser::e292C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7372:7407:body/2/0/0/seq", false, false, "node", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e292M : TinyExpressionP4Parser::e292C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7358:7393:body/2/0/0/seq", false, false, "node", false, K269); } private static Match e292C(Session s, Frame f) { - return s.sequence(f, K474, K248); + return s.sequence(f, K489, K251); } private static Match e292M(Session s, Frame f) { - return s.sequence(f, K474, K248); + return s.sequence(f, K489, K251); } private static Match e293(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e293M(s, f) : e293C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e293M : TinyExpressionP4Parser::e293C, K475, K257, K225, K226, K226, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7372:7381:body/2/0/0/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e293M : TinyExpressionP4Parser::e293C, K490, K268, K225, K226, K226, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7358:7367:body/2/0/0/0/ruleRef", false, false, "node", false, K227); } private static Match e293C(Session s, Frame f) { return parseClassName_3(s, f); @@ -3998,47 +4335,47 @@ private static Match e293M(Session s, Frame f) { } private static Match e294(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e294M(s, f) : e294C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e294M : TinyExpressionP4Parser::e294C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7393:7396:body/2/0/0/1/literal", false, true, "text", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e294M : TinyExpressionP4Parser::e294C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7379:7382:body/2/0/0/1/literal", false, true, "text", false, K269); } private static Match e294C(Session s, Frame f) { - return s.literal(f, "#", true, false, K262); + return s.literal(f, "#", true, false, K273); } private static Match e294M(Session s, Frame f) { - return s.literal(f, "#", true, false, K262); + return s.literal(f, "#", true, false, K273); } private static Match e295(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e295M(s, f) : e295C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e295M : TinyExpressionP4Parser::e295C, K476, K464, K225, K226, K226, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7397:7407:body/2/0/0/2/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e295M : TinyExpressionP4Parser::e295C, K491, K479, K225, K226, K226, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7383:7393:body/2/0/0/2/tokenRef", false, true, "text", false, K276); } private static Match e295C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e295M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e296(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e296M(s, f) : e296C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e296M : TinyExpressionP4Parser::e296C, K477, K464, K225, K226, K226, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7416:7426:body/2/0/1/tokenRef", false, true, "textAlternative", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e296M : TinyExpressionP4Parser::e296C, K492, K479, K225, K226, K226, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7402:7412:body/2/0/1/tokenRef", false, true, "textAlternative", false, K276); } private static Match e296C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e296M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e297(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e297M(s, f) : e297C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e297M : TinyExpressionP4Parser::e297C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7439:7442:body/3/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e297M : TinyExpressionP4Parser::e297C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7425:7428:body/3/literal", false, true, "text", false, K399); } private static Match e297C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e297M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e298(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e298M(s, f) : e298C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e298M : TinyExpressionP4Parser::e298C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7443:7462:body/4/optional", true, false, "node", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e298M : TinyExpressionP4Parser::e298C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7429:7448:body/4/optional", true, false, "node", false, K316); } private static Match e298C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e299); @@ -4048,7 +4385,7 @@ private static Match e298M(Session s, Frame f) { } private static Match e299(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e299M(s, f) : e299C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e299M : TinyExpressionP4Parser::e299C, K478, K467, K225, K226, K226, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7445:7454:body/4/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e299M : TinyExpressionP4Parser::e299C, K493, K482, K225, K226, K226, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7431:7440:body/4/0/ruleRef", false, false, "node", false, K227); } private static Match e299C(Session s, Frame f) { return parseArguments_39(s, f); @@ -4058,38 +4395,38 @@ private static Match e299M(Session s, Frame f) { } private static Match e300(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e300M(s, f) : e300C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e300M : TinyExpressionP4Parser::e300C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7463:7466:body/5/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e300M : TinyExpressionP4Parser::e300C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalNumberInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7449:7452:body/5/literal", false, true, "text", false, K401); } private static Match e300C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e300M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e301(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e301M(s, f) : e301C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e301M : TinyExpressionP4Parser::e301C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7578:7743:body/seq", false, false, "mixed", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e301M : TinyExpressionP4Parser::e301C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7564:7729:body/seq", false, false, "mixed", true, K4); } private static Match e301C(Session s, Frame f) { - return s.sequence(f, K479, K396); + return s.sequence(f, K494, K411); } private static Match e301M(Session s, Frame f) { - return s.sequence(f, K479, K396); + return s.sequence(f, K494, K411); } private static Match e302(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e302M(s, f) : e302C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e302M : TinyExpressionP4Parser::e302C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7578:7588:body/0/literal", false, true, "text", false, K452); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e302M : TinyExpressionP4Parser::e302C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7564:7574:body/0/literal", false, true, "text", false, K467); } private static Match e302C(Session s, Frame f) { - return s.literal(f, "external", true, false, K453); + return s.literal(f, "external", true, false, K468); } private static Match e302M(Session s, Frame f) { - return s.literal(f, "external", true, false, K453); + return s.literal(f, "external", true, false, K468); } private static Match e303(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e303M(s, f) : e303C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e303M : TinyExpressionP4Parser::e303C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7589:7613:body/1/optional", true, false, "text", false, K454); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e303M : TinyExpressionP4Parser::e303C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7575:7599:body/1/optional", true, false, "text", false, K469); } private static Match e303C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e304); @@ -4100,27 +4437,27 @@ private static Match e303M(Session s, Frame f) { private static Match e304(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e304M(s, f) : e304C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e304M : TinyExpressionP4Parser::e304C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7591:7611:body/1/0/seq", false, false, "text", false, K455); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e304M : TinyExpressionP4Parser::e304C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7577:7597:body/1/0/seq", false, false, "text", false, K470); } private static Match e304C(Session s, Frame f) { - return s.sequence(f, K480, K260); + return s.sequence(f, K495, K271); } private static Match e304M(Session s, Frame f) { - return s.sequence(f, K480, K260); + return s.sequence(f, K495, K271); } private static Match e305(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e305M(s, f) : e305C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e305M : TinyExpressionP4Parser::e305C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7591:7602:body/1/0/0/literal", false, true, "text", false, K454); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e305M : TinyExpressionP4Parser::e305C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7577:7588:body/1/0/0/literal", false, true, "text", false, K469); } private static Match e305C(Session s, Frame f) { - return s.literal(f, "returning", true, false, K457); + return s.literal(f, "returning", true, false, K472); } private static Match e305M(Session s, Frame f) { - return s.literal(f, "returning", true, false, K457); + return s.literal(f, "returning", true, false, K472); } private static Match e306(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e306M(s, f) : e306C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e306M : TinyExpressionP4Parser::e306C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7603:7611:body/1/0/1/optional", true, false, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e306M : TinyExpressionP4Parser::e306C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7589:7597:body/1/0/1/optional", true, false, "text", false, K279); } private static Match e306C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e307); @@ -4130,17 +4467,17 @@ private static Match e306M(Session s, Frame f) { } private static Match e307(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e307M(s, f) : e307C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e307M : TinyExpressionP4Parser::e307C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7605:7609:body/1/0/1/0/literal", false, true, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e307M : TinyExpressionP4Parser::e307C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7591:7595:body/1/0/1/0/literal", false, true, "text", false, K279); } private static Match e307C(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e307M(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e308(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e308M(s, f) : e308C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e308M : TinyExpressionP4Parser::e308C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7614:7630:body/2/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e308M : TinyExpressionP4Parser::e308C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7600:7616:body/2/ruleRef", false, false, "text", false, K4); } private static Match e308C(Session s, Frame f) { return parseStringReturnType_27(s, f); @@ -4150,7 +4487,7 @@ private static Match e308M(Session s, Frame f) { } private static Match e309(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e309M(s, f) : e309C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e309M : TinyExpressionP4Parser::e309C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7635:7642:body/3/optional", true, false, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e309M : TinyExpressionP4Parser::e309C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7621:7628:body/3/optional", true, false, "text", false, K473); } private static Match e309C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e310); @@ -4160,17 +4497,17 @@ private static Match e309M(Session s, Frame f) { } private static Match e310(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e310M(s, f) : e310C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e310M : TinyExpressionP4Parser::e310C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7637:7640:body/3/0/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e310M : TinyExpressionP4Parser::e310C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7623:7626:body/3/0/literal", false, true, "text", false, K473); } private static Match e310C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e310M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e311(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e311M(s, f) : e311C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e311M : TinyExpressionP4Parser::e311C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7647:7711:body/4/group", false, false, "mixed", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e311M : TinyExpressionP4Parser::e311C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7633:7697:body/4/group", false, false, "mixed", false, K269); } private static Match e311C(Session s, Frame f) { return e312(s, f); @@ -4180,28 +4517,28 @@ private static Match e311M(Session s, Frame f) { } private static Match e312(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e312M(s, f) : e312C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e312M : TinyExpressionP4Parser::e312C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7649:7703:body/4/0/choice", false, false, "mixed", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e312M : TinyExpressionP4Parser::e312C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7635:7689:body/4/0/choice", false, false, "mixed", false, K269); } private static Match e312C(Session s, Frame f) { - return s.choice(f,K481,false,null,false); + return s.choice(f,K496,false,null,false); } private static Match e312M(Session s, Frame f) { - return s.choice(f,K481,false,null,false); + return s.choice(f,K496,false,null,false); } private static Match e313(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e313M(s, f) : e313C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e313M : TinyExpressionP4Parser::e313C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7649:7684:body/4/0/0/seq", false, false, "node", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e313M : TinyExpressionP4Parser::e313C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7635:7670:body/4/0/0/seq", false, false, "node", false, K269); } private static Match e313C(Session s, Frame f) { - return s.sequence(f, K482, K248); + return s.sequence(f, K497, K251); } private static Match e313M(Session s, Frame f) { - return s.sequence(f, K482, K248); + return s.sequence(f, K497, K251); } private static Match e314(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e314M(s, f) : e314C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e314M : TinyExpressionP4Parser::e314C, K483, K257, K225, K226, K226, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7649:7658:body/4/0/0/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e314M : TinyExpressionP4Parser::e314C, K498, K268, K225, K226, K226, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7635:7644:body/4/0/0/0/ruleRef", false, false, "node", false, K227); } private static Match e314C(Session s, Frame f) { return parseClassName_3(s, f); @@ -4211,47 +4548,47 @@ private static Match e314M(Session s, Frame f) { } private static Match e315(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e315M(s, f) : e315C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e315M : TinyExpressionP4Parser::e315C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7670:7673:body/4/0/0/1/literal", false, true, "text", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e315M : TinyExpressionP4Parser::e315C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7656:7659:body/4/0/0/1/literal", false, true, "text", false, K269); } private static Match e315C(Session s, Frame f) { - return s.literal(f, "#", true, false, K262); + return s.literal(f, "#", true, false, K273); } private static Match e315M(Session s, Frame f) { - return s.literal(f, "#", true, false, K262); + return s.literal(f, "#", true, false, K273); } private static Match e316(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e316M(s, f) : e316C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e316M : TinyExpressionP4Parser::e316C, K484, K464, K225, K226, K226, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7674:7684:body/4/0/0/2/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e316M : TinyExpressionP4Parser::e316C, K499, K479, K225, K226, K226, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7660:7670:body/4/0/0/2/tokenRef", false, true, "text", false, K276); } private static Match e316C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e316M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e317(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e317M(s, f) : e317C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e317M : TinyExpressionP4Parser::e317C, K485, K464, K225, K226, K226, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7693:7703:body/4/0/1/tokenRef", false, true, "textAlternative", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e317M : TinyExpressionP4Parser::e317C, K500, K479, K225, K226, K226, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7679:7689:body/4/0/1/tokenRef", false, true, "textAlternative", false, K276); } private static Match e317C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e317M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e318(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e318M(s, f) : e318C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e318M : TinyExpressionP4Parser::e318C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7716:7719:body/5/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e318M : TinyExpressionP4Parser::e318C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7702:7705:body/5/literal", false, true, "text", false, K399); } private static Match e318C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e318M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e319(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e319M(s, f) : e319C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e319M : TinyExpressionP4Parser::e319C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7720:7739:body/6/optional", true, false, "node", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e319M : TinyExpressionP4Parser::e319C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7706:7725:body/6/optional", true, false, "node", false, K316); } private static Match e319C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e320); @@ -4261,7 +4598,7 @@ private static Match e319M(Session s, Frame f) { } private static Match e320(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e320M(s, f) : e320C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e320M : TinyExpressionP4Parser::e320C, K486, K467, K225, K226, K226, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7722:7731:body/6/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e320M : TinyExpressionP4Parser::e320C, K501, K482, K225, K226, K226, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7708:7717:body/6/0/ruleRef", false, false, "node", false, K227); } private static Match e320C(Session s, Frame f) { return parseArguments_39(s, f); @@ -4271,38 +4608,38 @@ private static Match e320M(Session s, Frame f) { } private static Match e321(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e321M(s, f) : e321C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e321M : TinyExpressionP4Parser::e321C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7740:7743:body/7/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e321M : TinyExpressionP4Parser::e321C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalStringInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7726:7729:body/7/literal", false, true, "text", false, K401); } private static Match e321C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e321M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e322(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e322M(s, f) : e322C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e322M : TinyExpressionP4Parser::e322C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7855:8020:body/seq", false, false, "mixed", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e322M : TinyExpressionP4Parser::e322C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7841:8006:body/seq", false, false, "mixed", true, K4); } private static Match e322C(Session s, Frame f) { - return s.sequence(f, K487, K396); + return s.sequence(f, K502, K411); } private static Match e322M(Session s, Frame f) { - return s.sequence(f, K487, K396); + return s.sequence(f, K502, K411); } private static Match e323(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e323M(s, f) : e323C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e323M : TinyExpressionP4Parser::e323C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7855:7865:body/0/literal", false, true, "text", false, K452); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e323M : TinyExpressionP4Parser::e323C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7841:7851:body/0/literal", false, true, "text", false, K467); } private static Match e323C(Session s, Frame f) { - return s.literal(f, "external", true, false, K453); + return s.literal(f, "external", true, false, K468); } private static Match e323M(Session s, Frame f) { - return s.literal(f, "external", true, false, K453); + return s.literal(f, "external", true, false, K468); } private static Match e324(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e324M(s, f) : e324C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e324M : TinyExpressionP4Parser::e324C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7866:7890:body/1/optional", true, false, "text", false, K454); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e324M : TinyExpressionP4Parser::e324C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7852:7876:body/1/optional", true, false, "text", false, K469); } private static Match e324C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e325); @@ -4313,27 +4650,27 @@ private static Match e324M(Session s, Frame f) { private static Match e325(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e325M(s, f) : e325C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e325M : TinyExpressionP4Parser::e325C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7868:7888:body/1/0/seq", false, false, "text", false, K455); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e325M : TinyExpressionP4Parser::e325C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7854:7874:body/1/0/seq", false, false, "text", false, K470); } private static Match e325C(Session s, Frame f) { - return s.sequence(f, K488, K260); + return s.sequence(f, K503, K271); } private static Match e325M(Session s, Frame f) { - return s.sequence(f, K488, K260); + return s.sequence(f, K503, K271); } private static Match e326(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e326M(s, f) : e326C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e326M : TinyExpressionP4Parser::e326C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7868:7879:body/1/0/0/literal", false, true, "text", false, K454); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e326M : TinyExpressionP4Parser::e326C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7854:7865:body/1/0/0/literal", false, true, "text", false, K469); } private static Match e326C(Session s, Frame f) { - return s.literal(f, "returning", true, false, K457); + return s.literal(f, "returning", true, false, K472); } private static Match e326M(Session s, Frame f) { - return s.literal(f, "returning", true, false, K457); + return s.literal(f, "returning", true, false, K472); } private static Match e327(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e327M(s, f) : e327C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e327M : TinyExpressionP4Parser::e327C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7880:7888:body/1/0/1/optional", true, false, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e327M : TinyExpressionP4Parser::e327C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7866:7874:body/1/0/1/optional", true, false, "text", false, K279); } private static Match e327C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e328); @@ -4343,17 +4680,17 @@ private static Match e327M(Session s, Frame f) { } private static Match e328(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e328M(s, f) : e328C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e328M : TinyExpressionP4Parser::e328C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7882:7886:body/1/0/1/0/literal", false, true, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e328M : TinyExpressionP4Parser::e328C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7868:7872:body/1/0/1/0/literal", false, true, "text", false, K279); } private static Match e328C(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e328M(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e329(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e329M(s, f) : e329C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e329M : TinyExpressionP4Parser::e329C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7891:7907:body/2/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e329M : TinyExpressionP4Parser::e329C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7877:7893:body/2/ruleRef", false, false, "text", false, K4); } private static Match e329C(Session s, Frame f) { return parseObjectReturnType_29(s, f); @@ -4363,7 +4700,7 @@ private static Match e329M(Session s, Frame f) { } private static Match e330(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e330M(s, f) : e330C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e330M : TinyExpressionP4Parser::e330C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7912:7919:body/3/optional", true, false, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e330M : TinyExpressionP4Parser::e330C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7898:7905:body/3/optional", true, false, "text", false, K473); } private static Match e330C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e331); @@ -4373,17 +4710,17 @@ private static Match e330M(Session s, Frame f) { } private static Match e331(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e331M(s, f) : e331C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e331M : TinyExpressionP4Parser::e331C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7914:7917:body/3/0/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e331M : TinyExpressionP4Parser::e331C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7900:7903:body/3/0/literal", false, true, "text", false, K473); } private static Match e331C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e331M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e332(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e332M(s, f) : e332C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e332M : TinyExpressionP4Parser::e332C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7924:7988:body/4/group", false, false, "mixed", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e332M : TinyExpressionP4Parser::e332C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7910:7974:body/4/group", false, false, "mixed", false, K269); } private static Match e332C(Session s, Frame f) { return e333(s, f); @@ -4393,28 +4730,28 @@ private static Match e332M(Session s, Frame f) { } private static Match e333(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e333M(s, f) : e333C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e333M : TinyExpressionP4Parser::e333C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7926:7980:body/4/0/choice", false, false, "mixed", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e333M : TinyExpressionP4Parser::e333C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7912:7966:body/4/0/choice", false, false, "mixed", false, K269); } private static Match e333C(Session s, Frame f) { - return s.choice(f,K489,false,null,false); + return s.choice(f,K504,false,null,false); } private static Match e333M(Session s, Frame f) { - return s.choice(f,K489,false,null,false); + return s.choice(f,K504,false,null,false); } private static Match e334(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e334M(s, f) : e334C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e334M : TinyExpressionP4Parser::e334C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7926:7961:body/4/0/0/seq", false, false, "node", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e334M : TinyExpressionP4Parser::e334C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7912:7947:body/4/0/0/seq", false, false, "node", false, K269); } private static Match e334C(Session s, Frame f) { - return s.sequence(f, K490, K248); + return s.sequence(f, K505, K251); } private static Match e334M(Session s, Frame f) { - return s.sequence(f, K490, K248); + return s.sequence(f, K505, K251); } private static Match e335(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e335M(s, f) : e335C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e335M : TinyExpressionP4Parser::e335C, K491, K257, K225, K226, K226, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7926:7935:body/4/0/0/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e335M : TinyExpressionP4Parser::e335C, K506, K268, K225, K226, K226, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7912:7921:body/4/0/0/0/ruleRef", false, false, "node", false, K227); } private static Match e335C(Session s, Frame f) { return parseClassName_3(s, f); @@ -4424,47 +4761,47 @@ private static Match e335M(Session s, Frame f) { } private static Match e336(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e336M(s, f) : e336C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e336M : TinyExpressionP4Parser::e336C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7947:7950:body/4/0/0/1/literal", false, true, "text", false, K258); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e336M : TinyExpressionP4Parser::e336C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7933:7936:body/4/0/0/1/literal", false, true, "text", false, K269); } private static Match e336C(Session s, Frame f) { - return s.literal(f, "#", true, false, K262); + return s.literal(f, "#", true, false, K273); } private static Match e336M(Session s, Frame f) { - return s.literal(f, "#", true, false, K262); + return s.literal(f, "#", true, false, K273); } private static Match e337(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e337M(s, f) : e337C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e337M : TinyExpressionP4Parser::e337C, K492, K464, K225, K226, K226, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7951:7961:body/4/0/0/2/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e337M : TinyExpressionP4Parser::e337C, K507, K479, K225, K226, K226, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7937:7947:body/4/0/0/2/tokenRef", false, true, "text", false, K276); } private static Match e337C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e337M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e338(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e338M(s, f) : e338C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e338M : TinyExpressionP4Parser::e338C, K493, K464, K225, K226, K226, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7970:7980:body/4/0/1/tokenRef", false, true, "textAlternative", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e338M : TinyExpressionP4Parser::e338C, K508, K479, K225, K226, K226, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7956:7966:body/4/0/1/tokenRef", false, true, "textAlternative", false, K276); } private static Match e338C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e338M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e339(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e339M(s, f) : e339C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e339M : TinyExpressionP4Parser::e339C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7993:7996:body/5/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e339M : TinyExpressionP4Parser::e339C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7979:7982:body/5/literal", false, true, "text", false, K399); } private static Match e339C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e339M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e340(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e340M(s, f) : e340C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e340M : TinyExpressionP4Parser::e340C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7997:8016:body/6/optional", true, false, "node", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e340M : TinyExpressionP4Parser::e340C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7983:8002:body/6/optional", true, false, "node", false, K316); } private static Match e340C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e341); @@ -4474,7 +4811,7 @@ private static Match e340M(Session s, Frame f) { } private static Match e341(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e341M(s, f) : e341C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e341M : TinyExpressionP4Parser::e341C, K494, K467, K225, K226, K226, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7999:8008:body/6/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e341M : TinyExpressionP4Parser::e341C, K509, K482, K225, K226, K226, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7985:7994:body/6/0/ruleRef", false, false, "node", false, K227); } private static Match e341C(Session s, Frame f) { return parseArguments_39(s, f); @@ -4484,48 +4821,48 @@ private static Match e341M(Session s, Frame f) { } private static Match e342(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e342M(s, f) : e342C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e342M : TinyExpressionP4Parser::e342C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8017:8020:body/7/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e342M : TinyExpressionP4Parser::e342C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExternalObjectInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8003:8006:body/7/literal", false, true, "text", false, K401); } private static Match e342C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e342M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e343(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e343M(s, f) : e343C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e343M : TinyExpressionP4Parser::e343C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocationHeader", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8225:8259:body/choice", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e343M : TinyExpressionP4Parser::e343C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocationHeader", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8211:8245:body/choice", false, false, "text", false, K4); } private static Match e343C(Session s, Frame f) { - return s.choice(f,K499,false,null,false,K498); + return s.choice(f,K515,false,null,false,K514); } private static Match e343M(Session s, Frame f) { - return s.choice(f,K499,false,null,false,K498); + return s.choice(f,K515,false,null,false,K514); } private static Match e344(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e344M(s, f) : e344C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e344M : TinyExpressionP4Parser::e344C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocationHeader", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8225:8246:body/0/seq", false, false, "text", false, K64); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e344M : TinyExpressionP4Parser::e344C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocationHeader", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8211:8232:body/0/seq", false, false, "text", false, K64); } private static Match e344C(Session s, Frame f) { - return s.sequence(f, K500, K260); + return s.sequence(f, K516, K271); } private static Match e344M(Session s, Frame f) { - return s.sequence(f, K500, K260); + return s.sequence(f, K516, K271); } private static Match e345(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e345M(s, f) : e345C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e345M : TinyExpressionP4Parser::e345C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocationHeader", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8225:8231:body/0/0/literal", false, true, "text", false, K501); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e345M : TinyExpressionP4Parser::e345C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocationHeader", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8211:8217:body/0/0/literal", false, true, "text", false, K517); } private static Match e345C(Session s, Frame f) { - return s.literal(f, "call", true, false, K502); + return s.literal(f, "call", true, false, K518); } private static Match e345M(Session s, Frame f) { - return s.literal(f, "call", true, false, K502); + return s.literal(f, "call", true, false, K518); } private static Match e346(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e346M(s, f) : e346C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e346M : TinyExpressionP4Parser::e346C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocationHeader", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8232:8246:body/0/1/optional", true, false, "text", false, K503); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e346M : TinyExpressionP4Parser::e346C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocationHeader", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8218:8232:body/0/1/optional", true, false, "text", false, K519); } private static Match e346C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e347); @@ -4535,38 +4872,38 @@ private static Match e346M(Session s, Frame f) { } private static Match e347(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e347M(s, f) : e347C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e347M : TinyExpressionP4Parser::e347C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocationHeader", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8234:8244:body/0/1/0/literal", false, true, "text", false, K503); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e347M : TinyExpressionP4Parser::e347C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocationHeader", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8220:8230:body/0/1/0/literal", false, true, "text", false, K519); } private static Match e347C(Session s, Frame f) { - return s.literal(f, "internal", true, false, K504); + return s.literal(f, "internal", true, false, K520); } private static Match e347M(Session s, Frame f) { - return s.literal(f, "internal", true, false, K504); + return s.literal(f, "internal", true, false, K520); } private static Match e348(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e348M(s, f) : e348C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e348M : TinyExpressionP4Parser::e348C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocationHeader", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8249:8259:body/1/literal", false, true, "text", false, K503); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e348M : TinyExpressionP4Parser::e348C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocationHeader", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8235:8245:body/1/literal", false, true, "text", false, K519); } private static Match e348C(Session s, Frame f) { - return s.literal(f, "internal", true, false, K504); + return s.literal(f, "internal", true, false, K520); } private static Match e348M(Session s, Frame f) { - return s.literal(f, "internal", true, false, K504); + return s.literal(f, "internal", true, false, K520); } private static Match e349(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e349M(s, f) : e349C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e349M : TinyExpressionP4Parser::e349C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8362:8429:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e349M : TinyExpressionP4Parser::e349C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8348:8415:body/seq", false, false, "node", false, K4); } private static Match e349C(Session s, Frame f) { - return s.sequence(f, K505, K379); + return s.sequence(f, K521, K394); } private static Match e349M(Session s, Frame f) { - return s.sequence(f, K505, K379); + return s.sequence(f, K521, K394); } private static Match e350(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e350M(s, f) : e350C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e350M : TinyExpressionP4Parser::e350C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8362:8384:body/0/ruleRef", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e350M : TinyExpressionP4Parser::e350C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8348:8370:body/0/ruleRef", false, false, "text", false, K4); } private static Match e350C(Session s, Frame f) { return parseMethodInvocationHeader_35(s, f); @@ -4575,27 +4912,27 @@ private static Match e350M(Session s, Frame f) { return parseMethodInvocationHeader_35(s, f); } private static Match e351(Session s, Frame f) { - return s.capture(f, f.matched ? TinyExpressionP4Parser::e351M : TinyExpressionP4Parser::e351C, K506, K464, K225, K226, K303, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8385:8395:body/1/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e351M : TinyExpressionP4Parser::e351C, K522, K479, K225, K226, K315, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8371:8381:body/1/tokenRef", false, true, "text", false, K276); } private static Match e351C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e351M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e352(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e352M(s, f) : e352C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e352M : TinyExpressionP4Parser::e352C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8402:8405:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e352M : TinyExpressionP4Parser::e352C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8388:8391:body/2/literal", false, true, "text", false, K399); } private static Match e352C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e352M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e353(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e353M(s, f) : e353C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e353M : TinyExpressionP4Parser::e353C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8406:8425:body/3/optional", true, false, "node", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e353M : TinyExpressionP4Parser::e353C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8392:8411:body/3/optional", true, false, "node", false, K316); } private static Match e353C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e354); @@ -4605,7 +4942,7 @@ private static Match e353M(Session s, Frame f) { } private static Match e354(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e354M(s, f) : e354C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e354M : TinyExpressionP4Parser::e354C, K507, K467, K225, K226, K226, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8408:8417:body/3/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e354M : TinyExpressionP4Parser::e354C, K523, K482, K225, K226, K226, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8394:8403:body/3/0/ruleRef", false, false, "node", false, K227); } private static Match e354C(Session s, Frame f) { return parseArguments_39(s, f); @@ -4615,28 +4952,28 @@ private static Match e354M(Session s, Frame f) { } private static Match e355(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e355M(s, f) : e355C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e355M : TinyExpressionP4Parser::e355C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8426:8429:body/4/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e355M : TinyExpressionP4Parser::e355C, K216, K216, K216, K217, K217, "TinyExpressionP4::MethodInvocation", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8412:8415:body/4/literal", false, true, "text", false, K401); } private static Match e355C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e355M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e356(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e356M(s, f) : e356C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e356M : TinyExpressionP4Parser::e356C, K216, K216, K216, K217, K217, "TinyExpressionP4::ArgumentTernary", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8596:8676:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e356M : TinyExpressionP4Parser::e356C, K216, K216, K216, K217, K217, "TinyExpressionP4::ArgumentTernary", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8582:8662:body/seq", false, false, "node", true, K4); } private static Match e356C(Session s, Frame f) { - return s.sequence(f, K508, K379); + return s.sequence(f, K524, K394); } private static Match e356M(Session s, Frame f) { - return s.sequence(f, K508, K379); + return s.sequence(f, K524, K394); } private static Match e357(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e357M(s, f) : e357C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e357M : TinyExpressionP4Parser::e357C, K509, K510, K225, K226, K226, "TinyExpressionP4::ArgumentTernary", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8596:8613:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e357M : TinyExpressionP4Parser::e357C, K525, K526, K225, K226, K226, "TinyExpressionP4::ArgumentTernary", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8582:8599:body/0/ruleRef", false, false, "node", false, K227); } private static Match e357C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -4646,17 +4983,17 @@ private static Match e357M(Session s, Frame f) { } private static Match e358(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e358M(s, f) : e358C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e358M : TinyExpressionP4Parser::e358C, K216, K216, K216, K217, K217, "TinyExpressionP4::ArgumentTernary", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8625:8628:body/1/literal", false, true, "text", false, K511); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e358M : TinyExpressionP4Parser::e358C, K216, K216, K216, K217, K217, "TinyExpressionP4::ArgumentTernary", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8611:8614:body/1/literal", false, true, "text", false, K527); } private static Match e358C(Session s, Frame f) { - return s.literal(f, "?", true, false, K512); + return s.literal(f, "?", true, false, K528); } private static Match e358M(Session s, Frame f) { - return s.literal(f, "?", true, false, K512); + return s.literal(f, "?", true, false, K528); } private static Match e359(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e359M(s, f) : e359C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e359M : TinyExpressionP4Parser::e359C, K513, K514, K225, K226, K226, "TinyExpressionP4::ArgumentTernary", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8629:8645:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e359M : TinyExpressionP4Parser::e359C, K529, K530, K225, K226, K226, "TinyExpressionP4::ArgumentTernary", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8615:8631:body/2/ruleRef", false, false, "node", false, K227); } private static Match e359C(Session s, Frame f) { return parseBranchExpression_107(s, f); @@ -4666,17 +5003,17 @@ private static Match e359M(Session s, Frame f) { } private static Match e360(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e360M(s, f) : e360C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e360M : TinyExpressionP4Parser::e360C, K216, K216, K216, K217, K217, "TinyExpressionP4::ArgumentTernary", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8656:8659:body/3/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e360M : TinyExpressionP4Parser::e360C, K216, K216, K216, K217, K217, "TinyExpressionP4::ArgumentTernary", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8642:8645:body/3/literal", false, true, "text", false, K473); } private static Match e360C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e360M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e361(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e361M(s, f) : e361C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e361M : TinyExpressionP4Parser::e361C, K515, K516, K225, K226, K226, "TinyExpressionP4::ArgumentTernary", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8660:8676:body/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e361M : TinyExpressionP4Parser::e361C, K531, K532, K225, K226, K226, "TinyExpressionP4::ArgumentTernary", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8646:8662:body/4/ruleRef", false, false, "node", false, K227); } private static Match e361C(Session s, Frame f) { return parseBranchExpression_107(s, f); @@ -4686,17 +5023,17 @@ private static Match e361M(Session s, Frame f) { } private static Match e362(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e362M(s, f) : e362C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e362M : TinyExpressionP4Parser::e362C, K216, K216, K216, K217, K217, "TinyExpressionP4::ArgumentExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8772:8885:body/choice", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e362M : TinyExpressionP4Parser::e362C, K216, K216, K216, K217, K217, "TinyExpressionP4::ArgumentExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8758:8871:body/choice", false, false, "node", false, K4); } private static Match e362C(Session s, Frame f) { - return s.choice(f,K517,false,null,false); + return s.choice(f,K533,false,null,false); } private static Match e362M(Session s, Frame f) { - return s.choice(f,K517,false,null,false); + return s.choice(f,K533,false,null,false); } private static Match e363(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e363M(s, f) : e363C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e363M : TinyExpressionP4Parser::e363C, K518, K311, K225, K226, K226, "TinyExpressionP4::ArgumentExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8772:8787:body/0/ruleRef", false, false, "node", false, K69); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e363M : TinyExpressionP4Parser::e363C, K534, K323, K225, K226, K226, "TinyExpressionP4::ArgumentExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8758:8773:body/0/ruleRef", false, false, "node", false, K69); } private static Match e363C(Session s, Frame f) { return parseArgumentTernary_37(s, f); @@ -4706,7 +5043,7 @@ private static Match e363M(Session s, Frame f) { } private static Match e364(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e364M(s, f) : e364C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e364M : TinyExpressionP4Parser::e364C, K519, K311, K225, K226, K226, "TinyExpressionP4::ArgumentExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8801:8821:body/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e364M : TinyExpressionP4Parser::e364C, K535, K323, K225, K226, K226, "TinyExpressionP4::ArgumentExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8787:8807:body/1/ruleRef", false, false, "node", false, K227); } private static Match e364C(Session s, Frame f) { return parseComparisonExpression_103(s, f); @@ -4716,7 +5053,7 @@ private static Match e364M(Session s, Frame f) { } private static Match e365(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e365M(s, f) : e365C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e365M : TinyExpressionP4Parser::e365C, K520, K311, K225, K226, K226, "TinyExpressionP4::ArgumentExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8835:8861:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e365M : TinyExpressionP4Parser::e365C, K536, K323, K225, K226, K226, "TinyExpressionP4::ArgumentExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8821:8847:body/2/ruleRef", false, false, "node", false, K227); } private static Match e365C(Session s, Frame f) { return parseStringComparisonExpression_101(s, f); @@ -4726,7 +5063,7 @@ private static Match e365M(Session s, Frame f) { } private static Match e366(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e366M(s, f) : e366C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e366M : TinyExpressionP4Parser::e366C, K521, K311, K225, K226, K226, "TinyExpressionP4::ArgumentExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8875:8885:body/3/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e366M : TinyExpressionP4Parser::e366C, K537, K323, K225, K226, K226, "TinyExpressionP4::ArgumentExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8861:8871:body/3/ruleRef", false, false, "node", false, K227); } private static Match e366C(Session s, Frame f) { return parseExpression_123(s, f); @@ -4737,17 +5074,17 @@ private static Match e366M(Session s, Frame f) { private static Match e367(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e367M(s, f) : e367C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e367M : TinyExpressionP4Parser::e367C, K216, K216, K216, K217, K217, "TinyExpressionP4::Arguments", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8955:9016:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e367M : TinyExpressionP4Parser::e367C, K216, K216, K216, K217, K217, "TinyExpressionP4::Arguments", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8941:9002:body/seq", false, false, "node", true, K4); } private static Match e367C(Session s, Frame f) { - return s.sequence(f, K522, K260); + return s.sequence(f, K538, K271); } private static Match e367M(Session s, Frame f) { - return s.sequence(f, K522, K260); + return s.sequence(f, K538, K271); } private static Match e368(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e368M(s, f) : e368C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e368M : TinyExpressionP4Parser::e368C, K523, K421, K225, K226, K226, "TinyExpressionP4::Arguments", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8955:8973:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e368M : TinyExpressionP4Parser::e368C, K539, K436, K225, K226, K226, "TinyExpressionP4::Arguments", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8941:8959:body/0/ruleRef", false, false, "node", false, K227); } private static Match e368C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -4757,7 +5094,7 @@ private static Match e368M(Session s, Frame f) { } private static Match e369(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e369M(s, f) : e369C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e369M : TinyExpressionP4Parser::e369C, K216, K216, K216, K217, K217, "TinyExpressionP4::Arguments", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8982:9016:body/1/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e369M : TinyExpressionP4Parser::e369C, K216, K216, K216, K217, K217, "TinyExpressionP4::Arguments", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8968:9002:body/1/repeat", true, false, "node", true, K404); } private static Match e369C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e370, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -4768,27 +5105,27 @@ private static Match e369M(Session s, Frame f) { private static Match e370(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e370M(s, f) : e370C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e370M : TinyExpressionP4Parser::e370C, K216, K216, K216, K217, K217, "TinyExpressionP4::Arguments", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8984:9006:body/1/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e370M : TinyExpressionP4Parser::e370C, K216, K216, K216, K217, K217, "TinyExpressionP4::Arguments", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8970:8992:body/1/0/seq", false, false, "node", false, K404); } private static Match e370C(Session s, Frame f) { - return s.sequence(f, K524, K260); + return s.sequence(f, K540, K271); } private static Match e370M(Session s, Frame f) { - return s.sequence(f, K524, K260); + return s.sequence(f, K540, K271); } private static Match e371(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e371M(s, f) : e371C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e371M : TinyExpressionP4Parser::e371C, K216, K216, K216, K217, K217, "TinyExpressionP4::Arguments", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8984:8987:body/1/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e371M : TinyExpressionP4Parser::e371C, K216, K216, K216, K217, K217, "TinyExpressionP4::Arguments", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8970:8973:body/1/0/0/literal", false, true, "text", false, K404); } private static Match e371C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e371M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e372(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e372M(s, f) : e372C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e372M : TinyExpressionP4Parser::e372C, K525, K421, K225, K226, K226, "TinyExpressionP4::Arguments", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8988:9006:body/1/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e372M : TinyExpressionP4Parser::e372C, K541, K436, K225, K226, K226, "TinyExpressionP4::Arguments", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8974:8992:body/1/0/1/ruleRef", false, false, "node", false, K227); } private static Match e372C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -4799,17 +5136,17 @@ private static Match e372M(Session s, Frame f) { private static Match e373(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e373M(s, f) : e373C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e373M : TinyExpressionP4Parser::e373C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9211:9259:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e373M : TinyExpressionP4Parser::e373C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9197:9245:body/seq", false, false, "node", true, K4); } private static Match e373C(Session s, Frame f) { - return s.sequence(f, K526, K260); + return s.sequence(f, K542, K271); } private static Match e373M(Session s, Frame f) { - return s.sequence(f, K526, K260); + return s.sequence(f, K542, K271); } private static Match e374(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e374M(s, f) : e374C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e374M : TinyExpressionP4Parser::e374C, K527, K528, K225, K226, K226, "TinyExpressionP4::NumberExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9211:9221:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e374M : TinyExpressionP4Parser::e374C, K543, K544, K225, K226, K226, "TinyExpressionP4::NumberExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9197:9207:body/0/ruleRef", false, false, "node", false, K227); } private static Match e374C(Session s, Frame f) { return parseNumberTerm_41(s, f); @@ -4819,7 +5156,7 @@ private static Match e374M(Session s, Frame f) { } private static Match e375(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e375M(s, f) : e375C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e375M : TinyExpressionP4Parser::e375C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9228:9259:body/1/repeat", true, false, "node", true, K222); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e375M : TinyExpressionP4Parser::e375C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9214:9245:body/1/repeat", true, false, "node", true, K222); } private static Match e375C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e376, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -4830,17 +5167,17 @@ private static Match e375M(Session s, Frame f) { private static Match e376(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e376M(s, f) : e376C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e376M : TinyExpressionP4Parser::e376C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9230:9250:body/1/0/seq", false, false, "node", false, K529); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e376M : TinyExpressionP4Parser::e376C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9216:9236:body/1/0/seq", false, false, "node", false, K545); } private static Match e376C(Session s, Frame f) { - return s.sequence(f, K530, K260); + return s.sequence(f, K546, K271); } private static Match e376M(Session s, Frame f) { - return s.sequence(f, K530, K260); + return s.sequence(f, K546, K271); } private static Match e377(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e377M(s, f) : e377C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e377M : TinyExpressionP4Parser::e377C, K531, K532, K225, K226, K226, "TinyExpressionP4::NumberExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9230:9235:body/1/0/0/ruleRef", false, false, "text", false, K78); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e377M : TinyExpressionP4Parser::e377C, K547, K548, K225, K226, K226, "TinyExpressionP4::NumberExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9216:9221:body/1/0/0/ruleRef", false, false, "text", false, K78); } private static Match e377C(Session s, Frame f) { return parseAddOp_42(s, f); @@ -4850,7 +5187,7 @@ private static Match e377M(Session s, Frame f) { } private static Match e378(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e378M(s, f) : e378C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e378M : TinyExpressionP4Parser::e378C, K533, K534, K225, K226, K226, "TinyExpressionP4::NumberExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9240:9250:body/1/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e378M : TinyExpressionP4Parser::e378C, K549, K550, K225, K226, K226, "TinyExpressionP4::NumberExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9226:9236:body/1/0/1/ruleRef", false, false, "node", false, K227); } private static Match e378C(Session s, Frame f) { return parseNumberTerm_41(s, f); @@ -4861,17 +5198,17 @@ private static Match e378M(Session s, Frame f) { private static Match e379(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e379M(s, f) : e379C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e379M : TinyExpressionP4Parser::e379C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9366:9418:body/seq", false, false, "mixed", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e379M : TinyExpressionP4Parser::e379C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9352:9404:body/seq", false, false, "mixed", true, K4); } private static Match e379C(Session s, Frame f) { - return s.sequence(f, K535, K260); + return s.sequence(f, K551, K271); } private static Match e379M(Session s, Frame f) { - return s.sequence(f, K535, K260); + return s.sequence(f, K551, K271); } private static Match e380(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e380M(s, f) : e380C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e380M : TinyExpressionP4Parser::e380C, K536, K528, K225, K226, K226, "TinyExpressionP4::NumberTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9366:9378:body/0/ruleRef", false, false, "mixed", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e380M : TinyExpressionP4Parser::e380C, K552, K544, K225, K226, K226, "TinyExpressionP4::NumberTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9352:9364:body/0/ruleRef", false, false, "mixed", false, K227); } private static Match e380C(Session s, Frame f) { return parseNumberFactor_60(s, f); @@ -4881,7 +5218,7 @@ private static Match e380M(Session s, Frame f) { } private static Match e381(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e381M(s, f) : e381C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e381M : TinyExpressionP4Parser::e381C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9385:9418:body/1/repeat", true, false, "mixed", true, K222); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e381M : TinyExpressionP4Parser::e381C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9371:9404:body/1/repeat", true, false, "mixed", true, K222); } private static Match e381C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e382, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -4892,17 +5229,17 @@ private static Match e381M(Session s, Frame f) { private static Match e382(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e382M(s, f) : e382C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e382M : TinyExpressionP4Parser::e382C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9387:9409:body/1/0/seq", false, false, "mixed", false, K537); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e382M : TinyExpressionP4Parser::e382C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9373:9395:body/1/0/seq", false, false, "mixed", false, K553); } private static Match e382C(Session s, Frame f) { - return s.sequence(f, K538, K260); + return s.sequence(f, K554, K271); } private static Match e382M(Session s, Frame f) { - return s.sequence(f, K538, K260); + return s.sequence(f, K554, K271); } private static Match e383(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e383M(s, f) : e383C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e383M : TinyExpressionP4Parser::e383C, K539, K532, K225, K226, K226, "TinyExpressionP4::NumberTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9387:9392:body/1/0/0/ruleRef", false, false, "text", false, K79); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e383M : TinyExpressionP4Parser::e383C, K555, K548, K225, K226, K226, "TinyExpressionP4::NumberTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9373:9378:body/1/0/0/ruleRef", false, false, "text", false, K79); } private static Match e383C(Session s, Frame f) { return parseMulOp_43(s, f); @@ -4912,7 +5249,7 @@ private static Match e383M(Session s, Frame f) { } private static Match e384(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e384M(s, f) : e384C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e384M : TinyExpressionP4Parser::e384C, K540, K534, K225, K226, K226, "TinyExpressionP4::NumberTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9397:9409:body/1/0/1/ruleRef", false, false, "mixed", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e384M : TinyExpressionP4Parser::e384C, K556, K550, K225, K226, K226, "TinyExpressionP4::NumberTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9383:9395:body/1/0/1/ruleRef", false, false, "mixed", false, K227); } private static Match e384C(Session s, Frame f) { return parseNumberFactor_60(s, f); @@ -4922,77 +5259,77 @@ private static Match e384M(Session s, Frame f) { } private static Match e385(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e385M(s, f) : e385C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e385M : TinyExpressionP4Parser::e385C, K216, K216, K216, K217, K217, "TinyExpressionP4::AddOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9434:9443:body/choice", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e385M : TinyExpressionP4Parser::e385C, K216, K216, K216, K217, K217, "TinyExpressionP4::AddOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9420:9429:body/choice", false, false, "text", false, K4); } private static Match e385C(Session s, Frame f) { - if (s.exclusiveReady(f) && switch (s.cp(f.c)) { case 43, 45 -> false; default -> true; }) return s.exclusiveFail(f); return s.choice(f,K541,false,new boolean[]{true,true},false); + if (s.exclusiveReady(f) && switch (s.cp(f.c)) { case 43, 45 -> false; default -> true; }) return s.exclusiveFail(f); return s.choice(f,K557,false,new boolean[]{true,true},false); } private static Match e385M(Session s, Frame f) { - if (s.exclusiveReady(f) && switch (s.cp(f.c)) { case 43, 45 -> false; default -> true; }) return s.exclusiveFail(f); return s.choice(f,K541,false,new boolean[]{true,true},false); + if (s.exclusiveReady(f) && switch (s.cp(f.c)) { case 43, 45 -> false; default -> true; }) return s.exclusiveFail(f); return s.choice(f,K557,false,new boolean[]{true,true},false); } private static Match e386(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e386M(s, f) : e386C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e386M : TinyExpressionP4Parser::e386C, K216, K216, K216, K217, K217, "TinyExpressionP4::AddOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9434:9437:body/0/literal", false, true, "text", false, K542); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e386M : TinyExpressionP4Parser::e386C, K216, K216, K216, K217, K217, "TinyExpressionP4::AddOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9420:9423:body/0/literal", false, true, "text", false, K558); } private static Match e386C(Session s, Frame f) { - return s.literal(f, "+", true, false, K543); + return s.literal(f, "+", true, false, K559); } private static Match e386M(Session s, Frame f) { - return s.literal(f, "+", true, false, K543); + return s.literal(f, "+", true, false, K559); } private static Match e387(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e387M(s, f) : e387C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e387M : TinyExpressionP4Parser::e387C, K216, K216, K216, K217, K217, "TinyExpressionP4::AddOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9440:9443:body/1/literal", false, true, "text", false, K544); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e387M : TinyExpressionP4Parser::e387C, K216, K216, K216, K217, K217, "TinyExpressionP4::AddOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9426:9429:body/1/literal", false, true, "text", false, K560); } private static Match e387C(Session s, Frame f) { - return s.literal(f, "-", true, false, K545); + return s.literal(f, "-", true, false, K561); } private static Match e387M(Session s, Frame f) { - return s.literal(f, "-", true, false, K545); + return s.literal(f, "-", true, false, K561); } private static Match e388(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e388M(s, f) : e388C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e388M : TinyExpressionP4Parser::e388C, K216, K216, K216, K217, K217, "TinyExpressionP4::MulOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9458:9467:body/choice", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e388M : TinyExpressionP4Parser::e388C, K216, K216, K216, K217, K217, "TinyExpressionP4::MulOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9444:9453:body/choice", false, false, "text", false, K4); } private static Match e388C(Session s, Frame f) { - if (s.exclusiveReady(f) && switch (s.cp(f.c)) { case 42, 47 -> false; default -> true; }) return s.exclusiveFail(f); return s.choice(f,K546,false,new boolean[]{true,true},false); + if (s.exclusiveReady(f) && switch (s.cp(f.c)) { case 42, 47 -> false; default -> true; }) return s.exclusiveFail(f); return s.choice(f,K562,false,new boolean[]{true,true},false); } private static Match e388M(Session s, Frame f) { - if (s.exclusiveReady(f) && switch (s.cp(f.c)) { case 42, 47 -> false; default -> true; }) return s.exclusiveFail(f); return s.choice(f,K546,false,new boolean[]{true,true},false); + if (s.exclusiveReady(f) && switch (s.cp(f.c)) { case 42, 47 -> false; default -> true; }) return s.exclusiveFail(f); return s.choice(f,K562,false,new boolean[]{true,true},false); } private static Match e389(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e389M(s, f) : e389C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e389M : TinyExpressionP4Parser::e389C, K216, K216, K216, K217, K217, "TinyExpressionP4::MulOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9458:9461:body/0/literal", false, true, "text", false, K547); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e389M : TinyExpressionP4Parser::e389C, K216, K216, K216, K217, K217, "TinyExpressionP4::MulOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9444:9447:body/0/literal", false, true, "text", false, K563); } private static Match e389C(Session s, Frame f) { - return s.literal(f, "*", true, false, K548); + return s.literal(f, "*", true, false, K564); } private static Match e389M(Session s, Frame f) { - return s.literal(f, "*", true, false, K548); + return s.literal(f, "*", true, false, K564); } private static Match e390(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e390M(s, f) : e390C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e390M : TinyExpressionP4Parser::e390C, K216, K216, K216, K217, K217, "TinyExpressionP4::MulOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9464:9467:body/1/literal", false, true, "text", false, K549); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e390M : TinyExpressionP4Parser::e390C, K216, K216, K216, K217, K217, "TinyExpressionP4::MulOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9450:9453:body/1/literal", false, true, "text", false, K565); } private static Match e390C(Session s, Frame f) { - return s.literal(f, "/", true, false, K550); + return s.literal(f, "/", true, false, K566); } private static Match e390M(Session s, Frame f) { - return s.literal(f, "/", true, false, K550); + return s.literal(f, "/", true, false, K566); } private static Match e391(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e391M(s, f) : e391C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e391M : TinyExpressionP4Parser::e391C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9575:9829:body/choice", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e391M : TinyExpressionP4Parser::e391C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9561:9815:body/choice", false, false, "node", false, K4); } private static Match e391C(Session s, Frame f) { - return s.choice(f,K602,false,null,false,K601); + return s.choice(f,K618,false,null,false,K617); } private static Match e391M(Session s, Frame f) { - return s.choice(f,K602,false,null,false,K601); + return s.choice(f,K618,false,null,false,K617); } private static Match e392(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e392M(s, f) : e392C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e392M : TinyExpressionP4Parser::e392C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9575:9586:body/0/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e392M : TinyExpressionP4Parser::e392C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9561:9572:body/0/ruleRef", false, false, "node", false, K4); } private static Match e392C(Session s, Frame f) { return parseSinFunction_45(s, f); @@ -5002,7 +5339,7 @@ private static Match e392M(Session s, Frame f) { } private static Match e393(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e393M(s, f) : e393C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e393M : TinyExpressionP4Parser::e393C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9593:9604:body/1/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e393M : TinyExpressionP4Parser::e393C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9579:9590:body/1/ruleRef", false, false, "node", false, K4); } private static Match e393C(Session s, Frame f) { return parseCosFunction_46(s, f); @@ -5012,7 +5349,7 @@ private static Match e393M(Session s, Frame f) { } private static Match e394(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e394M(s, f) : e394C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e394M : TinyExpressionP4Parser::e394C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9611:9622:body/2/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e394M : TinyExpressionP4Parser::e394C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9597:9608:body/2/ruleRef", false, false, "node", false, K4); } private static Match e394C(Session s, Frame f) { return parseTanFunction_47(s, f); @@ -5022,7 +5359,7 @@ private static Match e394M(Session s, Frame f) { } private static Match e395(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e395M(s, f) : e395C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e395M : TinyExpressionP4Parser::e395C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9629:9641:body/3/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e395M : TinyExpressionP4Parser::e395C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9615:9627:body/3/ruleRef", false, false, "node", false, K4); } private static Match e395C(Session s, Frame f) { return parseSqrtFunction_48(s, f); @@ -5032,7 +5369,7 @@ private static Match e395M(Session s, Frame f) { } private static Match e396(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e396M(s, f) : e396C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e396M : TinyExpressionP4Parser::e396C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9648:9659:body/4/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e396M : TinyExpressionP4Parser::e396C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9634:9645:body/4/ruleRef", false, false, "node", false, K4); } private static Match e396C(Session s, Frame f) { return parseMinFunction_49(s, f); @@ -5042,7 +5379,7 @@ private static Match e396M(Session s, Frame f) { } private static Match e397(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e397M(s, f) : e397C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e397M : TinyExpressionP4Parser::e397C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9666:9677:body/5/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e397M : TinyExpressionP4Parser::e397C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9652:9663:body/5/ruleRef", false, false, "node", false, K4); } private static Match e397C(Session s, Frame f) { return parseMaxFunction_50(s, f); @@ -5052,7 +5389,7 @@ private static Match e397M(Session s, Frame f) { } private static Match e398(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e398M(s, f) : e398C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e398M : TinyExpressionP4Parser::e398C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9684:9698:body/6/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e398M : TinyExpressionP4Parser::e398C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9670:9684:body/6/ruleRef", false, false, "node", false, K4); } private static Match e398C(Session s, Frame f) { return parseRandomFunction_51(s, f); @@ -5062,7 +5399,7 @@ private static Match e398M(Session s, Frame f) { } private static Match e399(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e399M(s, f) : e399C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e399M : TinyExpressionP4Parser::e399C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9705:9716:body/7/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e399M : TinyExpressionP4Parser::e399C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9691:9702:body/7/ruleRef", false, false, "node", false, K4); } private static Match e399C(Session s, Frame f) { return parseAbsFunction_52(s, f); @@ -5072,7 +5409,7 @@ private static Match e399M(Session s, Frame f) { } private static Match e400(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e400M(s, f) : e400C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e400M : TinyExpressionP4Parser::e400C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9723:9736:body/8/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e400M : TinyExpressionP4Parser::e400C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9709:9722:body/8/ruleRef", false, false, "node", false, K4); } private static Match e400C(Session s, Frame f) { return parseRoundFunction_53(s, f); @@ -5082,7 +5419,7 @@ private static Match e400M(Session s, Frame f) { } private static Match e401(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e401M(s, f) : e401C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e401M : TinyExpressionP4Parser::e401C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9743:9755:body/9/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e401M : TinyExpressionP4Parser::e401C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9729:9741:body/9/ruleRef", false, false, "node", false, K4); } private static Match e401C(Session s, Frame f) { return parseCeilFunction_54(s, f); @@ -5092,7 +5429,7 @@ private static Match e401M(Session s, Frame f) { } private static Match e402(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e402M(s, f) : e402C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e402M : TinyExpressionP4Parser::e402C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9762:9775:body/10/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e402M : TinyExpressionP4Parser::e402C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9748:9761:body/10/ruleRef", false, false, "node", false, K4); } private static Match e402C(Session s, Frame f) { return parseFloorFunction_55(s, f); @@ -5102,7 +5439,7 @@ private static Match e402M(Session s, Frame f) { } private static Match e403(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e403M(s, f) : e403C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e403M : TinyExpressionP4Parser::e403C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9782:9793:body/11/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e403M : TinyExpressionP4Parser::e403C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9768:9779:body/11/ruleRef", false, false, "node", false, K4); } private static Match e403C(Session s, Frame f) { return parsePowFunction_56(s, f); @@ -5112,7 +5449,7 @@ private static Match e403M(Session s, Frame f) { } private static Match e404(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e404M(s, f) : e404C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e404M : TinyExpressionP4Parser::e404C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9800:9811:body/12/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e404M : TinyExpressionP4Parser::e404C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9786:9797:body/12/ruleRef", false, false, "node", false, K4); } private static Match e404C(Session s, Frame f) { return parseLogFunction_57(s, f); @@ -5122,7 +5459,7 @@ private static Match e404M(Session s, Frame f) { } private static Match e405(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e405M(s, f) : e405C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e405M : TinyExpressionP4Parser::e405C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9818:9829:body/13/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e405M : TinyExpressionP4Parser::e405C, K216, K216, K216, K217, K217, "TinyExpressionP4::MathFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9804:9815:body/13/ruleRef", false, false, "node", false, K4); } private static Match e405C(Session s, Frame f) { return parseExpFunction_58(s, f); @@ -5133,37 +5470,37 @@ private static Match e405M(Session s, Frame f) { private static Match e406(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e406M(s, f) : e406C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e406M : TinyExpressionP4Parser::e406C, K216, K216, K216, K217, K217, "TinyExpressionP4::SinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9885:9922:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e406M : TinyExpressionP4Parser::e406C, K216, K216, K216, K217, K217, "TinyExpressionP4::SinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9871:9908:body/seq", false, false, "node", false, K4); } private static Match e406C(Session s, Frame f) { - return s.sequence(f, K605, K604); + return s.sequence(f, K621, K620); } private static Match e406M(Session s, Frame f) { - return s.sequence(f, K605, K604); + return s.sequence(f, K621, K620); } private static Match e407(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e407M(s, f) : e407C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e407M : TinyExpressionP4Parser::e407C, K216, K216, K216, K217, K217, "TinyExpressionP4::SinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9885:9890:body/0/literal", false, true, "text", false, K606); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e407M : TinyExpressionP4Parser::e407C, K216, K216, K216, K217, K217, "TinyExpressionP4::SinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9871:9876:body/0/literal", false, true, "text", false, K622); } private static Match e407C(Session s, Frame f) { - return s.literal(f, "sin", true, false, K607); + return s.literal(f, "sin", true, false, K623); } private static Match e407M(Session s, Frame f) { - return s.literal(f, "sin", true, false, K607); + return s.literal(f, "sin", true, false, K623); } private static Match e408(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e408M(s, f) : e408C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e408M : TinyExpressionP4Parser::e408C, K216, K216, K216, K217, K217, "TinyExpressionP4::SinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9891:9894:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e408M : TinyExpressionP4Parser::e408C, K216, K216, K216, K217, K217, "TinyExpressionP4::SinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9877:9880:body/1/literal", false, true, "text", false, K399); } private static Match e408C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e408M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e409(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e409M(s, f) : e409C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e409M : TinyExpressionP4Parser::e409C, K608, K609, K225, K226, K226, "TinyExpressionP4::SinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9895:9913:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e409M : TinyExpressionP4Parser::e409C, K624, K625, K225, K226, K226, "TinyExpressionP4::SinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9881:9899:body/2/ruleRef", false, false, "node", false, K227); } private static Match e409C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5173,48 +5510,48 @@ private static Match e409M(Session s, Frame f) { } private static Match e410(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e410M(s, f) : e410C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e410M : TinyExpressionP4Parser::e410C, K216, K216, K216, K217, K217, "TinyExpressionP4::SinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9919:9922:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e410M : TinyExpressionP4Parser::e410C, K216, K216, K216, K217, K217, "TinyExpressionP4::SinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9905:9908:body/3/literal", false, true, "text", false, K401); } private static Match e410C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e410M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e411(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e411M(s, f) : e411C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e411M : TinyExpressionP4Parser::e411C, K216, K216, K216, K217, K217, "TinyExpressionP4::CosFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9978:10015:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e411M : TinyExpressionP4Parser::e411C, K216, K216, K216, K217, K217, "TinyExpressionP4::CosFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9964:10001:body/seq", false, false, "node", false, K4); } private static Match e411C(Session s, Frame f) { - return s.sequence(f, K610, K604); + return s.sequence(f, K626, K620); } private static Match e411M(Session s, Frame f) { - return s.sequence(f, K610, K604); + return s.sequence(f, K626, K620); } private static Match e412(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e412M(s, f) : e412C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e412M : TinyExpressionP4Parser::e412C, K216, K216, K216, K217, K217, "TinyExpressionP4::CosFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9978:9983:body/0/literal", false, true, "text", false, K611); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e412M : TinyExpressionP4Parser::e412C, K216, K216, K216, K217, K217, "TinyExpressionP4::CosFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9964:9969:body/0/literal", false, true, "text", false, K627); } private static Match e412C(Session s, Frame f) { - return s.literal(f, "cos", true, false, K612); + return s.literal(f, "cos", true, false, K628); } private static Match e412M(Session s, Frame f) { - return s.literal(f, "cos", true, false, K612); + return s.literal(f, "cos", true, false, K628); } private static Match e413(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e413M(s, f) : e413C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e413M : TinyExpressionP4Parser::e413C, K216, K216, K216, K217, K217, "TinyExpressionP4::CosFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9984:9987:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e413M : TinyExpressionP4Parser::e413C, K216, K216, K216, K217, K217, "TinyExpressionP4::CosFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9970:9973:body/1/literal", false, true, "text", false, K399); } private static Match e413C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e413M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e414(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e414M(s, f) : e414C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e414M : TinyExpressionP4Parser::e414C, K613, K609, K225, K226, K226, "TinyExpressionP4::CosFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9988:10006:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e414M : TinyExpressionP4Parser::e414C, K629, K625, K225, K226, K226, "TinyExpressionP4::CosFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9974:9992:body/2/ruleRef", false, false, "node", false, K227); } private static Match e414C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5224,48 +5561,48 @@ private static Match e414M(Session s, Frame f) { } private static Match e415(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e415M(s, f) : e415C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e415M : TinyExpressionP4Parser::e415C, K216, K216, K216, K217, K217, "TinyExpressionP4::CosFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10012:10015:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e415M : TinyExpressionP4Parser::e415C, K216, K216, K216, K217, K217, "TinyExpressionP4::CosFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9998:10001:body/3/literal", false, true, "text", false, K401); } private static Match e415C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e415M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e416(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e416M(s, f) : e416C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e416M : TinyExpressionP4Parser::e416C, K216, K216, K216, K217, K217, "TinyExpressionP4::TanFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10071:10108:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e416M : TinyExpressionP4Parser::e416C, K216, K216, K216, K217, K217, "TinyExpressionP4::TanFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10057:10094:body/seq", false, false, "node", false, K4); } private static Match e416C(Session s, Frame f) { - return s.sequence(f, K614, K604); + return s.sequence(f, K630, K620); } private static Match e416M(Session s, Frame f) { - return s.sequence(f, K614, K604); + return s.sequence(f, K630, K620); } private static Match e417(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e417M(s, f) : e417C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e417M : TinyExpressionP4Parser::e417C, K216, K216, K216, K217, K217, "TinyExpressionP4::TanFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10071:10076:body/0/literal", false, true, "text", false, K615); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e417M : TinyExpressionP4Parser::e417C, K216, K216, K216, K217, K217, "TinyExpressionP4::TanFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10057:10062:body/0/literal", false, true, "text", false, K631); } private static Match e417C(Session s, Frame f) { - return s.literal(f, "tan", true, false, K616); + return s.literal(f, "tan", true, false, K632); } private static Match e417M(Session s, Frame f) { - return s.literal(f, "tan", true, false, K616); + return s.literal(f, "tan", true, false, K632); } private static Match e418(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e418M(s, f) : e418C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e418M : TinyExpressionP4Parser::e418C, K216, K216, K216, K217, K217, "TinyExpressionP4::TanFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10077:10080:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e418M : TinyExpressionP4Parser::e418C, K216, K216, K216, K217, K217, "TinyExpressionP4::TanFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10063:10066:body/1/literal", false, true, "text", false, K399); } private static Match e418C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e418M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e419(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e419M(s, f) : e419C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e419M : TinyExpressionP4Parser::e419C, K617, K609, K225, K226, K226, "TinyExpressionP4::TanFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10081:10099:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e419M : TinyExpressionP4Parser::e419C, K633, K625, K225, K226, K226, "TinyExpressionP4::TanFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10067:10085:body/2/ruleRef", false, false, "node", false, K227); } private static Match e419C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5275,48 +5612,48 @@ private static Match e419M(Session s, Frame f) { } private static Match e420(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e420M(s, f) : e420C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e420M : TinyExpressionP4Parser::e420C, K216, K216, K216, K217, K217, "TinyExpressionP4::TanFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10105:10108:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e420M : TinyExpressionP4Parser::e420C, K216, K216, K216, K217, K217, "TinyExpressionP4::TanFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10091:10094:body/3/literal", false, true, "text", false, K401); } private static Match e420C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e420M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e421(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e421M(s, f) : e421C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e421M : TinyExpressionP4Parser::e421C, K216, K216, K216, K217, K217, "TinyExpressionP4::SqrtFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10166:10204:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e421M : TinyExpressionP4Parser::e421C, K216, K216, K216, K217, K217, "TinyExpressionP4::SqrtFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10152:10190:body/seq", false, false, "node", false, K4); } private static Match e421C(Session s, Frame f) { - return s.sequence(f, K618, K604); + return s.sequence(f, K634, K620); } private static Match e421M(Session s, Frame f) { - return s.sequence(f, K618, K604); + return s.sequence(f, K634, K620); } private static Match e422(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e422M(s, f) : e422C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e422M : TinyExpressionP4Parser::e422C, K216, K216, K216, K217, K217, "TinyExpressionP4::SqrtFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10166:10172:body/0/literal", false, true, "text", false, K619); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e422M : TinyExpressionP4Parser::e422C, K216, K216, K216, K217, K217, "TinyExpressionP4::SqrtFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10152:10158:body/0/literal", false, true, "text", false, K635); } private static Match e422C(Session s, Frame f) { - return s.literal(f, "sqrt", true, false, K620); + return s.literal(f, "sqrt", true, false, K636); } private static Match e422M(Session s, Frame f) { - return s.literal(f, "sqrt", true, false, K620); + return s.literal(f, "sqrt", true, false, K636); } private static Match e423(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e423M(s, f) : e423C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e423M : TinyExpressionP4Parser::e423C, K216, K216, K216, K217, K217, "TinyExpressionP4::SqrtFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10173:10176:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e423M : TinyExpressionP4Parser::e423C, K216, K216, K216, K217, K217, "TinyExpressionP4::SqrtFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10159:10162:body/1/literal", false, true, "text", false, K399); } private static Match e423C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e423M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e424(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e424M(s, f) : e424C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e424M : TinyExpressionP4Parser::e424C, K621, K609, K225, K226, K226, "TinyExpressionP4::SqrtFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10177:10195:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e424M : TinyExpressionP4Parser::e424C, K637, K625, K225, K226, K226, "TinyExpressionP4::SqrtFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10163:10181:body/2/ruleRef", false, false, "node", false, K227); } private static Match e424C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5326,48 +5663,48 @@ private static Match e424M(Session s, Frame f) { } private static Match e425(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e425M(s, f) : e425C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e425M : TinyExpressionP4Parser::e425C, K216, K216, K216, K217, K217, "TinyExpressionP4::SqrtFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10201:10204:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e425M : TinyExpressionP4Parser::e425C, K216, K216, K216, K217, K217, "TinyExpressionP4::SqrtFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10187:10190:body/3/literal", false, true, "text", false, K401); } private static Match e425C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e425M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e426(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e426M(s, f) : e426C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e426M : TinyExpressionP4Parser::e426C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10268:10340:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e426M : TinyExpressionP4Parser::e426C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10254:10326:body/seq", false, false, "node", true, K4); } private static Match e426C(Session s, Frame f) { - return s.sequence(f, K622, K379); + return s.sequence(f, K638, K394); } private static Match e426M(Session s, Frame f) { - return s.sequence(f, K622, K379); + return s.sequence(f, K638, K394); } private static Match e427(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e427M(s, f) : e427C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e427M : TinyExpressionP4Parser::e427C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10268:10273:body/0/literal", false, true, "text", false, K623); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e427M : TinyExpressionP4Parser::e427C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10254:10259:body/0/literal", false, true, "text", false, K639); } private static Match e427C(Session s, Frame f) { - return s.literal(f, "min", true, false, K624); + return s.literal(f, "min", true, false, K640); } private static Match e427M(Session s, Frame f) { - return s.literal(f, "min", true, false, K624); + return s.literal(f, "min", true, false, K640); } private static Match e428(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e428M(s, f) : e428C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e428M : TinyExpressionP4Parser::e428C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10274:10277:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e428M : TinyExpressionP4Parser::e428C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10260:10263:body/1/literal", false, true, "text", false, K399); } private static Match e428C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e428M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e429(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e429M(s, f) : e429C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e429M : TinyExpressionP4Parser::e429C, K625, K626, K225, K226, K226, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10278:10296:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e429M : TinyExpressionP4Parser::e429C, K641, K642, K225, K226, K226, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10264:10282:body/2/ruleRef", false, false, "node", false, K227); } private static Match e429C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5377,7 +5714,7 @@ private static Match e429M(Session s, Frame f) { } private static Match e430(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e430M(s, f) : e430C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e430M : TinyExpressionP4Parser::e430C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10304:10336:body/3/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e430M : TinyExpressionP4Parser::e430C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10290:10322:body/3/repeat", true, false, "node", true, K404); } private static Match e430C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e431, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -5388,27 +5725,27 @@ private static Match e430M(Session s, Frame f) { private static Match e431(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e431M(s, f) : e431C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e431M : TinyExpressionP4Parser::e431C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10306:10328:body/3/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e431M : TinyExpressionP4Parser::e431C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10292:10314:body/3/0/seq", false, false, "node", false, K404); } private static Match e431C(Session s, Frame f) { - return s.sequence(f, K627, K260); + return s.sequence(f, K643, K271); } private static Match e431M(Session s, Frame f) { - return s.sequence(f, K627, K260); + return s.sequence(f, K643, K271); } private static Match e432(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e432M(s, f) : e432C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e432M : TinyExpressionP4Parser::e432C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10306:10309:body/3/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e432M : TinyExpressionP4Parser::e432C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10292:10295:body/3/0/0/literal", false, true, "text", false, K404); } private static Match e432C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e432M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e433(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e433M(s, f) : e433C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e433M : TinyExpressionP4Parser::e433C, K628, K629, K225, K226, K226, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10310:10328:body/3/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e433M : TinyExpressionP4Parser::e433C, K644, K645, K225, K226, K226, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10296:10314:body/3/0/1/ruleRef", false, false, "node", false, K227); } private static Match e433C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5418,48 +5755,48 @@ private static Match e433M(Session s, Frame f) { } private static Match e434(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e434M(s, f) : e434C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e434M : TinyExpressionP4Parser::e434C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10337:10340:body/4/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e434M : TinyExpressionP4Parser::e434C, K216, K216, K216, K217, K217, "TinyExpressionP4::MinFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10323:10326:body/4/literal", false, true, "text", false, K401); } private static Match e434C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e434M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e435(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e435M(s, f) : e435C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e435M : TinyExpressionP4Parser::e435C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10404:10476:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e435M : TinyExpressionP4Parser::e435C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10390:10462:body/seq", false, false, "node", true, K4); } private static Match e435C(Session s, Frame f) { - return s.sequence(f, K630, K379); + return s.sequence(f, K646, K394); } private static Match e435M(Session s, Frame f) { - return s.sequence(f, K630, K379); + return s.sequence(f, K646, K394); } private static Match e436(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e436M(s, f) : e436C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e436M : TinyExpressionP4Parser::e436C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10404:10409:body/0/literal", false, true, "text", false, K631); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e436M : TinyExpressionP4Parser::e436C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10390:10395:body/0/literal", false, true, "text", false, K647); } private static Match e436C(Session s, Frame f) { - return s.literal(f, "max", true, false, K632); + return s.literal(f, "max", true, false, K648); } private static Match e436M(Session s, Frame f) { - return s.literal(f, "max", true, false, K632); + return s.literal(f, "max", true, false, K648); } private static Match e437(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e437M(s, f) : e437C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e437M : TinyExpressionP4Parser::e437C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10410:10413:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e437M : TinyExpressionP4Parser::e437C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10396:10399:body/1/literal", false, true, "text", false, K399); } private static Match e437C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e437M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e438(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e438M(s, f) : e438C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e438M : TinyExpressionP4Parser::e438C, K633, K626, K225, K226, K226, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10414:10432:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e438M : TinyExpressionP4Parser::e438C, K649, K642, K225, K226, K226, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10400:10418:body/2/ruleRef", false, false, "node", false, K227); } private static Match e438C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5469,7 +5806,7 @@ private static Match e438M(Session s, Frame f) { } private static Match e439(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e439M(s, f) : e439C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e439M : TinyExpressionP4Parser::e439C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10440:10472:body/3/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e439M : TinyExpressionP4Parser::e439C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10426:10458:body/3/repeat", true, false, "node", true, K404); } private static Match e439C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e440, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -5480,27 +5817,27 @@ private static Match e439M(Session s, Frame f) { private static Match e440(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e440M(s, f) : e440C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e440M : TinyExpressionP4Parser::e440C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10442:10464:body/3/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e440M : TinyExpressionP4Parser::e440C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10428:10450:body/3/0/seq", false, false, "node", false, K404); } private static Match e440C(Session s, Frame f) { - return s.sequence(f, K634, K260); + return s.sequence(f, K650, K271); } private static Match e440M(Session s, Frame f) { - return s.sequence(f, K634, K260); + return s.sequence(f, K650, K271); } private static Match e441(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e441M(s, f) : e441C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e441M : TinyExpressionP4Parser::e441C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10442:10445:body/3/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e441M : TinyExpressionP4Parser::e441C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10428:10431:body/3/0/0/literal", false, true, "text", false, K404); } private static Match e441C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e441M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e442(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e442M(s, f) : e442C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e442M : TinyExpressionP4Parser::e442C, K635, K629, K225, K226, K226, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10446:10464:body/3/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e442M : TinyExpressionP4Parser::e442C, K651, K645, K225, K226, K226, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10432:10450:body/3/0/1/ruleRef", false, false, "node", false, K227); } private static Match e442C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5510,89 +5847,89 @@ private static Match e442M(Session s, Frame f) { } private static Match e443(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e443M(s, f) : e443C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e443M : TinyExpressionP4Parser::e443C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10473:10476:body/4/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e443M : TinyExpressionP4Parser::e443C, K216, K216, K216, K217, K217, "TinyExpressionP4::MaxFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10459:10462:body/4/literal", false, true, "text", false, K401); } private static Match e443C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e443M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e444(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e444M(s, f) : e444C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e444M : TinyExpressionP4Parser::e444C, K216, K216, K216, K217, K217, "TinyExpressionP4::RandomFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10524:10540:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e444M : TinyExpressionP4Parser::e444C, K216, K216, K216, K217, K217, "TinyExpressionP4::RandomFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10510:10526:body/seq", false, false, "text", false, K4); } private static Match e444C(Session s, Frame f) { - return s.sequence(f, K636, K248); + return s.sequence(f, K652, K251); } private static Match e444M(Session s, Frame f) { - return s.sequence(f, K636, K248); + return s.sequence(f, K652, K251); } private static Match e445(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e445M(s, f) : e445C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e445M : TinyExpressionP4Parser::e445C, K216, K216, K216, K217, K217, "TinyExpressionP4::RandomFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10524:10532:body/0/literal", false, true, "text", false, K637); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e445M : TinyExpressionP4Parser::e445C, K216, K216, K216, K217, K217, "TinyExpressionP4::RandomFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10510:10518:body/0/literal", false, true, "text", false, K653); } private static Match e445C(Session s, Frame f) { - return s.literal(f, "random", true, false, K638); + return s.literal(f, "random", true, false, K654); } private static Match e445M(Session s, Frame f) { - return s.literal(f, "random", true, false, K638); + return s.literal(f, "random", true, false, K654); } private static Match e446(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e446M(s, f) : e446C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e446M : TinyExpressionP4Parser::e446C, K216, K216, K216, K217, K217, "TinyExpressionP4::RandomFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10533:10536:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e446M : TinyExpressionP4Parser::e446C, K216, K216, K216, K217, K217, "TinyExpressionP4::RandomFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10519:10522:body/1/literal", false, true, "text", false, K399); } private static Match e446C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e446M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e447(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e447M(s, f) : e447C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e447M : TinyExpressionP4Parser::e447C, K216, K216, K216, K217, K217, "TinyExpressionP4::RandomFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10537:10540:body/2/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e447M : TinyExpressionP4Parser::e447C, K216, K216, K216, K217, K217, "TinyExpressionP4::RandomFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10523:10526:body/2/literal", false, true, "text", false, K401); } private static Match e447C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e447M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e448(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e448M(s, f) : e448C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e448M : TinyExpressionP4Parser::e448C, K216, K216, K216, K217, K217, "TinyExpressionP4::AbsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10596:10633:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e448M : TinyExpressionP4Parser::e448C, K216, K216, K216, K217, K217, "TinyExpressionP4::AbsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10582:10619:body/seq", false, false, "node", false, K4); } private static Match e448C(Session s, Frame f) { - return s.sequence(f, K639, K604); + return s.sequence(f, K655, K620); } private static Match e448M(Session s, Frame f) { - return s.sequence(f, K639, K604); + return s.sequence(f, K655, K620); } private static Match e449(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e449M(s, f) : e449C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e449M : TinyExpressionP4Parser::e449C, K216, K216, K216, K217, K217, "TinyExpressionP4::AbsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10596:10601:body/0/literal", false, true, "text", false, K640); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e449M : TinyExpressionP4Parser::e449C, K216, K216, K216, K217, K217, "TinyExpressionP4::AbsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10582:10587:body/0/literal", false, true, "text", false, K656); } private static Match e449C(Session s, Frame f) { - return s.literal(f, "abs", true, false, K641); + return s.literal(f, "abs", true, false, K657); } private static Match e449M(Session s, Frame f) { - return s.literal(f, "abs", true, false, K641); + return s.literal(f, "abs", true, false, K657); } private static Match e450(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e450M(s, f) : e450C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e450M : TinyExpressionP4Parser::e450C, K216, K216, K216, K217, K217, "TinyExpressionP4::AbsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10602:10605:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e450M : TinyExpressionP4Parser::e450C, K216, K216, K216, K217, K217, "TinyExpressionP4::AbsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10588:10591:body/1/literal", false, true, "text", false, K399); } private static Match e450C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e450M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e451(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e451M(s, f) : e451C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e451M : TinyExpressionP4Parser::e451C, K642, K609, K225, K226, K226, "TinyExpressionP4::AbsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10606:10624:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e451M : TinyExpressionP4Parser::e451C, K658, K625, K225, K226, K226, "TinyExpressionP4::AbsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10592:10610:body/2/ruleRef", false, false, "node", false, K227); } private static Match e451C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5602,48 +5939,48 @@ private static Match e451M(Session s, Frame f) { } private static Match e452(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e452M(s, f) : e452C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e452M : TinyExpressionP4Parser::e452C, K216, K216, K216, K217, K217, "TinyExpressionP4::AbsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10630:10633:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e452M : TinyExpressionP4Parser::e452C, K216, K216, K216, K217, K217, "TinyExpressionP4::AbsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10616:10619:body/3/literal", false, true, "text", false, K401); } private static Match e452C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e452M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e453(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e453M(s, f) : e453C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e453M : TinyExpressionP4Parser::e453C, K216, K216, K216, K217, K217, "TinyExpressionP4::RoundFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10693:10732:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e453M : TinyExpressionP4Parser::e453C, K216, K216, K216, K217, K217, "TinyExpressionP4::RoundFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10679:10718:body/seq", false, false, "node", false, K4); } private static Match e453C(Session s, Frame f) { - return s.sequence(f, K643, K604); + return s.sequence(f, K659, K620); } private static Match e453M(Session s, Frame f) { - return s.sequence(f, K643, K604); + return s.sequence(f, K659, K620); } private static Match e454(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e454M(s, f) : e454C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e454M : TinyExpressionP4Parser::e454C, K216, K216, K216, K217, K217, "TinyExpressionP4::RoundFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10693:10700:body/0/literal", false, true, "text", false, K644); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e454M : TinyExpressionP4Parser::e454C, K216, K216, K216, K217, K217, "TinyExpressionP4::RoundFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10679:10686:body/0/literal", false, true, "text", false, K660); } private static Match e454C(Session s, Frame f) { - return s.literal(f, "round", true, false, K645); + return s.literal(f, "round", true, false, K661); } private static Match e454M(Session s, Frame f) { - return s.literal(f, "round", true, false, K645); + return s.literal(f, "round", true, false, K661); } private static Match e455(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e455M(s, f) : e455C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e455M : TinyExpressionP4Parser::e455C, K216, K216, K216, K217, K217, "TinyExpressionP4::RoundFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10701:10704:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e455M : TinyExpressionP4Parser::e455C, K216, K216, K216, K217, K217, "TinyExpressionP4::RoundFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10687:10690:body/1/literal", false, true, "text", false, K399); } private static Match e455C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e455M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e456(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e456M(s, f) : e456C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e456M : TinyExpressionP4Parser::e456C, K646, K609, K225, K226, K226, "TinyExpressionP4::RoundFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10705:10723:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e456M : TinyExpressionP4Parser::e456C, K662, K625, K225, K226, K226, "TinyExpressionP4::RoundFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10691:10709:body/2/ruleRef", false, false, "node", false, K227); } private static Match e456C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5653,48 +5990,48 @@ private static Match e456M(Session s, Frame f) { } private static Match e457(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e457M(s, f) : e457C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e457M : TinyExpressionP4Parser::e457C, K216, K216, K216, K217, K217, "TinyExpressionP4::RoundFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10729:10732:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e457M : TinyExpressionP4Parser::e457C, K216, K216, K216, K217, K217, "TinyExpressionP4::RoundFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10715:10718:body/3/literal", false, true, "text", false, K401); } private static Match e457C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e457M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e458(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e458M(s, f) : e458C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e458M : TinyExpressionP4Parser::e458C, K216, K216, K216, K217, K217, "TinyExpressionP4::CeilFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10790:10828:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e458M : TinyExpressionP4Parser::e458C, K216, K216, K216, K217, K217, "TinyExpressionP4::CeilFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10776:10814:body/seq", false, false, "node", false, K4); } private static Match e458C(Session s, Frame f) { - return s.sequence(f, K647, K604); + return s.sequence(f, K663, K620); } private static Match e458M(Session s, Frame f) { - return s.sequence(f, K647, K604); + return s.sequence(f, K663, K620); } private static Match e459(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e459M(s, f) : e459C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e459M : TinyExpressionP4Parser::e459C, K216, K216, K216, K217, K217, "TinyExpressionP4::CeilFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10790:10796:body/0/literal", false, true, "text", false, K648); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e459M : TinyExpressionP4Parser::e459C, K216, K216, K216, K217, K217, "TinyExpressionP4::CeilFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10776:10782:body/0/literal", false, true, "text", false, K664); } private static Match e459C(Session s, Frame f) { - return s.literal(f, "ceil", true, false, K649); + return s.literal(f, "ceil", true, false, K665); } private static Match e459M(Session s, Frame f) { - return s.literal(f, "ceil", true, false, K649); + return s.literal(f, "ceil", true, false, K665); } private static Match e460(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e460M(s, f) : e460C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e460M : TinyExpressionP4Parser::e460C, K216, K216, K216, K217, K217, "TinyExpressionP4::CeilFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10797:10800:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e460M : TinyExpressionP4Parser::e460C, K216, K216, K216, K217, K217, "TinyExpressionP4::CeilFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10783:10786:body/1/literal", false, true, "text", false, K399); } private static Match e460C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e460M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e461(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e461M(s, f) : e461C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e461M : TinyExpressionP4Parser::e461C, K650, K609, K225, K226, K226, "TinyExpressionP4::CeilFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10801:10819:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e461M : TinyExpressionP4Parser::e461C, K666, K625, K225, K226, K226, "TinyExpressionP4::CeilFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10787:10805:body/2/ruleRef", false, false, "node", false, K227); } private static Match e461C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5704,48 +6041,48 @@ private static Match e461M(Session s, Frame f) { } private static Match e462(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e462M(s, f) : e462C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e462M : TinyExpressionP4Parser::e462C, K216, K216, K216, K217, K217, "TinyExpressionP4::CeilFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10825:10828:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e462M : TinyExpressionP4Parser::e462C, K216, K216, K216, K217, K217, "TinyExpressionP4::CeilFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10811:10814:body/3/literal", false, true, "text", false, K401); } private static Match e462C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e462M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e463(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e463M(s, f) : e463C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e463M : TinyExpressionP4Parser::e463C, K216, K216, K216, K217, K217, "TinyExpressionP4::FloorFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10888:10927:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e463M : TinyExpressionP4Parser::e463C, K216, K216, K216, K217, K217, "TinyExpressionP4::FloorFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10874:10913:body/seq", false, false, "node", false, K4); } private static Match e463C(Session s, Frame f) { - return s.sequence(f, K651, K604); + return s.sequence(f, K667, K620); } private static Match e463M(Session s, Frame f) { - return s.sequence(f, K651, K604); + return s.sequence(f, K667, K620); } private static Match e464(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e464M(s, f) : e464C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e464M : TinyExpressionP4Parser::e464C, K216, K216, K216, K217, K217, "TinyExpressionP4::FloorFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10888:10895:body/0/literal", false, true, "text", false, K652); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e464M : TinyExpressionP4Parser::e464C, K216, K216, K216, K217, K217, "TinyExpressionP4::FloorFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10874:10881:body/0/literal", false, true, "text", false, K668); } private static Match e464C(Session s, Frame f) { - return s.literal(f, "floor", true, false, K653); + return s.literal(f, "floor", true, false, K669); } private static Match e464M(Session s, Frame f) { - return s.literal(f, "floor", true, false, K653); + return s.literal(f, "floor", true, false, K669); } private static Match e465(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e465M(s, f) : e465C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e465M : TinyExpressionP4Parser::e465C, K216, K216, K216, K217, K217, "TinyExpressionP4::FloorFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10896:10899:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e465M : TinyExpressionP4Parser::e465C, K216, K216, K216, K217, K217, "TinyExpressionP4::FloorFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10882:10885:body/1/literal", false, true, "text", false, K399); } private static Match e465C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e465M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e466(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e466M(s, f) : e466C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e466M : TinyExpressionP4Parser::e466C, K654, K609, K225, K226, K226, "TinyExpressionP4::FloorFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10900:10918:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e466M : TinyExpressionP4Parser::e466C, K670, K625, K225, K226, K226, "TinyExpressionP4::FloorFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10886:10904:body/2/ruleRef", false, false, "node", false, K227); } private static Match e466C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5755,48 +6092,48 @@ private static Match e466M(Session s, Frame f) { } private static Match e467(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e467M(s, f) : e467C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e467M : TinyExpressionP4Parser::e467C, K216, K216, K216, K217, K217, "TinyExpressionP4::FloorFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10924:10927:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e467M : TinyExpressionP4Parser::e467C, K216, K216, K216, K217, K217, "TinyExpressionP4::FloorFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10910:10913:body/3/literal", false, true, "text", false, K401); } private static Match e467C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e467M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e468(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e468M(s, f) : e468C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e468M : TinyExpressionP4Parser::e468C, K216, K216, K216, K217, K217, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10994:11065:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e468M : TinyExpressionP4Parser::e468C, K216, K216, K216, K217, K217, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10980:11051:body/seq", false, false, "node", true, K4); } private static Match e468C(Session s, Frame f) { - return s.sequence(f, K655, K252); + return s.sequence(f, K671, K263); } private static Match e468M(Session s, Frame f) { - return s.sequence(f, K655, K252); + return s.sequence(f, K671, K263); } private static Match e469(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e469M(s, f) : e469C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e469M : TinyExpressionP4Parser::e469C, K216, K216, K216, K217, K217, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10994:10999:body/0/literal", false, true, "text", false, K656); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e469M : TinyExpressionP4Parser::e469C, K216, K216, K216, K217, K217, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10980:10985:body/0/literal", false, true, "text", false, K672); } private static Match e469C(Session s, Frame f) { - return s.literal(f, "pow", true, false, K657); + return s.literal(f, "pow", true, false, K673); } private static Match e469M(Session s, Frame f) { - return s.literal(f, "pow", true, false, K657); + return s.literal(f, "pow", true, false, K673); } private static Match e470(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e470M(s, f) : e470C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e470M : TinyExpressionP4Parser::e470C, K216, K216, K216, K217, K217, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11000:11003:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e470M : TinyExpressionP4Parser::e470C, K216, K216, K216, K217, K217, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10986:10989:body/1/literal", false, true, "text", false, K399); } private static Match e470C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e470M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e471(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e471M(s, f) : e471C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e471M : TinyExpressionP4Parser::e471C, K658, K659, K225, K226, K226, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11004:11022:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e471M : TinyExpressionP4Parser::e471C, K674, K675, K225, K226, K226, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10990:11008:body/2/ruleRef", false, false, "node", false, K227); } private static Match e471C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5806,17 +6143,17 @@ private static Match e471M(Session s, Frame f) { } private static Match e472(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e472M(s, f) : e472C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e472M : TinyExpressionP4Parser::e472C, K216, K216, K216, K217, K217, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11029:11032:body/3/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e472M : TinyExpressionP4Parser::e472C, K216, K216, K216, K217, K217, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11015:11018:body/3/literal", false, true, "text", false, K404); } private static Match e472C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e472M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e473(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e473M(s, f) : e473C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e473M : TinyExpressionP4Parser::e473C, K660, K661, K225, K226, K226, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11033:11051:body/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e473M : TinyExpressionP4Parser::e473C, K676, K677, K225, K226, K226, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11019:11037:body/4/ruleRef", false, false, "node", false, K227); } private static Match e473C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5826,48 +6163,48 @@ private static Match e473M(Session s, Frame f) { } private static Match e474(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e474M(s, f) : e474C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e474M : TinyExpressionP4Parser::e474C, K216, K216, K216, K217, K217, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11062:11065:body/5/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e474M : TinyExpressionP4Parser::e474C, K216, K216, K216, K217, K217, "TinyExpressionP4::PowFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11048:11051:body/5/literal", false, true, "text", false, K401); } private static Match e474C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e474M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e475(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e475M(s, f) : e475C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e475M : TinyExpressionP4Parser::e475C, K216, K216, K216, K217, K217, "TinyExpressionP4::LogFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11121:11158:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e475M : TinyExpressionP4Parser::e475C, K216, K216, K216, K217, K217, "TinyExpressionP4::LogFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11107:11144:body/seq", false, false, "node", false, K4); } private static Match e475C(Session s, Frame f) { - return s.sequence(f, K662, K604); + return s.sequence(f, K678, K620); } private static Match e475M(Session s, Frame f) { - return s.sequence(f, K662, K604); + return s.sequence(f, K678, K620); } private static Match e476(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e476M(s, f) : e476C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e476M : TinyExpressionP4Parser::e476C, K216, K216, K216, K217, K217, "TinyExpressionP4::LogFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11121:11126:body/0/literal", false, true, "text", false, K663); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e476M : TinyExpressionP4Parser::e476C, K216, K216, K216, K217, K217, "TinyExpressionP4::LogFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11107:11112:body/0/literal", false, true, "text", false, K679); } private static Match e476C(Session s, Frame f) { - return s.literal(f, "log", true, false, K664); + return s.literal(f, "log", true, false, K680); } private static Match e476M(Session s, Frame f) { - return s.literal(f, "log", true, false, K664); + return s.literal(f, "log", true, false, K680); } private static Match e477(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e477M(s, f) : e477C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e477M : TinyExpressionP4Parser::e477C, K216, K216, K216, K217, K217, "TinyExpressionP4::LogFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11127:11130:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e477M : TinyExpressionP4Parser::e477C, K216, K216, K216, K217, K217, "TinyExpressionP4::LogFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11113:11116:body/1/literal", false, true, "text", false, K399); } private static Match e477C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e477M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e478(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e478M(s, f) : e478C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e478M : TinyExpressionP4Parser::e478C, K665, K609, K225, K226, K226, "TinyExpressionP4::LogFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11131:11149:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e478M : TinyExpressionP4Parser::e478C, K681, K625, K225, K226, K226, "TinyExpressionP4::LogFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11117:11135:body/2/ruleRef", false, false, "node", false, K227); } private static Match e478C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5877,48 +6214,48 @@ private static Match e478M(Session s, Frame f) { } private static Match e479(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e479M(s, f) : e479C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e479M : TinyExpressionP4Parser::e479C, K216, K216, K216, K217, K217, "TinyExpressionP4::LogFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11155:11158:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e479M : TinyExpressionP4Parser::e479C, K216, K216, K216, K217, K217, "TinyExpressionP4::LogFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11141:11144:body/3/literal", false, true, "text", false, K401); } private static Match e479C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e479M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e480(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e480M(s, f) : e480C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e480M : TinyExpressionP4Parser::e480C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExpFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11214:11251:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e480M : TinyExpressionP4Parser::e480C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExpFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11200:11237:body/seq", false, false, "node", false, K4); } private static Match e480C(Session s, Frame f) { - return s.sequence(f, K666, K604); + return s.sequence(f, K682, K620); } private static Match e480M(Session s, Frame f) { - return s.sequence(f, K666, K604); + return s.sequence(f, K682, K620); } private static Match e481(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e481M(s, f) : e481C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e481M : TinyExpressionP4Parser::e481C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExpFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11214:11219:body/0/literal", false, true, "text", false, K667); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e481M : TinyExpressionP4Parser::e481C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExpFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11200:11205:body/0/literal", false, true, "text", false, K683); } private static Match e481C(Session s, Frame f) { - return s.literal(f, "exp", true, false, K668); + return s.literal(f, "exp", true, false, K684); } private static Match e481M(Session s, Frame f) { - return s.literal(f, "exp", true, false, K668); + return s.literal(f, "exp", true, false, K684); } private static Match e482(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e482M(s, f) : e482C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e482M : TinyExpressionP4Parser::e482C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExpFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11220:11223:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e482M : TinyExpressionP4Parser::e482C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExpFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11206:11209:body/1/literal", false, true, "text", false, K399); } private static Match e482C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e482M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e483(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e483M(s, f) : e483C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e483M : TinyExpressionP4Parser::e483C, K669, K609, K225, K226, K226, "TinyExpressionP4::ExpFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11224:11242:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e483M : TinyExpressionP4Parser::e483C, K685, K625, K225, K226, K226, "TinyExpressionP4::ExpFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11210:11228:body/2/ruleRef", false, false, "node", false, K227); } private static Match e483C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5928,48 +6265,48 @@ private static Match e483M(Session s, Frame f) { } private static Match e484(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e484M(s, f) : e484C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e484M : TinyExpressionP4Parser::e484C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExpFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11248:11251:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e484M : TinyExpressionP4Parser::e484C, K216, K216, K216, K217, K217, "TinyExpressionP4::ExpFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11234:11237:body/3/literal", false, true, "text", false, K401); } private static Match e484C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e484M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e485(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e485M(s, f) : e485C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e485M : TinyExpressionP4Parser::e485C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11405:11481:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e485M : TinyExpressionP4Parser::e485C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11391:11467:body/seq", false, false, "node", true, K4); } private static Match e485C(Session s, Frame f) { - return s.sequence(f, K670, K252); + return s.sequence(f, K686, K263); } private static Match e485M(Session s, Frame f) { - return s.sequence(f, K670, K252); + return s.sequence(f, K686, K263); } private static Match e486(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e486M(s, f) : e486C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e486M : TinyExpressionP4Parser::e486C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11405:11412:body/0/literal", false, true, "text", false, K671); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e486M : TinyExpressionP4Parser::e486C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11391:11398:body/0/literal", false, true, "text", false, K687); } private static Match e486C(Session s, Frame f) { - return s.literal(f, "toNum", true, false, K672); + return s.literal(f, "toNum", true, false, K688); } private static Match e486M(Session s, Frame f) { - return s.literal(f, "toNum", true, false, K672); + return s.literal(f, "toNum", true, false, K688); } private static Match e487(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e487M(s, f) : e487C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e487M : TinyExpressionP4Parser::e487C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11413:11416:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e487M : TinyExpressionP4Parser::e487C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11399:11402:body/1/literal", false, true, "text", false, K399); } private static Match e487C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e487M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e488(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e488M(s, f) : e488C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e488M : TinyExpressionP4Parser::e488C, K673, K311, K225, K226, K226, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11417:11433:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e488M : TinyExpressionP4Parser::e488C, K689, K323, K225, K226, K226, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11403:11419:body/2/ruleRef", false, false, "node", false, K227); } private static Match e488C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -5979,17 +6316,17 @@ private static Match e488M(Session s, Frame f) { } private static Match e489(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e489M(s, f) : e489C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e489M : TinyExpressionP4Parser::e489C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11441:11444:body/3/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e489M : TinyExpressionP4Parser::e489C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11427:11430:body/3/literal", false, true, "text", false, K404); } private static Match e489C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e489M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e490(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e490M(s, f) : e490C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e490M : TinyExpressionP4Parser::e490C, K674, K675, K225, K226, K226, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11445:11463:body/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e490M : TinyExpressionP4Parser::e490C, K690, K691, K225, K226, K226, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11431:11449:body/4/ruleRef", false, false, "node", false, K227); } private static Match e490C(Session s, Frame f) { return parseArgumentExpression_38(s, f); @@ -5999,27 +6336,27 @@ private static Match e490M(Session s, Frame f) { } private static Match e491(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e491M(s, f) : e491C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e491M : TinyExpressionP4Parser::e491C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11478:11481:body/5/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e491M : TinyExpressionP4Parser::e491C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToNumFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11464:11467:body/5/literal", false, true, "text", false, K401); } private static Match e491C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e491M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e492(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e492M(s, f) : e492C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e492M : TinyExpressionP4Parser::e492C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11510:11790:body/choice", false, false, "mixed", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e492M : TinyExpressionP4Parser::e492C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11496:11776:body/choice", false, false, "mixed", false, K4); } private static Match e492C(Session s, Frame f) { - return s.choice(f,K717,false,null,false,K716); + return s.choice(f,K733,false,null,false,K732); } private static Match e492M(Session s, Frame f) { - return s.choice(f,K717,false,null,false,K716); + return s.choice(f,K733,false,null,false,K732); } private static Match e493(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e493M(s, f) : e493C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e493M : TinyExpressionP4Parser::e493C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11510:11527:body/0/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e493M : TinyExpressionP4Parser::e493C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11496:11513:body/0/ruleRef", false, false, "node", false, K4); } private static Match e493C(Session s, Frame f) { return parseTernaryExpression_108(s, f); @@ -6029,7 +6366,7 @@ private static Match e493M(Session s, Frame f) { } private static Match e494(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e494M(s, f) : e494C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e494M : TinyExpressionP4Parser::e494C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11534:11555:body/1/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e494M : TinyExpressionP4Parser::e494C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11520:11541:body/1/ruleRef", false, false, "node", false, K4); } private static Match e494C(Session s, Frame f) { return parseNumberMatchExpression_109(s, f); @@ -6039,7 +6376,7 @@ private static Match e494M(Session s, Frame f) { } private static Match e495(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e495M(s, f) : e495C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e495M : TinyExpressionP4Parser::e495C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11562:11574:body/2/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e495M : TinyExpressionP4Parser::e495C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11548:11560:body/2/ruleRef", false, false, "node", false, K4); } private static Match e495C(Session s, Frame f) { return parseIfExpression_106(s, f); @@ -6049,7 +6386,7 @@ private static Match e495M(Session s, Frame f) { } private static Match e496(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e496M(s, f) : e496C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e496M : TinyExpressionP4Parser::e496C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11581:11593:body/3/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e496M : TinyExpressionP4Parser::e496C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11567:11579:body/3/ruleRef", false, false, "node", false, K4); } private static Match e496C(Session s, Frame f) { return parseMathFunction_44(s, f); @@ -6059,7 +6396,7 @@ private static Match e496M(Session s, Frame f) { } private static Match e497(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e497M(s, f) : e497C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e497M : TinyExpressionP4Parser::e497C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11600:11613:body/4/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e497M : TinyExpressionP4Parser::e497C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11586:11599:body/4/ruleRef", false, false, "node", false, K4); } private static Match e497C(Session s, Frame f) { return parseToNumFunction_59(s, f); @@ -6069,7 +6406,7 @@ private static Match e497M(Session s, Frame f) { } private static Match e498(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e498M(s, f) : e498C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e498M : TinyExpressionP4Parser::e498C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11620:11635:body/5/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e498M : TinyExpressionP4Parser::e498C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11606:11621:body/5/ruleRef", false, false, "node", false, K4); } private static Match e498C(Session s, Frame f) { return parseLengthDotMethod_69(s, f); @@ -6079,7 +6416,7 @@ private static Match e498M(Session s, Frame f) { } private static Match e499(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e499M(s, f) : e499C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e499M : TinyExpressionP4Parser::e499C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11642:11653:body/6/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e499M : TinyExpressionP4Parser::e499C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11628:11639:body/6/ruleRef", false, false, "node", false, K4); } private static Match e499C(Session s, Frame f) { return parseLenFunction_65(s, f); @@ -6089,7 +6426,7 @@ private static Match e499M(Session s, Frame f) { } private static Match e500(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e500M(s, f) : e500C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e500M : TinyExpressionP4Parser::e500C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11660:11674:body/7/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e500M : TinyExpressionP4Parser::e500C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11646:11660:body/7/ruleRef", false, false, "node", false, K4); } private static Match e500C(Session s, Frame f) { return parseLengthFunction_64(s, f); @@ -6099,7 +6436,7 @@ private static Match e500M(Session s, Frame f) { } private static Match e501(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e501M(s, f) : e501C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e501M : TinyExpressionP4Parser::e501C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11681:11705:body/8/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e501M : TinyExpressionP4Parser::e501C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11667:11691:body/8/ruleRef", false, false, "node", false, K4); } private static Match e501C(Session s, Frame f) { return parseExternalNumberInvocation_32(s, f); @@ -6109,17 +6446,17 @@ private static Match e501M(Session s, Frame f) { } private static Match e502(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e502M(s, f) : e502C(s, f); s.progress(f); return s.tree ? s.textAlternative(r) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e502M : TinyExpressionP4Parser::e502C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11712:11718:body/9/tokenRef", false, true, "textAlternative", false, K718); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e502M : TinyExpressionP4Parser::e502C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11698:11704:body/9/tokenRef", false, true, "textAlternative", false, K734); } private static Match e502C(Session s, Frame f) { - return s.builtin(f,"Number",K237,K719); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K735,K736); } private static Match e502M(Session s, Frame f) { - return s.builtin(f,"Number",K237,K719); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K735,K736); } private static Match e503(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e503M(s, f) : e503C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e503M : TinyExpressionP4Parser::e503C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11725:11736:body/10/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e503M : TinyExpressionP4Parser::e503C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11711:11722:body/10/ruleRef", false, false, "node", false, K4); } private static Match e503C(Session s, Frame f) { return parseVariableRef_121(s, f); @@ -6129,7 +6466,7 @@ private static Match e503M(Session s, Frame f) { } private static Match e504(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e504M(s, f) : e504C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e504M : TinyExpressionP4Parser::e504C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11743:11759:body/11/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e504M : TinyExpressionP4Parser::e504C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11729:11745:body/11/ruleRef", false, false, "node", false, K4); } private static Match e504C(Session s, Frame f) { return parseMethodInvocation_36(s, f); @@ -6140,27 +6477,27 @@ private static Match e504M(Session s, Frame f) { private static Match e505(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e505M(s, f) : e505C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e505M : TinyExpressionP4Parser::e505C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11766:11790:body/12/seq", false, false, "node", false, K161); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e505M : TinyExpressionP4Parser::e505C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11752:11776:body/12/seq", false, false, "node", false, K161); } private static Match e505C(Session s, Frame f) { - return s.sequence(f, K720, K248); + return s.sequence(f, K737, K251); } private static Match e505M(Session s, Frame f) { - return s.sequence(f, K720, K248); + return s.sequence(f, K737, K251); } private static Match e506(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e506M(s, f) : e506C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e506M : TinyExpressionP4Parser::e506C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11766:11769:body/12/0/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e506M : TinyExpressionP4Parser::e506C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11752:11755:body/12/0/literal", false, true, "text", false, K399); } private static Match e506C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e506M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e507(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e507M(s, f) : e507C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e507M : TinyExpressionP4Parser::e507C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11770:11786:body/12/1/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e507M : TinyExpressionP4Parser::e507C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11756:11772:body/12/1/ruleRef", false, false, "node", false, K4); } private static Match e507C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -6170,48 +6507,48 @@ private static Match e507M(Session s, Frame f) { } private static Match e508(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e508M(s, f) : e508C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e508M : TinyExpressionP4Parser::e508C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11787:11790:body/12/2/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e508M : TinyExpressionP4Parser::e508C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11773:11776:body/12/2/literal", false, true, "text", false, K401); } private static Match e508C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e508M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e509(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e509M(s, f) : e509C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e509M : TinyExpressionP4Parser::e509C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11943:11988:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e509M : TinyExpressionP4Parser::e509C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11929:11974:body/seq", false, false, "node", false, K4); } private static Match e509C(Session s, Frame f) { - return s.sequence(f, K721, K604); + return s.sequence(f, K738, K620); } private static Match e509M(Session s, Frame f) { - return s.sequence(f, K721, K604); + return s.sequence(f, K738, K620); } private static Match e510(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e510M(s, f) : e510C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e510M : TinyExpressionP4Parser::e510C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11943:11956:body/0/literal", false, true, "text", false, K722); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e510M : TinyExpressionP4Parser::e510C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11929:11942:body/0/literal", false, true, "text", false, K739); } private static Match e510C(Session s, Frame f) { - return s.literal(f, "toUpperCase", true, false, K723); + return s.literal(f, "toUpperCase", true, false, K740); } private static Match e510M(Session s, Frame f) { - return s.literal(f, "toUpperCase", true, false, K723); + return s.literal(f, "toUpperCase", true, false, K740); } private static Match e511(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e511M(s, f) : e511C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e511M : TinyExpressionP4Parser::e511C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11957:11960:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e511M : TinyExpressionP4Parser::e511C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11943:11946:body/1/literal", false, true, "text", false, K399); } private static Match e511C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e511M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e512(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e512M(s, f) : e512C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e512M : TinyExpressionP4Parser::e512C, K724, K311, K225, K226, K226, "TinyExpressionP4::ToUpperCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11961:11977:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e512M : TinyExpressionP4Parser::e512C, K741, K323, K225, K226, K226, "TinyExpressionP4::ToUpperCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11947:11963:body/2/ruleRef", false, false, "node", false, K227); } private static Match e512C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6221,48 +6558,48 @@ private static Match e512M(Session s, Frame f) { } private static Match e513(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e513M(s, f) : e513C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e513M : TinyExpressionP4Parser::e513C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11985:11988:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e513M : TinyExpressionP4Parser::e513C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11971:11974:body/3/literal", false, true, "text", false, K401); } private static Match e513C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e513M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e514(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e514M(s, f) : e514C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e514M : TinyExpressionP4Parser::e514C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12062:12107:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e514M : TinyExpressionP4Parser::e514C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12048:12093:body/seq", false, false, "node", false, K4); } private static Match e514C(Session s, Frame f) { - return s.sequence(f, K725, K604); + return s.sequence(f, K742, K620); } private static Match e514M(Session s, Frame f) { - return s.sequence(f, K725, K604); + return s.sequence(f, K742, K620); } private static Match e515(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e515M(s, f) : e515C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e515M : TinyExpressionP4Parser::e515C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12062:12075:body/0/literal", false, true, "text", false, K726); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e515M : TinyExpressionP4Parser::e515C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12048:12061:body/0/literal", false, true, "text", false, K743); } private static Match e515C(Session s, Frame f) { - return s.literal(f, "toLowerCase", true, false, K727); + return s.literal(f, "toLowerCase", true, false, K744); } private static Match e515M(Session s, Frame f) { - return s.literal(f, "toLowerCase", true, false, K727); + return s.literal(f, "toLowerCase", true, false, K744); } private static Match e516(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e516M(s, f) : e516C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e516M : TinyExpressionP4Parser::e516C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12076:12079:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e516M : TinyExpressionP4Parser::e516C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12062:12065:body/1/literal", false, true, "text", false, K399); } private static Match e516C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e516M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e517(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e517M(s, f) : e517C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e517M : TinyExpressionP4Parser::e517C, K728, K311, K225, K226, K226, "TinyExpressionP4::ToLowerCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12080:12096:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e517M : TinyExpressionP4Parser::e517C, K745, K323, K225, K226, K226, "TinyExpressionP4::ToLowerCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12066:12082:body/2/ruleRef", false, false, "node", false, K227); } private static Match e517C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6272,48 +6609,48 @@ private static Match e517M(Session s, Frame f) { } private static Match e518(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e518M(s, f) : e518C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e518M : TinyExpressionP4Parser::e518C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12104:12107:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e518M : TinyExpressionP4Parser::e518C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12090:12093:body/3/literal", false, true, "text", false, K401); } private static Match e518C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e518M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e519(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e519M(s, f) : e519C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e519M : TinyExpressionP4Parser::e519C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12167:12205:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e519M : TinyExpressionP4Parser::e519C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12153:12191:body/seq", false, false, "node", false, K4); } private static Match e519C(Session s, Frame f) { - return s.sequence(f, K729, K604); + return s.sequence(f, K746, K620); } private static Match e519M(Session s, Frame f) { - return s.sequence(f, K729, K604); + return s.sequence(f, K746, K620); } private static Match e520(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e520M(s, f) : e520C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e520M : TinyExpressionP4Parser::e520C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12167:12173:body/0/literal", false, true, "text", false, K730); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e520M : TinyExpressionP4Parser::e520C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12153:12159:body/0/literal", false, true, "text", false, K747); } private static Match e520C(Session s, Frame f) { - return s.literal(f, "trim", true, false, K731); + return s.literal(f, "trim", true, false, K748); } private static Match e520M(Session s, Frame f) { - return s.literal(f, "trim", true, false, K731); + return s.literal(f, "trim", true, false, K748); } private static Match e521(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e521M(s, f) : e521C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e521M : TinyExpressionP4Parser::e521C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12174:12177:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e521M : TinyExpressionP4Parser::e521C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12160:12163:body/1/literal", false, true, "text", false, K399); } private static Match e521C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e521M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e522(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e522M(s, f) : e522C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e522M : TinyExpressionP4Parser::e522C, K732, K311, K225, K226, K226, "TinyExpressionP4::TrimFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12178:12194:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e522M : TinyExpressionP4Parser::e522C, K749, K323, K225, K226, K226, "TinyExpressionP4::TrimFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12164:12180:body/2/ruleRef", false, false, "node", false, K227); } private static Match e522C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6323,48 +6660,48 @@ private static Match e522M(Session s, Frame f) { } private static Match e523(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e523M(s, f) : e523C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e523M : TinyExpressionP4Parser::e523C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12202:12205:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e523M : TinyExpressionP4Parser::e523C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12188:12191:body/3/literal", false, true, "text", false, K401); } private static Match e523C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e523M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e524(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e524M(s, f) : e524C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e524M : TinyExpressionP4Parser::e524C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12269:12309:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e524M : TinyExpressionP4Parser::e524C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12255:12295:body/seq", false, false, "node", false, K4); } private static Match e524C(Session s, Frame f) { - return s.sequence(f, K733, K604); + return s.sequence(f, K750, K620); } private static Match e524M(Session s, Frame f) { - return s.sequence(f, K733, K604); + return s.sequence(f, K750, K620); } private static Match e525(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e525M(s, f) : e525C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e525M : TinyExpressionP4Parser::e525C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12269:12277:body/0/literal", false, true, "text", false, K734); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e525M : TinyExpressionP4Parser::e525C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12255:12263:body/0/literal", false, true, "text", false, K751); } private static Match e525C(Session s, Frame f) { - return s.literal(f, "length", true, false, K735); + return s.literal(f, "length", true, false, K752); } private static Match e525M(Session s, Frame f) { - return s.literal(f, "length", true, false, K735); + return s.literal(f, "length", true, false, K752); } private static Match e526(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e526M(s, f) : e526C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e526M : TinyExpressionP4Parser::e526C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12278:12281:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e526M : TinyExpressionP4Parser::e526C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12264:12267:body/1/literal", false, true, "text", false, K399); } private static Match e526C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e526M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e527(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e527M(s, f) : e527C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e527M : TinyExpressionP4Parser::e527C, K736, K311, K225, K226, K226, "TinyExpressionP4::LengthFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12282:12298:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e527M : TinyExpressionP4Parser::e527C, K753, K323, K225, K226, K226, "TinyExpressionP4::LengthFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12268:12284:body/2/ruleRef", false, false, "node", false, K227); } private static Match e527C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6374,48 +6711,48 @@ private static Match e527M(Session s, Frame f) { } private static Match e528(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e528M(s, f) : e528C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e528M : TinyExpressionP4Parser::e528C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12306:12309:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e528M : TinyExpressionP4Parser::e528C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12292:12295:body/3/literal", false, true, "text", false, K401); } private static Match e528C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e528M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e529(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e529M(s, f) : e529C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e529M : TinyExpressionP4Parser::e529C, K216, K216, K216, K217, K217, "TinyExpressionP4::LenFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12370:12407:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e529M : TinyExpressionP4Parser::e529C, K216, K216, K216, K217, K217, "TinyExpressionP4::LenFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12356:12393:body/seq", false, false, "node", false, K4); } private static Match e529C(Session s, Frame f) { - return s.sequence(f, K737, K604); + return s.sequence(f, K754, K620); } private static Match e529M(Session s, Frame f) { - return s.sequence(f, K737, K604); + return s.sequence(f, K754, K620); } private static Match e530(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e530M(s, f) : e530C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e530M : TinyExpressionP4Parser::e530C, K216, K216, K216, K217, K217, "TinyExpressionP4::LenFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12370:12375:body/0/literal", false, true, "text", false, K738); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e530M : TinyExpressionP4Parser::e530C, K216, K216, K216, K217, K217, "TinyExpressionP4::LenFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12356:12361:body/0/literal", false, true, "text", false, K755); } private static Match e530C(Session s, Frame f) { - return s.literal(f, "len", true, false, K739); + return s.literal(f, "len", true, false, K756); } private static Match e530M(Session s, Frame f) { - return s.literal(f, "len", true, false, K739); + return s.literal(f, "len", true, false, K756); } private static Match e531(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e531M(s, f) : e531C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e531M : TinyExpressionP4Parser::e531C, K216, K216, K216, K217, K217, "TinyExpressionP4::LenFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12376:12379:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e531M : TinyExpressionP4Parser::e531C, K216, K216, K216, K217, K217, "TinyExpressionP4::LenFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12362:12365:body/1/literal", false, true, "text", false, K399); } private static Match e531C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e531M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e532(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e532M(s, f) : e532C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e532M : TinyExpressionP4Parser::e532C, K740, K311, K225, K226, K226, "TinyExpressionP4::LenFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12380:12396:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e532M : TinyExpressionP4Parser::e532C, K757, K323, K225, K226, K226, "TinyExpressionP4::LenFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12366:12382:body/2/ruleRef", false, false, "node", false, K227); } private static Match e532C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6425,28 +6762,28 @@ private static Match e532M(Session s, Frame f) { } private static Match e533(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e533M(s, f) : e533C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e533M : TinyExpressionP4Parser::e533C, K216, K216, K216, K217, K217, "TinyExpressionP4::LenFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12404:12407:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e533M : TinyExpressionP4Parser::e533C, K216, K216, K216, K217, K217, "TinyExpressionP4::LenFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12390:12393:body/3/literal", false, true, "text", false, K401); } private static Match e533C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e533M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e534(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e534M(s, f) : e534C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e534M : TinyExpressionP4Parser::e534C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12732:12773:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e534M : TinyExpressionP4Parser::e534C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12718:12759:body/seq", false, false, "node", false, K4); } private static Match e534C(Session s, Frame f) { - return s.sequence(f, K741, K604); + return s.sequence(f, K758, K620); } private static Match e534M(Session s, Frame f) { - return s.sequence(f, K741, K604); + return s.sequence(f, K758, K620); } private static Match e535(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e535M(s, f) : e535C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e535M : TinyExpressionP4Parser::e535C, K742, K311, K225, K226, K226, "TinyExpressionP4::ToUpperCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12732:12743:body/0/ruleRef", false, false, "node", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e535M : TinyExpressionP4Parser::e535C, K759, K323, K225, K226, K226, "TinyExpressionP4::ToUpperCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12718:12729:body/0/ruleRef", false, false, "node", false, K50); } private static Match e535C(Session s, Frame f) { return parseVariableRef_121(s, f); @@ -6456,48 +6793,48 @@ private static Match e535M(Session s, Frame f) { } private static Match e536(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e536M(s, f) : e536C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e536M : TinyExpressionP4Parser::e536C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12751:12765:body/1/literal", false, true, "text", false, K743); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e536M : TinyExpressionP4Parser::e536C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12737:12751:body/1/literal", false, true, "text", false, K760); } private static Match e536C(Session s, Frame f) { - return s.literal(f, ".toUpperCase", true, false, K744); + return s.literal(f, ".toUpperCase", true, false, K761); } private static Match e536M(Session s, Frame f) { - return s.literal(f, ".toUpperCase", true, false, K744); + return s.literal(f, ".toUpperCase", true, false, K761); } private static Match e537(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e537M(s, f) : e537C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e537M : TinyExpressionP4Parser::e537C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12766:12769:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e537M : TinyExpressionP4Parser::e537C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12752:12755:body/2/literal", false, true, "text", false, K399); } private static Match e537C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e537M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e538(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e538M(s, f) : e538C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e538M : TinyExpressionP4Parser::e538C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12770:12773:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e538M : TinyExpressionP4Parser::e538C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToUpperCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12756:12759:body/3/literal", false, true, "text", false, K401); } private static Match e538C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e538M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e539(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e539M(s, f) : e539C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e539M : TinyExpressionP4Parser::e539C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12851:12892:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e539M : TinyExpressionP4Parser::e539C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12837:12878:body/seq", false, false, "node", false, K4); } private static Match e539C(Session s, Frame f) { - return s.sequence(f, K745, K604); + return s.sequence(f, K762, K620); } private static Match e539M(Session s, Frame f) { - return s.sequence(f, K745, K604); + return s.sequence(f, K762, K620); } private static Match e540(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e540M(s, f) : e540C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e540M : TinyExpressionP4Parser::e540C, K746, K311, K225, K226, K226, "TinyExpressionP4::ToLowerCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12851:12862:body/0/ruleRef", false, false, "node", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e540M : TinyExpressionP4Parser::e540C, K763, K323, K225, K226, K226, "TinyExpressionP4::ToLowerCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12837:12848:body/0/ruleRef", false, false, "node", false, K50); } private static Match e540C(Session s, Frame f) { return parseVariableRef_121(s, f); @@ -6507,48 +6844,48 @@ private static Match e540M(Session s, Frame f) { } private static Match e541(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e541M(s, f) : e541C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e541M : TinyExpressionP4Parser::e541C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12870:12884:body/1/literal", false, true, "text", false, K747); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e541M : TinyExpressionP4Parser::e541C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12856:12870:body/1/literal", false, true, "text", false, K764); } private static Match e541C(Session s, Frame f) { - return s.literal(f, ".toLowerCase", true, false, K748); + return s.literal(f, ".toLowerCase", true, false, K765); } private static Match e541M(Session s, Frame f) { - return s.literal(f, ".toLowerCase", true, false, K748); + return s.literal(f, ".toLowerCase", true, false, K765); } private static Match e542(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e542M(s, f) : e542C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e542M : TinyExpressionP4Parser::e542C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12885:12888:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e542M : TinyExpressionP4Parser::e542C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12871:12874:body/2/literal", false, true, "text", false, K399); } private static Match e542C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e542M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e543(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e543M(s, f) : e543C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e543M : TinyExpressionP4Parser::e543C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12889:12892:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e543M : TinyExpressionP4Parser::e543C, K216, K216, K216, K217, K217, "TinyExpressionP4::ToLowerCaseDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12875:12878:body/3/literal", false, true, "text", false, K401); } private static Match e543C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e543M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e544(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e544M(s, f) : e544C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e544M : TinyExpressionP4Parser::e544C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12956:12990:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e544M : TinyExpressionP4Parser::e544C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12942:12976:body/seq", false, false, "node", false, K4); } private static Match e544C(Session s, Frame f) { - return s.sequence(f, K749, K604); + return s.sequence(f, K766, K620); } private static Match e544M(Session s, Frame f) { - return s.sequence(f, K749, K604); + return s.sequence(f, K766, K620); } private static Match e545(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e545M(s, f) : e545C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e545M : TinyExpressionP4Parser::e545C, K750, K311, K225, K226, K226, "TinyExpressionP4::TrimDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12956:12967:body/0/ruleRef", false, false, "node", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e545M : TinyExpressionP4Parser::e545C, K767, K323, K225, K226, K226, "TinyExpressionP4::TrimDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12942:12953:body/0/ruleRef", false, false, "node", false, K50); } private static Match e545C(Session s, Frame f) { return parseVariableRef_121(s, f); @@ -6558,48 +6895,48 @@ private static Match e545M(Session s, Frame f) { } private static Match e546(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e546M(s, f) : e546C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e546M : TinyExpressionP4Parser::e546C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12975:12982:body/1/literal", false, true, "text", false, K751); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e546M : TinyExpressionP4Parser::e546C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12961:12968:body/1/literal", false, true, "text", false, K768); } private static Match e546C(Session s, Frame f) { - return s.literal(f, ".trim", true, false, K752); + return s.literal(f, ".trim", true, false, K769); } private static Match e546M(Session s, Frame f) { - return s.literal(f, ".trim", true, false, K752); + return s.literal(f, ".trim", true, false, K769); } private static Match e547(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e547M(s, f) : e547C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e547M : TinyExpressionP4Parser::e547C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12983:12986:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e547M : TinyExpressionP4Parser::e547C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12969:12972:body/2/literal", false, true, "text", false, K399); } private static Match e547C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e547M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e548(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e548M(s, f) : e548C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e548M : TinyExpressionP4Parser::e548C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12987:12990:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e548M : TinyExpressionP4Parser::e548C, K216, K216, K216, K217, K217, "TinyExpressionP4::TrimDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12973:12976:body/3/literal", false, true, "text", false, K401); } private static Match e548C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e548M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e549(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e549M(s, f) : e549C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e549M : TinyExpressionP4Parser::e549C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13058:13094:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e549M : TinyExpressionP4Parser::e549C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13044:13080:body/seq", false, false, "node", false, K4); } private static Match e549C(Session s, Frame f) { - return s.sequence(f, K753, K604); + return s.sequence(f, K770, K620); } private static Match e549M(Session s, Frame f) { - return s.sequence(f, K753, K604); + return s.sequence(f, K770, K620); } private static Match e550(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e550M(s, f) : e550C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e550M : TinyExpressionP4Parser::e550C, K754, K311, K225, K226, K226, "TinyExpressionP4::LengthDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13058:13069:body/0/ruleRef", false, false, "node", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e550M : TinyExpressionP4Parser::e550C, K771, K323, K225, K226, K226, "TinyExpressionP4::LengthDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13044:13055:body/0/ruleRef", false, false, "node", false, K50); } private static Match e550C(Session s, Frame f) { return parseVariableRef_121(s, f); @@ -6609,68 +6946,68 @@ private static Match e550M(Session s, Frame f) { } private static Match e551(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e551M(s, f) : e551C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e551M : TinyExpressionP4Parser::e551C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13077:13086:body/1/literal", false, true, "text", false, K755); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e551M : TinyExpressionP4Parser::e551C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13063:13072:body/1/literal", false, true, "text", false, K772); } private static Match e551C(Session s, Frame f) { - return s.literal(f, ".length", true, false, K756); + return s.literal(f, ".length", true, false, K773); } private static Match e551M(Session s, Frame f) { - return s.literal(f, ".length", true, false, K756); + return s.literal(f, ".length", true, false, K773); } private static Match e552(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e552M(s, f) : e552C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e552M : TinyExpressionP4Parser::e552C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13087:13090:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e552M : TinyExpressionP4Parser::e552C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13073:13076:body/2/literal", false, true, "text", false, K399); } private static Match e552C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e552M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e553(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e553M(s, f) : e553C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e553M : TinyExpressionP4Parser::e553C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13091:13094:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e553M : TinyExpressionP4Parser::e553C, K216, K216, K216, K217, K217, "TinyExpressionP4::LengthDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13077:13080:body/3/literal", false, true, "text", false, K401); } private static Match e553C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e553M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e554(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e554M(s, f) : e554C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e554M : TinyExpressionP4Parser::e554C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13314:13428:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e554M : TinyExpressionP4Parser::e554C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13300:13414:body/seq", false, false, "node", true, K4); } private static Match e554C(Session s, Frame f) { - return s.sequence(f, K757, K220); + return s.sequence(f, K774, K220); } private static Match e554M(Session s, Frame f) { - return s.sequence(f, K757, K220); + return s.sequence(f, K774, K220); } private static Match e555(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e555M(s, f) : e555C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e555M : TinyExpressionP4Parser::e555C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13314:13326:body/0/literal", false, true, "text", false, K758); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e555M : TinyExpressionP4Parser::e555C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13300:13312:body/0/literal", false, true, "text", false, K775); } private static Match e555C(Session s, Frame f) { - return s.literal(f, "startsWith", true, false, K759); + return s.literal(f, "startsWith", true, false, K776); } private static Match e555M(Session s, Frame f) { - return s.literal(f, "startsWith", true, false, K759); + return s.literal(f, "startsWith", true, false, K776); } private static Match e556(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e556M(s, f) : e556C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e556M : TinyExpressionP4Parser::e556C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13327:13330:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e556M : TinyExpressionP4Parser::e556C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13313:13316:body/1/literal", false, true, "text", false, K399); } private static Match e556C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e556M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e557(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e557M(s, f) : e557C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e557M : TinyExpressionP4Parser::e557C, K760, K311, K225, K226, K226, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13331:13347:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e557M : TinyExpressionP4Parser::e557C, K777, K323, K225, K226, K226, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13317:13333:body/2/ruleRef", false, false, "node", false, K227); } private static Match e557C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6680,17 +7017,17 @@ private static Match e557M(Session s, Frame f) { } private static Match e558(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e558M(s, f) : e558C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e558M : TinyExpressionP4Parser::e558C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13355:13358:body/3/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e558M : TinyExpressionP4Parser::e558C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13341:13344:body/3/literal", false, true, "text", false, K404); } private static Match e558C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e558M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e559(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e559M(s, f) : e559C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e559M : TinyExpressionP4Parser::e559C, K761, K762, K225, K226, K226, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13359:13375:body/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e559M : TinyExpressionP4Parser::e559C, K778, K779, K225, K226, K226, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13345:13361:body/4/ruleRef", false, false, "node", false, K227); } private static Match e559C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6700,7 +7037,7 @@ private static Match e559M(Session s, Frame f) { } private static Match e560(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e560M(s, f) : e560C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e560M : TinyExpressionP4Parser::e560C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13390:13424:body/5/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e560M : TinyExpressionP4Parser::e560C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13376:13410:body/5/repeat", true, false, "node", true, K404); } private static Match e560C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e561, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -6711,27 +7048,27 @@ private static Match e560M(Session s, Frame f) { private static Match e561(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e561M(s, f) : e561C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e561M : TinyExpressionP4Parser::e561C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13392:13412:body/5/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e561M : TinyExpressionP4Parser::e561C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13378:13398:body/5/0/seq", false, false, "node", false, K404); } private static Match e561C(Session s, Frame f) { - return s.sequence(f, K763, K260); + return s.sequence(f, K780, K271); } private static Match e561M(Session s, Frame f) { - return s.sequence(f, K763, K260); + return s.sequence(f, K780, K271); } private static Match e562(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e562M(s, f) : e562C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e562M : TinyExpressionP4Parser::e562C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13392:13395:body/5/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e562M : TinyExpressionP4Parser::e562C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13378:13381:body/5/0/0/literal", false, true, "text", false, K404); } private static Match e562C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e562M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e563(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e563M(s, f) : e563C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e563M : TinyExpressionP4Parser::e563C, K764, K762, K225, K226, K226, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13396:13412:body/5/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e563M : TinyExpressionP4Parser::e563C, K781, K779, K225, K226, K226, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13382:13398:body/5/0/1/ruleRef", false, false, "node", false, K227); } private static Match e563C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6741,48 +7078,48 @@ private static Match e563M(Session s, Frame f) { } private static Match e564(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e564M(s, f) : e564C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e564M : TinyExpressionP4Parser::e564C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13425:13428:body/6/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e564M : TinyExpressionP4Parser::e564C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13411:13414:body/6/literal", false, true, "text", false, K401); } private static Match e564C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e564M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e565(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e565M(s, f) : e565C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e565M : TinyExpressionP4Parser::e565C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13506:13618:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e565M : TinyExpressionP4Parser::e565C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13492:13604:body/seq", false, false, "node", true, K4); } private static Match e565C(Session s, Frame f) { - return s.sequence(f, K765, K220); + return s.sequence(f, K782, K220); } private static Match e565M(Session s, Frame f) { - return s.sequence(f, K765, K220); + return s.sequence(f, K782, K220); } private static Match e566(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e566M(s, f) : e566C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e566M : TinyExpressionP4Parser::e566C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13506:13516:body/0/literal", false, true, "text", false, K766); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e566M : TinyExpressionP4Parser::e566C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13492:13502:body/0/literal", false, true, "text", false, K783); } private static Match e566C(Session s, Frame f) { - return s.literal(f, "endsWith", true, false, K767); + return s.literal(f, "endsWith", true, false, K784); } private static Match e566M(Session s, Frame f) { - return s.literal(f, "endsWith", true, false, K767); + return s.literal(f, "endsWith", true, false, K784); } private static Match e567(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e567M(s, f) : e567C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e567M : TinyExpressionP4Parser::e567C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13517:13520:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e567M : TinyExpressionP4Parser::e567C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13503:13506:body/1/literal", false, true, "text", false, K399); } private static Match e567C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e567M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e568(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e568M(s, f) : e568C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e568M : TinyExpressionP4Parser::e568C, K768, K311, K225, K226, K226, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13521:13537:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e568M : TinyExpressionP4Parser::e568C, K785, K323, K225, K226, K226, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13507:13523:body/2/ruleRef", false, false, "node", false, K227); } private static Match e568C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6792,17 +7129,17 @@ private static Match e568M(Session s, Frame f) { } private static Match e569(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e569M(s, f) : e569C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e569M : TinyExpressionP4Parser::e569C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13545:13548:body/3/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e569M : TinyExpressionP4Parser::e569C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13531:13534:body/3/literal", false, true, "text", false, K404); } private static Match e569C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e569M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e570(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e570M(s, f) : e570C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e570M : TinyExpressionP4Parser::e570C, K769, K762, K225, K226, K226, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13549:13565:body/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e570M : TinyExpressionP4Parser::e570C, K786, K779, K225, K226, K226, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13535:13551:body/4/ruleRef", false, false, "node", false, K227); } private static Match e570C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6812,7 +7149,7 @@ private static Match e570M(Session s, Frame f) { } private static Match e571(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e571M(s, f) : e571C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e571M : TinyExpressionP4Parser::e571C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13580:13614:body/5/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e571M : TinyExpressionP4Parser::e571C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13566:13600:body/5/repeat", true, false, "node", true, K404); } private static Match e571C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e572, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -6823,27 +7160,27 @@ private static Match e571M(Session s, Frame f) { private static Match e572(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e572M(s, f) : e572C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e572M : TinyExpressionP4Parser::e572C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13582:13602:body/5/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e572M : TinyExpressionP4Parser::e572C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13568:13588:body/5/0/seq", false, false, "node", false, K404); } private static Match e572C(Session s, Frame f) { - return s.sequence(f, K770, K260); + return s.sequence(f, K787, K271); } private static Match e572M(Session s, Frame f) { - return s.sequence(f, K770, K260); + return s.sequence(f, K787, K271); } private static Match e573(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e573M(s, f) : e573C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e573M : TinyExpressionP4Parser::e573C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13582:13585:body/5/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e573M : TinyExpressionP4Parser::e573C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13568:13571:body/5/0/0/literal", false, true, "text", false, K404); } private static Match e573C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e573M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e574(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e574M(s, f) : e574C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e574M : TinyExpressionP4Parser::e574C, K771, K762, K225, K226, K226, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13586:13602:body/5/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e574M : TinyExpressionP4Parser::e574C, K788, K779, K225, K226, K226, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13572:13588:body/5/0/1/ruleRef", false, false, "node", false, K227); } private static Match e574C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6853,48 +7190,48 @@ private static Match e574M(Session s, Frame f) { } private static Match e575(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e575M(s, f) : e575C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e575M : TinyExpressionP4Parser::e575C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13615:13618:body/6/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e575M : TinyExpressionP4Parser::e575C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13601:13604:body/6/literal", false, true, "text", false, K401); } private static Match e575C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e575M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e576(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e576M(s, f) : e576C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e576M : TinyExpressionP4Parser::e576C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13696:13808:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e576M : TinyExpressionP4Parser::e576C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13682:13794:body/seq", false, false, "node", true, K4); } private static Match e576C(Session s, Frame f) { - return s.sequence(f, K772, K220); + return s.sequence(f, K789, K220); } private static Match e576M(Session s, Frame f) { - return s.sequence(f, K772, K220); + return s.sequence(f, K789, K220); } private static Match e577(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e577M(s, f) : e577C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e577M : TinyExpressionP4Parser::e577C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13696:13706:body/0/literal", false, true, "text", false, K773); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e577M : TinyExpressionP4Parser::e577C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13682:13692:body/0/literal", false, true, "text", false, K790); } private static Match e577C(Session s, Frame f) { - return s.literal(f, "contains", true, false, K774); + return s.literal(f, "contains", true, false, K791); } private static Match e577M(Session s, Frame f) { - return s.literal(f, "contains", true, false, K774); + return s.literal(f, "contains", true, false, K791); } private static Match e578(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e578M(s, f) : e578C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e578M : TinyExpressionP4Parser::e578C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13707:13710:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e578M : TinyExpressionP4Parser::e578C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13693:13696:body/1/literal", false, true, "text", false, K399); } private static Match e578C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e578M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e579(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e579M(s, f) : e579C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e579M : TinyExpressionP4Parser::e579C, K775, K311, K225, K226, K226, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13711:13727:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e579M : TinyExpressionP4Parser::e579C, K792, K323, K225, K226, K226, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13697:13713:body/2/ruleRef", false, false, "node", false, K227); } private static Match e579C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6904,17 +7241,17 @@ private static Match e579M(Session s, Frame f) { } private static Match e580(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e580M(s, f) : e580C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e580M : TinyExpressionP4Parser::e580C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13735:13738:body/3/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e580M : TinyExpressionP4Parser::e580C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13721:13724:body/3/literal", false, true, "text", false, K404); } private static Match e580C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e580M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e581(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e581M(s, f) : e581C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e581M : TinyExpressionP4Parser::e581C, K776, K762, K225, K226, K226, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13739:13755:body/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e581M : TinyExpressionP4Parser::e581C, K793, K779, K225, K226, K226, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13725:13741:body/4/ruleRef", false, false, "node", false, K227); } private static Match e581C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6924,7 +7261,7 @@ private static Match e581M(Session s, Frame f) { } private static Match e582(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e582M(s, f) : e582C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e582M : TinyExpressionP4Parser::e582C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13770:13804:body/5/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e582M : TinyExpressionP4Parser::e582C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13756:13790:body/5/repeat", true, false, "node", true, K404); } private static Match e582C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e583, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -6935,27 +7272,27 @@ private static Match e582M(Session s, Frame f) { private static Match e583(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e583M(s, f) : e583C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e583M : TinyExpressionP4Parser::e583C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13772:13792:body/5/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e583M : TinyExpressionP4Parser::e583C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13758:13778:body/5/0/seq", false, false, "node", false, K404); } private static Match e583C(Session s, Frame f) { - return s.sequence(f, K777, K260); + return s.sequence(f, K794, K271); } private static Match e583M(Session s, Frame f) { - return s.sequence(f, K777, K260); + return s.sequence(f, K794, K271); } private static Match e584(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e584M(s, f) : e584C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e584M : TinyExpressionP4Parser::e584C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13772:13775:body/5/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e584M : TinyExpressionP4Parser::e584C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13758:13761:body/5/0/0/literal", false, true, "text", false, K404); } private static Match e584C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e584M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e585(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e585M(s, f) : e585C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e585M : TinyExpressionP4Parser::e585C, K778, K762, K225, K226, K226, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13776:13792:body/5/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e585M : TinyExpressionP4Parser::e585C, K795, K779, K225, K226, K226, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13762:13778:body/5/0/1/ruleRef", false, false, "node", false, K227); } private static Match e585C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6965,28 +7302,28 @@ private static Match e585M(Session s, Frame f) { } private static Match e586(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e586M(s, f) : e586C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e586M : TinyExpressionP4Parser::e586C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13805:13808:body/6/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e586M : TinyExpressionP4Parser::e586C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13791:13794:body/6/literal", false, true, "text", false, K401); } private static Match e586C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e586M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e587(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e587M(s, f) : e587C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e587M : TinyExpressionP4Parser::e587C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13874:13977:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e587M : TinyExpressionP4Parser::e587C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13860:13963:body/seq", false, false, "node", true, K4); } private static Match e587C(Session s, Frame f) { - return s.sequence(f, K779, K252); + return s.sequence(f, K796, K263); } private static Match e587M(Session s, Frame f) { - return s.sequence(f, K779, K252); + return s.sequence(f, K796, K263); } private static Match e588(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e588M(s, f) : e588C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e588M : TinyExpressionP4Parser::e588C, K780, K311, K225, K226, K226, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13874:13890:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e588M : TinyExpressionP4Parser::e588C, K797, K323, K225, K226, K226, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13860:13876:body/0/ruleRef", false, false, "node", false, K227); } private static Match e588C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -6996,27 +7333,27 @@ private static Match e588M(Session s, Frame f) { } private static Match e589(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e589M(s, f) : e589C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e589M : TinyExpressionP4Parser::e589C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13898:13903:body/1/literal", false, true, "text", false, K781); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e589M : TinyExpressionP4Parser::e589C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13884:13889:body/1/literal", false, true, "text", false, K798); } private static Match e589C(Session s, Frame f) { - return s.literal(f, ".in", true, false, K782); + return s.literal(f, ".in", true, false, K799); } private static Match e589M(Session s, Frame f) { - return s.literal(f, ".in", true, false, K782); + return s.literal(f, ".in", true, false, K799); } private static Match e590(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e590M(s, f) : e590C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e590M : TinyExpressionP4Parser::e590C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13904:13907:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e590M : TinyExpressionP4Parser::e590C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13890:13893:body/2/literal", false, true, "text", false, K399); } private static Match e590C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e590M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e591(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e591M(s, f) : e591C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e591M : TinyExpressionP4Parser::e591C, K783, K784, K225, K226, K226, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13908:13924:body/3/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e591M : TinyExpressionP4Parser::e591C, K800, K801, K225, K226, K226, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13894:13910:body/3/ruleRef", false, false, "node", false, K227); } private static Match e591C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -7026,7 +7363,7 @@ private static Match e591M(Session s, Frame f) { } private static Match e592(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e592M(s, f) : e592C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e592M : TinyExpressionP4Parser::e592C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13937:13973:body/4/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e592M : TinyExpressionP4Parser::e592C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13923:13959:body/4/repeat", true, false, "node", true, K404); } private static Match e592C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e593, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -7037,27 +7374,27 @@ private static Match e592M(Session s, Frame f) { private static Match e593(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e593M(s, f) : e593C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e593M : TinyExpressionP4Parser::e593C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13939:13959:body/4/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e593M : TinyExpressionP4Parser::e593C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13925:13945:body/4/0/seq", false, false, "node", false, K404); } private static Match e593C(Session s, Frame f) { - return s.sequence(f, K785, K260); + return s.sequence(f, K802, K271); } private static Match e593M(Session s, Frame f) { - return s.sequence(f, K785, K260); + return s.sequence(f, K802, K271); } private static Match e594(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e594M(s, f) : e594C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e594M : TinyExpressionP4Parser::e594C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13939:13942:body/4/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e594M : TinyExpressionP4Parser::e594C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13925:13928:body/4/0/0/literal", false, true, "text", false, K404); } private static Match e594C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e594M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e595(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e595M(s, f) : e595C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e595M : TinyExpressionP4Parser::e595C, K786, K784, K225, K226, K226, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13943:13959:body/4/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e595M : TinyExpressionP4Parser::e595C, K803, K801, K225, K226, K226, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13929:13945:body/4/0/1/ruleRef", false, false, "node", false, K227); } private static Match e595C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -7067,28 +7404,28 @@ private static Match e595M(Session s, Frame f) { } private static Match e596(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e596M(s, f) : e596C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e596M : TinyExpressionP4Parser::e596C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13974:13977:body/5/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e596M : TinyExpressionP4Parser::e596C, K216, K216, K216, K217, K217, "TinyExpressionP4::InMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13960:13963:body/5/literal", false, true, "text", false, K401); } private static Match e596C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e596M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e597(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e597M(s, f) : e597C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e597M : TinyExpressionP4Parser::e597C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14142:14260:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e597M : TinyExpressionP4Parser::e597C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14128:14246:body/seq", false, false, "node", true, K4); } private static Match e597C(Session s, Frame f) { - return s.sequence(f, K787, K252); + return s.sequence(f, K804, K263); } private static Match e597M(Session s, Frame f) { - return s.sequence(f, K787, K252); + return s.sequence(f, K804, K263); } private static Match e598(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e598M(s, f) : e598C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e598M : TinyExpressionP4Parser::e598C, K788, K311, K225, K226, K226, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14142:14165:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e598M : TinyExpressionP4Parser::e598C, K805, K323, K225, K226, K226, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14128:14151:body/0/ruleRef", false, false, "node", false, K227); } private static Match e598C(Session s, Frame f) { return parseStringPredicateReceiver_77(s, f); @@ -7098,27 +7435,27 @@ private static Match e598M(Session s, Frame f) { } private static Match e599(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e599M(s, f) : e599C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e599M : TinyExpressionP4Parser::e599C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14173:14186:body/1/literal", false, true, "text", false, K789); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e599M : TinyExpressionP4Parser::e599C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14159:14172:body/1/literal", false, true, "text", false, K806); } private static Match e599C(Session s, Frame f) { - return s.literal(f, ".startsWith", true, false, K790); + return s.literal(f, ".startsWith", true, false, K807); } private static Match e599M(Session s, Frame f) { - return s.literal(f, ".startsWith", true, false, K790); + return s.literal(f, ".startsWith", true, false, K807); } private static Match e600(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e600M(s, f) : e600C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e600M : TinyExpressionP4Parser::e600C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14187:14190:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e600M : TinyExpressionP4Parser::e600C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14173:14176:body/2/literal", false, true, "text", false, K399); } private static Match e600C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e600M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e601(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e601M(s, f) : e601C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e601M : TinyExpressionP4Parser::e601C, K791, K762, K225, K226, K226, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14191:14207:body/3/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e601M : TinyExpressionP4Parser::e601C, K808, K779, K225, K226, K226, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14177:14193:body/3/ruleRef", false, false, "node", false, K227); } private static Match e601C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -7128,7 +7465,7 @@ private static Match e601M(Session s, Frame f) { } private static Match e602(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e602M(s, f) : e602C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e602M : TinyExpressionP4Parser::e602C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14222:14256:body/4/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e602M : TinyExpressionP4Parser::e602C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14208:14242:body/4/repeat", true, false, "node", true, K404); } private static Match e602C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e603, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -7139,27 +7476,27 @@ private static Match e602M(Session s, Frame f) { private static Match e603(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e603M(s, f) : e603C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e603M : TinyExpressionP4Parser::e603C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14224:14244:body/4/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e603M : TinyExpressionP4Parser::e603C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14210:14230:body/4/0/seq", false, false, "node", false, K404); } private static Match e603C(Session s, Frame f) { - return s.sequence(f, K792, K260); + return s.sequence(f, K809, K271); } private static Match e603M(Session s, Frame f) { - return s.sequence(f, K792, K260); + return s.sequence(f, K809, K271); } private static Match e604(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e604M(s, f) : e604C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e604M : TinyExpressionP4Parser::e604C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14224:14227:body/4/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e604M : TinyExpressionP4Parser::e604C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14210:14213:body/4/0/0/literal", false, true, "text", false, K404); } private static Match e604C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e604M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e605(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e605M(s, f) : e605C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e605M : TinyExpressionP4Parser::e605C, K793, K762, K225, K226, K226, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14228:14244:body/4/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e605M : TinyExpressionP4Parser::e605C, K810, K779, K225, K226, K226, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14214:14230:body/4/0/1/ruleRef", false, false, "node", false, K227); } private static Match e605C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -7169,28 +7506,28 @@ private static Match e605M(Session s, Frame f) { } private static Match e606(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e606M(s, f) : e606C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e606M : TinyExpressionP4Parser::e606C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14257:14260:body/5/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e606M : TinyExpressionP4Parser::e606C, K216, K216, K216, K217, K217, "TinyExpressionP4::StartsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14243:14246:body/5/literal", false, true, "text", false, K401); } private static Match e606C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e606M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e607(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e607M(s, f) : e607C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e607M : TinyExpressionP4Parser::e607C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14342:14458:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e607M : TinyExpressionP4Parser::e607C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14328:14444:body/seq", false, false, "node", true, K4); } private static Match e607C(Session s, Frame f) { - return s.sequence(f, K794, K252); + return s.sequence(f, K811, K263); } private static Match e607M(Session s, Frame f) { - return s.sequence(f, K794, K252); + return s.sequence(f, K811, K263); } private static Match e608(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e608M(s, f) : e608C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e608M : TinyExpressionP4Parser::e608C, K795, K311, K225, K226, K226, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14342:14365:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e608M : TinyExpressionP4Parser::e608C, K812, K323, K225, K226, K226, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14328:14351:body/0/ruleRef", false, false, "node", false, K227); } private static Match e608C(Session s, Frame f) { return parseStringPredicateReceiver_77(s, f); @@ -7200,27 +7537,27 @@ private static Match e608M(Session s, Frame f) { } private static Match e609(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e609M(s, f) : e609C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e609M : TinyExpressionP4Parser::e609C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14373:14384:body/1/literal", false, true, "text", false, K796); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e609M : TinyExpressionP4Parser::e609C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14359:14370:body/1/literal", false, true, "text", false, K813); } private static Match e609C(Session s, Frame f) { - return s.literal(f, ".endsWith", true, false, K797); + return s.literal(f, ".endsWith", true, false, K814); } private static Match e609M(Session s, Frame f) { - return s.literal(f, ".endsWith", true, false, K797); + return s.literal(f, ".endsWith", true, false, K814); } private static Match e610(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e610M(s, f) : e610C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e610M : TinyExpressionP4Parser::e610C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14385:14388:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e610M : TinyExpressionP4Parser::e610C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14371:14374:body/2/literal", false, true, "text", false, K399); } private static Match e610C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e610M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e611(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e611M(s, f) : e611C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e611M : TinyExpressionP4Parser::e611C, K798, K762, K225, K226, K226, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14389:14405:body/3/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e611M : TinyExpressionP4Parser::e611C, K815, K779, K225, K226, K226, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14375:14391:body/3/ruleRef", false, false, "node", false, K227); } private static Match e611C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -7230,7 +7567,7 @@ private static Match e611M(Session s, Frame f) { } private static Match e612(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e612M(s, f) : e612C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e612M : TinyExpressionP4Parser::e612C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14420:14454:body/4/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e612M : TinyExpressionP4Parser::e612C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14406:14440:body/4/repeat", true, false, "node", true, K404); } private static Match e612C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e613, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -7241,27 +7578,27 @@ private static Match e612M(Session s, Frame f) { private static Match e613(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e613M(s, f) : e613C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e613M : TinyExpressionP4Parser::e613C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14422:14442:body/4/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e613M : TinyExpressionP4Parser::e613C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14408:14428:body/4/0/seq", false, false, "node", false, K404); } private static Match e613C(Session s, Frame f) { - return s.sequence(f, K799, K260); + return s.sequence(f, K816, K271); } private static Match e613M(Session s, Frame f) { - return s.sequence(f, K799, K260); + return s.sequence(f, K816, K271); } private static Match e614(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e614M(s, f) : e614C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e614M : TinyExpressionP4Parser::e614C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14422:14425:body/4/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e614M : TinyExpressionP4Parser::e614C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14408:14411:body/4/0/0/literal", false, true, "text", false, K404); } private static Match e614C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e614M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e615(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e615M(s, f) : e615C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e615M : TinyExpressionP4Parser::e615C, K800, K762, K225, K226, K226, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14426:14442:body/4/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e615M : TinyExpressionP4Parser::e615C, K817, K779, K225, K226, K226, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14412:14428:body/4/0/1/ruleRef", false, false, "node", false, K227); } private static Match e615C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -7271,28 +7608,28 @@ private static Match e615M(Session s, Frame f) { } private static Match e616(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e616M(s, f) : e616C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e616M : TinyExpressionP4Parser::e616C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14455:14458:body/5/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e616M : TinyExpressionP4Parser::e616C, K216, K216, K216, K217, K217, "TinyExpressionP4::EndsWithDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14441:14444:body/5/literal", false, true, "text", false, K401); } private static Match e616C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e616M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e617(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e617M(s, f) : e617C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e617M : TinyExpressionP4Parser::e617C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14540:14656:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e617M : TinyExpressionP4Parser::e617C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14526:14642:body/seq", false, false, "node", true, K4); } private static Match e617C(Session s, Frame f) { - return s.sequence(f, K801, K252); + return s.sequence(f, K818, K263); } private static Match e617M(Session s, Frame f) { - return s.sequence(f, K801, K252); + return s.sequence(f, K818, K263); } private static Match e618(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e618M(s, f) : e618C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e618M : TinyExpressionP4Parser::e618C, K802, K311, K225, K226, K226, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14540:14563:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e618M : TinyExpressionP4Parser::e618C, K819, K323, K225, K226, K226, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14526:14549:body/0/ruleRef", false, false, "node", false, K227); } private static Match e618C(Session s, Frame f) { return parseStringPredicateReceiver_77(s, f); @@ -7302,27 +7639,27 @@ private static Match e618M(Session s, Frame f) { } private static Match e619(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e619M(s, f) : e619C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e619M : TinyExpressionP4Parser::e619C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14571:14582:body/1/literal", false, true, "text", false, K803); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e619M : TinyExpressionP4Parser::e619C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14557:14568:body/1/literal", false, true, "text", false, K820); } private static Match e619C(Session s, Frame f) { - return s.literal(f, ".contains", true, false, K804); + return s.literal(f, ".contains", true, false, K821); } private static Match e619M(Session s, Frame f) { - return s.literal(f, ".contains", true, false, K804); + return s.literal(f, ".contains", true, false, K821); } private static Match e620(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e620M(s, f) : e620C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e620M : TinyExpressionP4Parser::e620C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14583:14586:body/2/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e620M : TinyExpressionP4Parser::e620C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14569:14572:body/2/literal", false, true, "text", false, K399); } private static Match e620C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e620M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e621(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e621M(s, f) : e621C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e621M : TinyExpressionP4Parser::e621C, K805, K762, K225, K226, K226, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14587:14603:body/3/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e621M : TinyExpressionP4Parser::e621C, K822, K779, K225, K226, K226, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14573:14589:body/3/ruleRef", false, false, "node", false, K227); } private static Match e621C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -7332,7 +7669,7 @@ private static Match e621M(Session s, Frame f) { } private static Match e622(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e622M(s, f) : e622C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e622M : TinyExpressionP4Parser::e622C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14618:14652:body/4/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e622M : TinyExpressionP4Parser::e622C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14604:14638:body/4/repeat", true, false, "node", true, K404); } private static Match e622C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e623, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -7343,27 +7680,27 @@ private static Match e622M(Session s, Frame f) { private static Match e623(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e623M(s, f) : e623C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e623M : TinyExpressionP4Parser::e623C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14620:14640:body/4/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e623M : TinyExpressionP4Parser::e623C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14606:14626:body/4/0/seq", false, false, "node", false, K404); } private static Match e623C(Session s, Frame f) { - return s.sequence(f, K806, K260); + return s.sequence(f, K823, K271); } private static Match e623M(Session s, Frame f) { - return s.sequence(f, K806, K260); + return s.sequence(f, K823, K271); } private static Match e624(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e624M(s, f) : e624C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e624M : TinyExpressionP4Parser::e624C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14620:14623:body/4/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e624M : TinyExpressionP4Parser::e624C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14606:14609:body/4/0/0/literal", false, true, "text", false, K404); } private static Match e624C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e624M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e625(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e625M(s, f) : e625C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e625M : TinyExpressionP4Parser::e625C, K807, K762, K225, K226, K226, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14624:14640:body/4/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e625M : TinyExpressionP4Parser::e625C, K824, K779, K225, K226, K226, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14610:14626:body/4/0/1/ruleRef", false, false, "node", false, K227); } private static Match e625C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -7373,27 +7710,27 @@ private static Match e625M(Session s, Frame f) { } private static Match e626(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e626M(s, f) : e626C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e626M : TinyExpressionP4Parser::e626C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14653:14656:body/5/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e626M : TinyExpressionP4Parser::e626C, K216, K216, K216, K217, K217, "TinyExpressionP4::ContainsDotMethod", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14639:14642:body/5/literal", false, true, "text", false, K401); } private static Match e626C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e626M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e627(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e627M(s, f) : e627C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e627M : TinyExpressionP4Parser::e627C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringPredicateReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14690:14760:body/choice", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e627M : TinyExpressionP4Parser::e627C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringPredicateReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14676:14746:body/choice", false, false, "node", false, K4); } private static Match e627C(Session s, Frame f) { - return s.choice(f,K818,false,null,false,K817); + return s.choice(f,K835,false,null,false,K834); } private static Match e627M(Session s, Frame f) { - return s.choice(f,K818,false,null,false,K817); + return s.choice(f,K835,false,null,false,K834); } private static Match e628(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e628M(s, f) : e628C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e628M : TinyExpressionP4Parser::e628C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringPredicateReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14690:14709:body/0/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e628M : TinyExpressionP4Parser::e628C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringPredicateReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14676:14695:body/0/ruleRef", false, false, "node", false, K4); } private static Match e628C(Session s, Frame f) { return parseToLowerCaseFunction_62(s, f); @@ -7403,7 +7740,7 @@ private static Match e628M(Session s, Frame f) { } private static Match e629(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e629M(s, f) : e629C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e629M : TinyExpressionP4Parser::e629C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringPredicateReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14712:14731:body/1/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e629M : TinyExpressionP4Parser::e629C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringPredicateReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14698:14717:body/1/ruleRef", false, false, "node", false, K4); } private static Match e629C(Session s, Frame f) { return parseToUpperCaseFunction_61(s, f); @@ -7413,7 +7750,7 @@ private static Match e629M(Session s, Frame f) { } private static Match e630(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e630M(s, f) : e630C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e630M : TinyExpressionP4Parser::e630C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringPredicateReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14734:14746:body/2/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e630M : TinyExpressionP4Parser::e630C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringPredicateReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14720:14732:body/2/ruleRef", false, false, "node", false, K4); } private static Match e630C(Session s, Frame f) { return parseTrimFunction_63(s, f); @@ -7423,7 +7760,7 @@ private static Match e630M(Session s, Frame f) { } private static Match e631(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e631M(s, f) : e631C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e631M : TinyExpressionP4Parser::e631C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringPredicateReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14749:14760:body/3/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e631M : TinyExpressionP4Parser::e631C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringPredicateReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14735:14746:body/3/ruleRef", false, false, "node", false, K4); } private static Match e631C(Session s, Frame f) { return parseVariableRef_121(s, f); @@ -7434,37 +7771,37 @@ private static Match e631M(Session s, Frame f) { private static Match e632(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e632M(s, f) : e632C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e632M : TinyExpressionP4Parser::e632C, K216, K216, K216, K217, K217, "TinyExpressionP4::IsPresentFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14909:14947:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e632M : TinyExpressionP4Parser::e632C, K216, K216, K216, K217, K217, "TinyExpressionP4::IsPresentFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14895:14933:body/seq", false, false, "node", false, K4); } private static Match e632C(Session s, Frame f) { - return s.sequence(f, K819, K604); + return s.sequence(f, K836, K620); } private static Match e632M(Session s, Frame f) { - return s.sequence(f, K819, K604); + return s.sequence(f, K836, K620); } private static Match e633(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e633M(s, f) : e633C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e633M : TinyExpressionP4Parser::e633C, K216, K216, K216, K217, K217, "TinyExpressionP4::IsPresentFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14909:14920:body/0/literal", false, true, "text", false, K820); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e633M : TinyExpressionP4Parser::e633C, K216, K216, K216, K217, K217, "TinyExpressionP4::IsPresentFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14895:14906:body/0/literal", false, true, "text", false, K837); } private static Match e633C(Session s, Frame f) { - return s.literal(f, "isPresent", true, false, K821); + return s.literal(f, "isPresent", true, false, K838); } private static Match e633M(Session s, Frame f) { - return s.literal(f, "isPresent", true, false, K821); + return s.literal(f, "isPresent", true, false, K838); } private static Match e634(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e634M(s, f) : e634C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e634M : TinyExpressionP4Parser::e634C, K216, K216, K216, K217, K217, "TinyExpressionP4::IsPresentFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14921:14924:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e634M : TinyExpressionP4Parser::e634C, K216, K216, K216, K217, K217, "TinyExpressionP4::IsPresentFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14907:14910:body/1/literal", false, true, "text", false, K399); } private static Match e634C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e634M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e635(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e635M(s, f) : e635C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e635M : TinyExpressionP4Parser::e635C, K822, K311, K225, K226, K226, "TinyExpressionP4::IsPresentFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14925:14936:body/2/ruleRef", false, false, "node", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e635M : TinyExpressionP4Parser::e635C, K839, K323, K225, K226, K226, "TinyExpressionP4::IsPresentFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14911:14922:body/2/ruleRef", false, false, "node", false, K50); } private static Match e635C(Session s, Frame f) { return parseVariableRef_121(s, f); @@ -7474,48 +7811,48 @@ private static Match e635M(Session s, Frame f) { } private static Match e636(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e636M(s, f) : e636C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e636M : TinyExpressionP4Parser::e636C, K216, K216, K216, K217, K217, "TinyExpressionP4::IsPresentFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14944:14947:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e636M : TinyExpressionP4Parser::e636C, K216, K216, K216, K217, K217, "TinyExpressionP4::IsPresentFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14930:14933:body/3/literal", false, true, "text", false, K401); } private static Match e636C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e636M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e637(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e637M(s, f) : e637C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e637M : TinyExpressionP4Parser::e637C, K216, K216, K216, K217, K217, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15111:15190:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e637M : TinyExpressionP4Parser::e637C, K216, K216, K216, K217, K217, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15097:15176:body/seq", false, false, "node", true, K4); } private static Match e637C(Session s, Frame f) { - return s.sequence(f, K823, K252); + return s.sequence(f, K840, K263); } private static Match e637M(Session s, Frame f) { - return s.sequence(f, K823, K252); + return s.sequence(f, K840, K263); } private static Match e638(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e638M(s, f) : e638C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e638M : TinyExpressionP4Parser::e638C, K216, K216, K216, K217, K217, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15111:15124:body/0/literal", false, true, "text", false, K824); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e638M : TinyExpressionP4Parser::e638C, K216, K216, K216, K217, K217, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15097:15110:body/0/literal", false, true, "text", false, K841); } private static Match e638C(Session s, Frame f) { - return s.literal(f, "inTimeRange", true, false, K825); + return s.literal(f, "inTimeRange", true, false, K842); } private static Match e638M(Session s, Frame f) { - return s.literal(f, "inTimeRange", true, false, K825); + return s.literal(f, "inTimeRange", true, false, K842); } private static Match e639(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e639M(s, f) : e639C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e639M : TinyExpressionP4Parser::e639C, K216, K216, K216, K217, K217, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15125:15128:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e639M : TinyExpressionP4Parser::e639C, K216, K216, K216, K217, K217, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15111:15114:body/1/literal", false, true, "text", false, K399); } private static Match e639C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e639M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e640(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e640M(s, f) : e640C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e640M : TinyExpressionP4Parser::e640C, K826, K827, K225, K226, K226, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15129:15145:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e640M : TinyExpressionP4Parser::e640C, K843, K844, K225, K226, K226, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15115:15131:body/2/ruleRef", false, false, "node", false, K227); } private static Match e640C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -7525,17 +7862,17 @@ private static Match e640M(Session s, Frame f) { } private static Match e641(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e641M(s, f) : e641C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e641M : TinyExpressionP4Parser::e641C, K216, K216, K216, K217, K217, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15157:15160:body/3/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e641M : TinyExpressionP4Parser::e641C, K216, K216, K216, K217, K217, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15143:15146:body/3/literal", false, true, "text", false, K404); } private static Match e641C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e641M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e642(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e642M(s, f) : e642C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e642M : TinyExpressionP4Parser::e642C, K828, K829, K225, K226, K226, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15161:15177:body/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e642M : TinyExpressionP4Parser::e642C, K845, K846, K225, K226, K226, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15147:15163:body/4/ruleRef", false, false, "node", false, K227); } private static Match e642C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -7545,48 +7882,48 @@ private static Match e642M(Session s, Frame f) { } private static Match e643(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e643M(s, f) : e643C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e643M : TinyExpressionP4Parser::e643C, K216, K216, K216, K217, K217, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15187:15190:body/5/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e643M : TinyExpressionP4Parser::e643C, K216, K216, K216, K217, K217, "TinyExpressionP4::InTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15173:15176:body/5/literal", false, true, "text", false, K401); } private static Match e643C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e643M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e644(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e644M(s, f) : e644C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e644M : TinyExpressionP4Parser::e644C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15301:15429:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e644M : TinyExpressionP4Parser::e644C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15287:15415:body/seq", false, false, "node", true, K4); } private static Match e644C(Session s, Frame f) { - return s.sequence(f, K832, K831); + return s.sequence(f, K849, K848); } private static Match e644M(Session s, Frame f) { - return s.sequence(f, K832, K831); + return s.sequence(f, K849, K848); } private static Match e645(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e645M(s, f) : e645C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e645M : TinyExpressionP4Parser::e645C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15301:15317:body/0/literal", false, true, "text", false, K833); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e645M : TinyExpressionP4Parser::e645C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15287:15303:body/0/literal", false, true, "text", false, K850); } private static Match e645C(Session s, Frame f) { - return s.literal(f, "inDayTimeRange", true, false, K834); + return s.literal(f, "inDayTimeRange", true, false, K851); } private static Match e645M(Session s, Frame f) { - return s.literal(f, "inDayTimeRange", true, false, K834); + return s.literal(f, "inDayTimeRange", true, false, K851); } private static Match e646(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e646M(s, f) : e646C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e646M : TinyExpressionP4Parser::e646C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15318:15321:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e646M : TinyExpressionP4Parser::e646C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15304:15307:body/1/literal", false, true, "text", false, K399); } private static Match e646C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e646M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e647(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e647M(s, f) : e647C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e647M : TinyExpressionP4Parser::e647C, K835, K836, K225, K226, K226, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15322:15331:body/2/ruleRef", false, false, "text", false, K150); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e647M : TinyExpressionP4Parser::e647C, K852, K853, K225, K226, K226, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15308:15317:body/2/ruleRef", false, false, "text", false, K150); } private static Match e647C(Session s, Frame f) { return parseDayOfWeek_81(s, f); @@ -7596,17 +7933,17 @@ private static Match e647M(Session s, Frame f) { } private static Match e648(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e648M(s, f) : e648C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e648M : TinyExpressionP4Parser::e648C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15342:15345:body/3/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e648M : TinyExpressionP4Parser::e648C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15328:15331:body/3/literal", false, true, "text", false, K404); } private static Match e648C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e648M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e649(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e649M(s, f) : e649C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e649M : TinyExpressionP4Parser::e649C, K837, K827, K225, K226, K226, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15346:15362:body/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e649M : TinyExpressionP4Parser::e649C, K854, K844, K225, K226, K226, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15332:15348:body/4/ruleRef", false, false, "node", false, K227); } private static Match e649C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -7616,17 +7953,17 @@ private static Match e649M(Session s, Frame f) { } private static Match e650(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e650M(s, f) : e650C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e650M : TinyExpressionP4Parser::e650C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15374:15377:body/5/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e650M : TinyExpressionP4Parser::e650C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15360:15363:body/5/literal", false, true, "text", false, K404); } private static Match e650C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e650M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e651(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e651M(s, f) : e651C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e651M : TinyExpressionP4Parser::e651C, K838, K839, K225, K226, K226, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15378:15387:body/6/ruleRef", false, false, "text", false, K150); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e651M : TinyExpressionP4Parser::e651C, K855, K856, K225, K226, K226, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15364:15373:body/6/ruleRef", false, false, "text", false, K150); } private static Match e651C(Session s, Frame f) { return parseDayOfWeek_81(s, f); @@ -7636,17 +7973,17 @@ private static Match e651M(Session s, Frame f) { } private static Match e652(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e652M(s, f) : e652C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e652M : TinyExpressionP4Parser::e652C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15396:15399:body/7/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e652M : TinyExpressionP4Parser::e652C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15382:15385:body/7/literal", false, true, "text", false, K404); } private static Match e652C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e652M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e653(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e653M(s, f) : e653C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e653M : TinyExpressionP4Parser::e653C, K840, K829, K225, K226, K226, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15400:15416:body/8/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e653M : TinyExpressionP4Parser::e653C, K857, K846, K225, K226, K226, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15386:15402:body/8/ruleRef", false, false, "node", false, K227); } private static Match e653C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -7656,107 +7993,107 @@ private static Match e653M(Session s, Frame f) { } private static Match e654(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e654M(s, f) : e654C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e654M : TinyExpressionP4Parser::e654C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15426:15429:body/9/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e654M : TinyExpressionP4Parser::e654C, K216, K216, K216, K217, K217, "TinyExpressionP4::InDayTimeRangeFunction", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15412:15415:body/9/literal", false, true, "text", false, K401); } private static Match e654C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e654M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e655(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e655M(s, f) : e655C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e655M : TinyExpressionP4Parser::e655C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15449:15531:body/choice", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e655M : TinyExpressionP4Parser::e655C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15435:15517:body/choice", false, false, "text", false, K4); } private static Match e655C(Session s, Frame f) { - return s.choice(f,K841,false,null,false); + return s.choice(f,K858,false,null,false); } private static Match e655M(Session s, Frame f) { - return s.choice(f,K841,false,null,false); + return s.choice(f,K858,false,null,false); } private static Match e656(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e656M(s, f) : e656C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e656M : TinyExpressionP4Parser::e656C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15449:15457:body/0/literal", false, true, "text", false, K842); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e656M : TinyExpressionP4Parser::e656C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15435:15443:body/0/literal", false, true, "text", false, K859); } private static Match e656C(Session s, Frame f) { - return s.literal(f, "MONDAY", true, false, K843); + return s.literal(f, "MONDAY", true, false, K860); } private static Match e656M(Session s, Frame f) { - return s.literal(f, "MONDAY", true, false, K843); + return s.literal(f, "MONDAY", true, false, K860); } private static Match e657(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e657M(s, f) : e657C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e657M : TinyExpressionP4Parser::e657C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15460:15469:body/1/literal", false, true, "text", false, K844); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e657M : TinyExpressionP4Parser::e657C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15446:15455:body/1/literal", false, true, "text", false, K861); } private static Match e657C(Session s, Frame f) { - return s.literal(f, "TUESDAY", true, false, K845); + return s.literal(f, "TUESDAY", true, false, K862); } private static Match e657M(Session s, Frame f) { - return s.literal(f, "TUESDAY", true, false, K845); + return s.literal(f, "TUESDAY", true, false, K862); } private static Match e658(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e658M(s, f) : e658C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e658M : TinyExpressionP4Parser::e658C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15472:15483:body/2/literal", false, true, "text", false, K846); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e658M : TinyExpressionP4Parser::e658C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15458:15469:body/2/literal", false, true, "text", false, K863); } private static Match e658C(Session s, Frame f) { - return s.literal(f, "WEDNESDAY", true, false, K847); + return s.literal(f, "WEDNESDAY", true, false, K864); } private static Match e658M(Session s, Frame f) { - return s.literal(f, "WEDNESDAY", true, false, K847); + return s.literal(f, "WEDNESDAY", true, false, K864); } private static Match e659(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e659M(s, f) : e659C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e659M : TinyExpressionP4Parser::e659C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15486:15496:body/3/literal", false, true, "text", false, K848); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e659M : TinyExpressionP4Parser::e659C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15472:15482:body/3/literal", false, true, "text", false, K865); } private static Match e659C(Session s, Frame f) { - return s.literal(f, "THURSDAY", true, false, K849); + return s.literal(f, "THURSDAY", true, false, K866); } private static Match e659M(Session s, Frame f) { - return s.literal(f, "THURSDAY", true, false, K849); + return s.literal(f, "THURSDAY", true, false, K866); } private static Match e660(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e660M(s, f) : e660C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e660M : TinyExpressionP4Parser::e660C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15499:15507:body/4/literal", false, true, "text", false, K850); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e660M : TinyExpressionP4Parser::e660C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15485:15493:body/4/literal", false, true, "text", false, K867); } private static Match e660C(Session s, Frame f) { - return s.literal(f, "FRIDAY", true, false, K851); + return s.literal(f, "FRIDAY", true, false, K868); } private static Match e660M(Session s, Frame f) { - return s.literal(f, "FRIDAY", true, false, K851); + return s.literal(f, "FRIDAY", true, false, K868); } private static Match e661(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e661M(s, f) : e661C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e661M : TinyExpressionP4Parser::e661C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15510:15520:body/5/literal", false, true, "text", false, K852); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e661M : TinyExpressionP4Parser::e661C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15496:15506:body/5/literal", false, true, "text", false, K869); } private static Match e661C(Session s, Frame f) { - return s.literal(f, "SATURDAY", true, false, K853); + return s.literal(f, "SATURDAY", true, false, K870); } private static Match e661M(Session s, Frame f) { - return s.literal(f, "SATURDAY", true, false, K853); + return s.literal(f, "SATURDAY", true, false, K870); } private static Match e662(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e662M(s, f) : e662C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e662M : TinyExpressionP4Parser::e662C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15523:15531:body/6/literal", false, true, "text", false, K854); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e662M : TinyExpressionP4Parser::e662C, K216, K216, K216, K217, K217, "TinyExpressionP4::DayOfWeek", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15509:15517:body/6/literal", false, true, "text", false, K871); } private static Match e662C(Session s, Frame f) { - return s.literal(f, "SUNDAY", true, false, K855); + return s.literal(f, "SUNDAY", true, false, K872); } private static Match e662M(Session s, Frame f) { - return s.literal(f, "SUNDAY", true, false, K855); + return s.literal(f, "SUNDAY", true, false, K872); } private static Match e663(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e663M(s, f) : e663C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e663M : TinyExpressionP4Parser::e663C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15699:15968:body/choice", false, false, "mixed", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e663M : TinyExpressionP4Parser::e663C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15685:15954:body/choice", false, false, "mixed", false, K4); } private static Match e663C(Session s, Frame f) { - return s.choice(f,K873,false,null,false,K872); + return s.choice(f,K890,false,null,false,K889); } private static Match e663M(Session s, Frame f) { - return s.choice(f,K873,false,null,false,K872); + return s.choice(f,K890,false,null,false,K889); } private static Match e664(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e664M(s, f) : e664C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e664M : TinyExpressionP4Parser::e664C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15699:15723:body/0/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e664M : TinyExpressionP4Parser::e664C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15685:15709:body/0/ruleRef", false, false, "node", false, K4); } private static Match e664C(Session s, Frame f) { return parseExternalStringInvocation_33(s, f); @@ -7767,27 +8104,27 @@ private static Match e664M(Session s, Frame f) { private static Match e665(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e665M(s, f) : e665C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e665M : TinyExpressionP4Parser::e665C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15730:15749:body/1/seq", false, false, "node", false, K874); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e665M : TinyExpressionP4Parser::e665C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15716:15735:body/1/seq", false, false, "node", false, K891); } private static Match e665C(Session s, Frame f) { - return s.sequence(f, K875, K248); + return s.sequence(f, K892, K251); } private static Match e665M(Session s, Frame f) { - return s.sequence(f, K875, K248); + return s.sequence(f, K892, K251); } private static Match e666(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e666M(s, f) : e666C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e666M : TinyExpressionP4Parser::e666C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15730:15733:body/1/0/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e666M : TinyExpressionP4Parser::e666C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15716:15719:body/1/0/literal", false, true, "text", false, K399); } private static Match e666C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e666M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e667(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e667M(s, f) : e667C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e667M : TinyExpressionP4Parser::e667C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15734:15745:body/1/1/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e667M : TinyExpressionP4Parser::e667C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15720:15731:body/1/1/ruleRef", false, false, "node", false, K4); } private static Match e667C(Session s, Frame f) { return parseVariableRef_121(s, f); @@ -7797,17 +8134,17 @@ private static Match e667M(Session s, Frame f) { } private static Match e668(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e668M(s, f) : e668C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e668M : TinyExpressionP4Parser::e668C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15746:15749:body/1/2/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e668M : TinyExpressionP4Parser::e668C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15732:15735:body/1/2/literal", false, true, "text", false, K401); } private static Match e668C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e668M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e669(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e669M(s, f) : e669C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e669M : TinyExpressionP4Parser::e669C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15756:15785:body/2/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e669M : TinyExpressionP4Parser::e669C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15742:15771:body/2/ruleRef", false, false, "node", false, K4); } private static Match e669C(Session s, Frame f) { return parseParenthesizedStringExpression_90(s, f); @@ -7817,7 +8154,7 @@ private static Match e669M(Session s, Frame f) { } private static Match e670(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e670M(s, f) : e670C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e670M : TinyExpressionP4Parser::e670C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15792:15811:body/3/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e670M : TinyExpressionP4Parser::e670C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15778:15797:body/3/ruleRef", false, false, "node", false, K4); } private static Match e670C(Session s, Frame f) { return parseToUpperCaseFunction_61(s, f); @@ -7827,7 +8164,7 @@ private static Match e670M(Session s, Frame f) { } private static Match e671(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e671M(s, f) : e671C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e671M : TinyExpressionP4Parser::e671C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15814:15833:body/4/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e671M : TinyExpressionP4Parser::e671C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15800:15819:body/4/ruleRef", false, false, "node", false, K4); } private static Match e671C(Session s, Frame f) { return parseToLowerCaseFunction_62(s, f); @@ -7837,7 +8174,7 @@ private static Match e671M(Session s, Frame f) { } private static Match e672(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e672M(s, f) : e672C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e672M : TinyExpressionP4Parser::e672C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15836:15848:body/5/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e672M : TinyExpressionP4Parser::e672C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15822:15834:body/5/ruleRef", false, false, "node", false, K4); } private static Match e672C(Session s, Frame f) { return parseTrimFunction_63(s, f); @@ -7847,7 +8184,7 @@ private static Match e672M(Session s, Frame f) { } private static Match e673(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e673M(s, f) : e673C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e673M : TinyExpressionP4Parser::e673C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15855:15875:body/6/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e673M : TinyExpressionP4Parser::e673C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15841:15861:body/6/ruleRef", false, false, "node", false, K4); } private static Match e673C(Session s, Frame f) { return parseToUpperCaseDotMethod_66(s, f); @@ -7857,7 +8194,7 @@ private static Match e673M(Session s, Frame f) { } private static Match e674(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e674M(s, f) : e674C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e674M : TinyExpressionP4Parser::e674C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15878:15898:body/7/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e674M : TinyExpressionP4Parser::e674C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15864:15884:body/7/ruleRef", false, false, "node", false, K4); } private static Match e674C(Session s, Frame f) { return parseToLowerCaseDotMethod_67(s, f); @@ -7867,7 +8204,7 @@ private static Match e674M(Session s, Frame f) { } private static Match e675(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e675M(s, f) : e675C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e675M : TinyExpressionP4Parser::e675C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15901:15914:body/8/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e675M : TinyExpressionP4Parser::e675C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15887:15900:body/8/ruleRef", false, false, "node", false, K4); } private static Match e675C(Session s, Frame f) { return parseTrimDotMethod_68(s, f); @@ -7877,17 +8214,17 @@ private static Match e675M(Session s, Frame f) { } private static Match e676(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e676M(s, f) : e676C(s, f); s.progress(f); return s.tree ? s.textAlternative(r) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e676M : TinyExpressionP4Parser::e676C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15921:15927:body/9/tokenRef", false, true, "textAlternative", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e676M : TinyExpressionP4Parser::e676C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15907:15913:body/9/tokenRef", false, true, "textAlternative", false, K390); } private static Match e676C(Session s, Frame f) { - return s.external(f,"TinyExpressionP4::STRING",3); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K391,K392); } private static Match e676M(Session s, Frame f) { - return s.external(f,"TinyExpressionP4::STRING",3); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K391,K392); } private static Match e677(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e677M(s, f) : e677C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e677M : TinyExpressionP4Parser::e677C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15934:15945:body/10/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e677M : TinyExpressionP4Parser::e677C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15920:15931:body/10/ruleRef", false, false, "node", false, K4); } private static Match e677C(Session s, Frame f) { return parseVariableRef_121(s, f); @@ -7897,7 +8234,7 @@ private static Match e677M(Session s, Frame f) { } private static Match e678(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e678M(s, f) : e678C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e678M : TinyExpressionP4Parser::e678C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15952:15968:body/11/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e678M : TinyExpressionP4Parser::e678C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseReceiver", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15938:15954:body/11/ruleRef", false, false, "node", false, K4); } private static Match e678C(Session s, Frame f) { return parseMethodInvocation_36(s, f); @@ -7908,17 +8245,17 @@ private static Match e678M(Session s, Frame f) { private static Match e679(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e679M(s, f) : e679C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e679M : TinyExpressionP4Parser::e679C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceStartIndex", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16484:16500:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e679M : TinyExpressionP4Parser::e679C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceStartIndex", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16470:16486:body/seq", false, false, "node", false, K4); } private static Match e679C(Session s, Frame f) { - return s.sequence(f, K876, K240); + return s.sequence(f, K893, K240); } private static Match e679M(Session s, Frame f) { - return s.sequence(f, K876, K240); + return s.sequence(f, K893, K240); } private static Match e680(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e680M(s, f) : e680C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e680M : TinyExpressionP4Parser::e680C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceStartIndex", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16484:16500:body/0/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e680M : TinyExpressionP4Parser::e680C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceStartIndex", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16470:16486:body/0/ruleRef", false, false, "node", false, K4); } private static Match e680C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -7929,17 +8266,17 @@ private static Match e680M(Session s, Frame f) { private static Match e681(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e681M(s, f) : e681C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e681M : TinyExpressionP4Parser::e681C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceEndIndex", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16525:16541:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e681M : TinyExpressionP4Parser::e681C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceEndIndex", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16511:16527:body/seq", false, false, "node", false, K4); } private static Match e681C(Session s, Frame f) { - return s.sequence(f, K877, K240); + return s.sequence(f, K894, K240); } private static Match e681M(Session s, Frame f) { - return s.sequence(f, K877, K240); + return s.sequence(f, K894, K240); } private static Match e682(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e682M(s, f) : e682C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e682M : TinyExpressionP4Parser::e682C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceEndIndex", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16525:16541:body/0/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e682M : TinyExpressionP4Parser::e682C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceEndIndex", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16511:16527:body/0/ruleRef", false, false, "node", false, K4); } private static Match e682C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -7950,17 +8287,17 @@ private static Match e682M(Session s, Frame f) { private static Match e683(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e683M(s, f) : e683C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e683M : TinyExpressionP4Parser::e683C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceStepIndex", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16566:16582:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e683M : TinyExpressionP4Parser::e683C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceStepIndex", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16552:16568:body/seq", false, false, "node", false, K4); } private static Match e683C(Session s, Frame f) { - return s.sequence(f, K878, K240); + return s.sequence(f, K895, K240); } private static Match e683M(Session s, Frame f) { - return s.sequence(f, K878, K240); + return s.sequence(f, K895, K240); } private static Match e684(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e684M(s, f) : e684C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e684M : TinyExpressionP4Parser::e684C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceStepIndex", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16566:16582:body/0/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e684M : TinyExpressionP4Parser::e684C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceStepIndex", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16552:16568:body/0/ruleRef", false, false, "node", false, K4); } private static Match e684C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -7970,28 +8307,28 @@ private static Match e684M(Session s, Frame f) { } private static Match e685(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e685M(s, f) : e685C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e685M : TinyExpressionP4Parser::e685C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16674:17279:body/choice", false, false, "mixed", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e685M : TinyExpressionP4Parser::e685C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16660:17265:body/choice", false, false, "mixed", true, K4); } private static Match e685C(Session s, Frame f) { - return s.choice(f,K903,false,null,false,null,K902); + return s.choice(f,K920,false,null,false,null,K919); } private static Match e685M(Session s, Frame f) { - return s.choice(f,K903,false,null,false,null,K902); + return s.choice(f,K920,false,null,false,null,K919); } private static Match e686(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e686M(s, f) : e686C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e686M : TinyExpressionP4Parser::e686C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16674:16777:body/0/seq", false, false, "mixed", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e686M : TinyExpressionP4Parser::e686C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16660:16763:body/0/seq", false, false, "mixed", true, K156); } private static Match e686C(Session s, Frame f) { - return s.sequence(f, K904, K396); + return s.sequence(f, K921, K411); } private static Match e686M(Session s, Frame f) { - return s.sequence(f, K904, K396); + return s.sequence(f, K921, K411); } private static Match e687(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e687M(s, f) : e687C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e687M : TinyExpressionP4Parser::e687C, K905, K311, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16674:16691:body/0/0/ruleRef", false, false, "mixed", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e687M : TinyExpressionP4Parser::e687C, K922, K323, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16660:16677:body/0/0/ruleRef", false, false, "mixed", false, K227); } private static Match e687C(Session s, Frame f) { return parseSliceBaseReceiver_82(s, f); @@ -8001,17 +8338,17 @@ private static Match e687M(Session s, Frame f) { } private static Match e688(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e688M(s, f) : e688C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e688M : TinyExpressionP4Parser::e688C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16699:16702:body/0/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e688M : TinyExpressionP4Parser::e688C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16685:16688:body/0/1/literal", false, true, "text", false, K923); } private static Match e688C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e688M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e689(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e689M(s, f) : e689C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e689M : TinyExpressionP4Parser::e689C, K908, K909, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16703:16718:body/0/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e689M : TinyExpressionP4Parser::e689C, K925, K926, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16689:16704:body/0/2/ruleRef", false, false, "node", false, K227); } private static Match e689C(Session s, Frame f) { return parseSliceStartIndex_83(s, f); @@ -8021,17 +8358,17 @@ private static Match e689M(Session s, Frame f) { } private static Match e690(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e690M(s, f) : e690C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e690M : TinyExpressionP4Parser::e690C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16726:16729:body/0/3/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e690M : TinyExpressionP4Parser::e690C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16712:16715:body/0/3/literal", false, true, "text", false, K473); } private static Match e690C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e690M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e691(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e691M(s, f) : e691C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e691M : TinyExpressionP4Parser::e691C, K910, K911, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16730:16743:body/0/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e691M : TinyExpressionP4Parser::e691C, K927, K928, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16716:16729:body/0/4/ruleRef", false, false, "node", false, K227); } private static Match e691C(Session s, Frame f) { return parseSliceEndIndex_84(s, f); @@ -8041,17 +8378,17 @@ private static Match e691M(Session s, Frame f) { } private static Match e692(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e692M(s, f) : e692C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e692M : TinyExpressionP4Parser::e692C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16749:16752:body/0/5/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e692M : TinyExpressionP4Parser::e692C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16735:16738:body/0/5/literal", false, true, "text", false, K473); } private static Match e692C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e692M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e693(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e693M(s, f) : e693C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e693M : TinyExpressionP4Parser::e693C, K912, K913, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16753:16767:body/0/6/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e693M : TinyExpressionP4Parser::e693C, K929, K930, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16739:16753:body/0/6/ruleRef", false, false, "node", false, K227); } private static Match e693C(Session s, Frame f) { return parseSliceStepIndex_85(s, f); @@ -8061,28 +8398,28 @@ private static Match e693M(Session s, Frame f) { } private static Match e694(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e694M(s, f) : e694C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e694M : TinyExpressionP4Parser::e694C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16774:16777:body/0/7/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e694M : TinyExpressionP4Parser::e694C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16760:16763:body/0/7/literal", false, true, "text", false, K931); } private static Match e694C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e694M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e695(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e695M(s, f) : e695C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e695M : TinyExpressionP4Parser::e695C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16784:16862:body/1/seq", false, false, "mixed", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e695M : TinyExpressionP4Parser::e695C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16770:16848:body/1/seq", false, false, "mixed", true, K156); } private static Match e695C(Session s, Frame f) { - return s.sequence(f, K916, K252); + return s.sequence(f, K933, K263); } private static Match e695M(Session s, Frame f) { - return s.sequence(f, K916, K252); + return s.sequence(f, K933, K263); } private static Match e696(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e696M(s, f) : e696C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e696M : TinyExpressionP4Parser::e696C, K917, K311, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16784:16801:body/1/0/ruleRef", false, false, "mixed", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e696M : TinyExpressionP4Parser::e696C, K934, K323, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16770:16787:body/1/0/ruleRef", false, false, "mixed", false, K227); } private static Match e696C(Session s, Frame f) { return parseSliceBaseReceiver_82(s, f); @@ -8092,17 +8429,17 @@ private static Match e696M(Session s, Frame f) { } private static Match e697(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e697M(s, f) : e697C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e697M : TinyExpressionP4Parser::e697C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16809:16812:body/1/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e697M : TinyExpressionP4Parser::e697C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16795:16798:body/1/1/literal", false, true, "text", false, K923); } private static Match e697C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e697M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e698(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e698M(s, f) : e698C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e698M : TinyExpressionP4Parser::e698C, K918, K909, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16813:16828:body/1/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e698M : TinyExpressionP4Parser::e698C, K935, K926, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16799:16814:body/1/2/ruleRef", false, false, "node", false, K227); } private static Match e698C(Session s, Frame f) { return parseSliceStartIndex_83(s, f); @@ -8112,17 +8449,17 @@ private static Match e698M(Session s, Frame f) { } private static Match e699(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e699M(s, f) : e699C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e699M : TinyExpressionP4Parser::e699C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16836:16839:body/1/3/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e699M : TinyExpressionP4Parser::e699C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16822:16825:body/1/3/literal", false, true, "text", false, K473); } private static Match e699C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e699M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e700(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e700M(s, f) : e700C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e700M : TinyExpressionP4Parser::e700C, K919, K911, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16840:16853:body/1/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e700M : TinyExpressionP4Parser::e700C, K936, K928, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16826:16839:body/1/4/ruleRef", false, false, "node", false, K227); } private static Match e700C(Session s, Frame f) { return parseSliceEndIndex_84(s, f); @@ -8132,28 +8469,28 @@ private static Match e700M(Session s, Frame f) { } private static Match e701(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e701M(s, f) : e701C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e701M : TinyExpressionP4Parser::e701C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16859:16862:body/1/5/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e701M : TinyExpressionP4Parser::e701C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16845:16848:body/1/5/literal", false, true, "text", false, K931); } private static Match e701C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e701M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e702(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e702M(s, f) : e702C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e702M : TinyExpressionP4Parser::e702C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16869:16953:body/2/seq", false, false, "mixed", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e702M : TinyExpressionP4Parser::e702C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16855:16939:body/2/seq", false, false, "mixed", true, K156); } private static Match e702C(Session s, Frame f) { - return s.sequence(f, K920, K220); + return s.sequence(f, K937, K220); } private static Match e702M(Session s, Frame f) { - return s.sequence(f, K920, K220); + return s.sequence(f, K937, K220); } private static Match e703(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e703M(s, f) : e703C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e703M : TinyExpressionP4Parser::e703C, K921, K311, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16869:16886:body/2/0/ruleRef", false, false, "mixed", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e703M : TinyExpressionP4Parser::e703C, K938, K323, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16855:16872:body/2/0/ruleRef", false, false, "mixed", false, K227); } private static Match e703C(Session s, Frame f) { return parseSliceBaseReceiver_82(s, f); @@ -8163,17 +8500,17 @@ private static Match e703M(Session s, Frame f) { } private static Match e704(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e704M(s, f) : e704C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e704M : TinyExpressionP4Parser::e704C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16894:16897:body/2/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e704M : TinyExpressionP4Parser::e704C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16880:16883:body/2/1/literal", false, true, "text", false, K923); } private static Match e704C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e704M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e705(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e705M(s, f) : e705C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e705M : TinyExpressionP4Parser::e705C, K922, K909, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16898:16913:body/2/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e705M : TinyExpressionP4Parser::e705C, K939, K926, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16884:16899:body/2/2/ruleRef", false, false, "node", false, K227); } private static Match e705C(Session s, Frame f) { return parseSliceStartIndex_83(s, f); @@ -8183,27 +8520,27 @@ private static Match e705M(Session s, Frame f) { } private static Match e706(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e706M(s, f) : e706C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e706M : TinyExpressionP4Parser::e706C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16921:16924:body/2/3/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e706M : TinyExpressionP4Parser::e706C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16907:16910:body/2/3/literal", false, true, "text", false, K473); } private static Match e706C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e706M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e707(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e707M(s, f) : e707C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e707M : TinyExpressionP4Parser::e707C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16925:16928:body/2/4/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e707M : TinyExpressionP4Parser::e707C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16911:16914:body/2/4/literal", false, true, "text", false, K473); } private static Match e707C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e707M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e708(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e708M(s, f) : e708C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e708M : TinyExpressionP4Parser::e708C, K923, K913, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16929:16943:body/2/5/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e708M : TinyExpressionP4Parser::e708C, K940, K930, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16915:16929:body/2/5/ruleRef", false, false, "node", false, K227); } private static Match e708C(Session s, Frame f) { return parseSliceStepIndex_85(s, f); @@ -8213,28 +8550,28 @@ private static Match e708M(Session s, Frame f) { } private static Match e709(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e709M(s, f) : e709C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e709M : TinyExpressionP4Parser::e709C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16950:16953:body/2/6/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e709M : TinyExpressionP4Parser::e709C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16936:16939:body/2/6/literal", false, true, "text", false, K931); } private static Match e709C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e709M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e710(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e710M(s, f) : e710C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e710M : TinyExpressionP4Parser::e710C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16960:17019:body/3/seq", false, false, "mixed", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e710M : TinyExpressionP4Parser::e710C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16946:17005:body/3/seq", false, false, "mixed", true, K156); } private static Match e710C(Session s, Frame f) { - return s.sequence(f, K924, K379); + return s.sequence(f, K941, K394); } private static Match e710M(Session s, Frame f) { - return s.sequence(f, K924, K379); + return s.sequence(f, K941, K394); } private static Match e711(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e711M(s, f) : e711C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e711M : TinyExpressionP4Parser::e711C, K925, K311, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16960:16977:body/3/0/ruleRef", false, false, "mixed", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e711M : TinyExpressionP4Parser::e711C, K942, K323, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16946:16963:body/3/0/ruleRef", false, false, "mixed", false, K227); } private static Match e711C(Session s, Frame f) { return parseSliceBaseReceiver_82(s, f); @@ -8244,17 +8581,17 @@ private static Match e711M(Session s, Frame f) { } private static Match e712(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e712M(s, f) : e712C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e712M : TinyExpressionP4Parser::e712C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16985:16988:body/3/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e712M : TinyExpressionP4Parser::e712C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16971:16974:body/3/1/literal", false, true, "text", false, K923); } private static Match e712C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e712M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e713(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e713M(s, f) : e713C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e713M : TinyExpressionP4Parser::e713C, K926, K909, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16989:17004:body/3/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e713M : TinyExpressionP4Parser::e713C, K943, K926, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16975:16990:body/3/2/ruleRef", false, false, "node", false, K227); } private static Match e713C(Session s, Frame f) { return parseSliceStartIndex_83(s, f); @@ -8264,38 +8601,38 @@ private static Match e713M(Session s, Frame f) { } private static Match e714(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e714M(s, f) : e714C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e714M : TinyExpressionP4Parser::e714C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17012:17015:body/3/3/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e714M : TinyExpressionP4Parser::e714C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16998:17001:body/3/3/literal", false, true, "text", false, K473); } private static Match e714C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e714M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e715(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e715M(s, f) : e715C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e715M : TinyExpressionP4Parser::e715C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17016:17019:body/3/4/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e715M : TinyExpressionP4Parser::e715C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17002:17005:body/3/4/literal", false, true, "text", false, K931); } private static Match e715C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e715M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e716(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e716M(s, f) : e716C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e716M : TinyExpressionP4Parser::e716C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17026:17106:body/4/seq", false, false, "mixed", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e716M : TinyExpressionP4Parser::e716C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17012:17092:body/4/seq", false, false, "mixed", true, K156); } private static Match e716C(Session s, Frame f) { - return s.sequence(f, K927, K220); + return s.sequence(f, K944, K220); } private static Match e716M(Session s, Frame f) { - return s.sequence(f, K927, K220); + return s.sequence(f, K944, K220); } private static Match e717(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e717M(s, f) : e717C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e717M : TinyExpressionP4Parser::e717C, K928, K311, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17026:17043:body/4/0/ruleRef", false, false, "mixed", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e717M : TinyExpressionP4Parser::e717C, K945, K323, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17012:17029:body/4/0/ruleRef", false, false, "mixed", false, K227); } private static Match e717C(Session s, Frame f) { return parseSliceBaseReceiver_82(s, f); @@ -8305,27 +8642,27 @@ private static Match e717M(Session s, Frame f) { } private static Match e718(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e718M(s, f) : e718C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e718M : TinyExpressionP4Parser::e718C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17051:17054:body/4/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e718M : TinyExpressionP4Parser::e718C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17037:17040:body/4/1/literal", false, true, "text", false, K923); } private static Match e718C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e718M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e719(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e719M(s, f) : e719C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e719M : TinyExpressionP4Parser::e719C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17055:17058:body/4/2/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e719M : TinyExpressionP4Parser::e719C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17041:17044:body/4/2/literal", false, true, "text", false, K473); } private static Match e719C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e719M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e720(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e720M(s, f) : e720C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e720M : TinyExpressionP4Parser::e720C, K929, K911, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17059:17072:body/4/3/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e720M : TinyExpressionP4Parser::e720C, K946, K928, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17045:17058:body/4/3/ruleRef", false, false, "node", false, K227); } private static Match e720C(Session s, Frame f) { return parseSliceEndIndex_84(s, f); @@ -8335,17 +8672,17 @@ private static Match e720M(Session s, Frame f) { } private static Match e721(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e721M(s, f) : e721C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e721M : TinyExpressionP4Parser::e721C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17078:17081:body/4/4/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e721M : TinyExpressionP4Parser::e721C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17064:17067:body/4/4/literal", false, true, "text", false, K473); } private static Match e721C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e721M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e722(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e722M(s, f) : e722C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e722M : TinyExpressionP4Parser::e722C, K930, K913, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17082:17096:body/4/5/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e722M : TinyExpressionP4Parser::e722C, K947, K930, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17068:17082:body/4/5/ruleRef", false, false, "node", false, K227); } private static Match e722C(Session s, Frame f) { return parseSliceStepIndex_85(s, f); @@ -8355,28 +8692,28 @@ private static Match e722M(Session s, Frame f) { } private static Match e723(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e723M(s, f) : e723C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e723M : TinyExpressionP4Parser::e723C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17103:17106:body/4/6/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e723M : TinyExpressionP4Parser::e723C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17089:17092:body/4/6/literal", false, true, "text", false, K931); } private static Match e723C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e723M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e724(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e724M(s, f) : e724C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e724M : TinyExpressionP4Parser::e724C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17113:17168:body/5/seq", false, false, "mixed", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e724M : TinyExpressionP4Parser::e724C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17099:17154:body/5/seq", false, false, "mixed", true, K156); } private static Match e724C(Session s, Frame f) { - return s.sequence(f, K931, K379); + return s.sequence(f, K948, K394); } private static Match e724M(Session s, Frame f) { - return s.sequence(f, K931, K379); + return s.sequence(f, K948, K394); } private static Match e725(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e725M(s, f) : e725C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e725M : TinyExpressionP4Parser::e725C, K932, K311, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17113:17130:body/5/0/ruleRef", false, false, "mixed", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e725M : TinyExpressionP4Parser::e725C, K949, K323, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17099:17116:body/5/0/ruleRef", false, false, "mixed", false, K227); } private static Match e725C(Session s, Frame f) { return parseSliceBaseReceiver_82(s, f); @@ -8386,27 +8723,27 @@ private static Match e725M(Session s, Frame f) { } private static Match e726(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e726M(s, f) : e726C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e726M : TinyExpressionP4Parser::e726C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17138:17141:body/5/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e726M : TinyExpressionP4Parser::e726C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17124:17127:body/5/1/literal", false, true, "text", false, K923); } private static Match e726C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e726M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e727(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e727M(s, f) : e727C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e727M : TinyExpressionP4Parser::e727C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17142:17145:body/5/2/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e727M : TinyExpressionP4Parser::e727C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17128:17131:body/5/2/literal", false, true, "text", false, K473); } private static Match e727C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e727M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e728(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e728M(s, f) : e728C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e728M : TinyExpressionP4Parser::e728C, K933, K911, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17146:17159:body/5/3/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e728M : TinyExpressionP4Parser::e728C, K950, K928, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17132:17145:body/5/3/ruleRef", false, false, "node", false, K227); } private static Match e728C(Session s, Frame f) { return parseSliceEndIndex_84(s, f); @@ -8416,28 +8753,28 @@ private static Match e728M(Session s, Frame f) { } private static Match e729(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e729M(s, f) : e729C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e729M : TinyExpressionP4Parser::e729C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17165:17168:body/5/4/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e729M : TinyExpressionP4Parser::e729C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17151:17154:body/5/4/literal", false, true, "text", false, K931); } private static Match e729C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e729M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e730(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e730M(s, f) : e730C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e730M : TinyExpressionP4Parser::e730C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17175:17236:body/6/seq", false, false, "mixed", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e730M : TinyExpressionP4Parser::e730C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17161:17222:body/6/seq", false, false, "mixed", true, K156); } private static Match e730C(Session s, Frame f) { - return s.sequence(f, K934, K252); + return s.sequence(f, K951, K263); } private static Match e730M(Session s, Frame f) { - return s.sequence(f, K934, K252); + return s.sequence(f, K951, K263); } private static Match e731(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e731M(s, f) : e731C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e731M : TinyExpressionP4Parser::e731C, K935, K311, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17175:17192:body/6/0/ruleRef", false, false, "mixed", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e731M : TinyExpressionP4Parser::e731C, K952, K323, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17161:17178:body/6/0/ruleRef", false, false, "mixed", false, K227); } private static Match e731C(Session s, Frame f) { return parseSliceBaseReceiver_82(s, f); @@ -8447,37 +8784,37 @@ private static Match e731M(Session s, Frame f) { } private static Match e732(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e732M(s, f) : e732C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e732M : TinyExpressionP4Parser::e732C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17200:17203:body/6/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e732M : TinyExpressionP4Parser::e732C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17186:17189:body/6/1/literal", false, true, "text", false, K923); } private static Match e732C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e732M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e733(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e733M(s, f) : e733C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e733M : TinyExpressionP4Parser::e733C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17204:17207:body/6/2/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e733M : TinyExpressionP4Parser::e733C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17190:17193:body/6/2/literal", false, true, "text", false, K473); } private static Match e733C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e733M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e734(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e734M(s, f) : e734C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e734M : TinyExpressionP4Parser::e734C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17208:17211:body/6/3/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e734M : TinyExpressionP4Parser::e734C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17194:17197:body/6/3/literal", false, true, "text", false, K473); } private static Match e734C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e734M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e735(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e735M(s, f) : e735C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e735M : TinyExpressionP4Parser::e735C, K936, K913, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17212:17226:body/6/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e735M : TinyExpressionP4Parser::e735C, K953, K930, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17198:17212:body/6/4/ruleRef", false, false, "node", false, K227); } private static Match e735C(Session s, Frame f) { return parseSliceStepIndex_85(s, f); @@ -8487,28 +8824,28 @@ private static Match e735M(Session s, Frame f) { } private static Match e736(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e736M(s, f) : e736C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e736M : TinyExpressionP4Parser::e736C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17233:17236:body/6/5/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e736M : TinyExpressionP4Parser::e736C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17219:17222:body/6/5/literal", false, true, "text", false, K931); } private static Match e736C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e736M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e737(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e737M(s, f) : e737C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e737M : TinyExpressionP4Parser::e737C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17243:17279:body/7/seq", false, false, "mixed", false, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e737M : TinyExpressionP4Parser::e737C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17229:17265:body/7/seq", false, false, "mixed", false, K156); } private static Match e737C(Session s, Frame f) { - return s.sequence(f, K937, K604); + return s.sequence(f, K954, K620); } private static Match e737M(Session s, Frame f) { - return s.sequence(f, K937, K604); + return s.sequence(f, K954, K620); } private static Match e738(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e738M(s, f) : e738C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e738M : TinyExpressionP4Parser::e738C, K938, K311, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17243:17260:body/7/0/ruleRef", false, false, "mixed", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e738M : TinyExpressionP4Parser::e738C, K955, K323, K225, K226, K226, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17229:17246:body/7/0/ruleRef", false, false, "mixed", false, K227); } private static Match e738C(Session s, Frame f) { return parseSliceBaseReceiver_82(s, f); @@ -8518,58 +8855,58 @@ private static Match e738M(Session s, Frame f) { } private static Match e739(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e739M(s, f) : e739C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e739M : TinyExpressionP4Parser::e739C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17268:17271:body/7/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e739M : TinyExpressionP4Parser::e739C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17254:17257:body/7/1/literal", false, true, "text", false, K923); } private static Match e739C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e739M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e740(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e740M(s, f) : e740C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e740M : TinyExpressionP4Parser::e740C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17272:17275:body/7/2/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e740M : TinyExpressionP4Parser::e740C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17258:17261:body/7/2/literal", false, true, "text", false, K473); } private static Match e740C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e740M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e741(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e741M(s, f) : e741C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e741M : TinyExpressionP4Parser::e741C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17276:17279:body/7/3/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e741M : TinyExpressionP4Parser::e741C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17262:17265:body/7/3/literal", false, true, "text", false, K931); } private static Match e741C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e741M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e742(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e742M(s, f) : e742C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e742M : TinyExpressionP4Parser::e742C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17373:17994:body/choice", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e742M : TinyExpressionP4Parser::e742C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17359:17980:body/choice", false, false, "node", true, K4); } private static Match e742C(Session s, Frame f) { - return s.choice(f,K963,false,null,false,null,K962); + return s.choice(f,K980,false,null,false,null,K979); } private static Match e742M(Session s, Frame f) { - return s.choice(f,K963,false,null,false,null,K962); + return s.choice(f,K980,false,null,false,null,K979); } private static Match e743(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e743M(s, f) : e743C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e743M : TinyExpressionP4Parser::e743C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17373:17478:body/0/seq", false, false, "node", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e743M : TinyExpressionP4Parser::e743C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17359:17464:body/0/seq", false, false, "node", true, K156); } private static Match e743C(Session s, Frame f) { - return s.sequence(f, K964, K396); + return s.sequence(f, K981, K411); } private static Match e743M(Session s, Frame f) { - return s.sequence(f, K964, K396); + return s.sequence(f, K981, K411); } private static Match e744(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e744M(s, f) : e744C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e744M : TinyExpressionP4Parser::e744C, K965, K311, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17373:17392:body/0/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e744M : TinyExpressionP4Parser::e744C, K982, K323, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17359:17378:body/0/0/ruleRef", false, false, "node", false, K227); } private static Match e744C(Session s, Frame f) { return parseSliceBaseExpression_86(s, f); @@ -8579,17 +8916,17 @@ private static Match e744M(Session s, Frame f) { } private static Match e745(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e745M(s, f) : e745C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e745M : TinyExpressionP4Parser::e745C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17400:17403:body/0/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e745M : TinyExpressionP4Parser::e745C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17386:17389:body/0/1/literal", false, true, "text", false, K923); } private static Match e745C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e745M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e746(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e746M(s, f) : e746C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e746M : TinyExpressionP4Parser::e746C, K966, K909, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17404:17419:body/0/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e746M : TinyExpressionP4Parser::e746C, K983, K926, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17390:17405:body/0/2/ruleRef", false, false, "node", false, K227); } private static Match e746C(Session s, Frame f) { return parseSliceStartIndex_83(s, f); @@ -8599,17 +8936,17 @@ private static Match e746M(Session s, Frame f) { } private static Match e747(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e747M(s, f) : e747C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e747M : TinyExpressionP4Parser::e747C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17427:17430:body/0/3/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e747M : TinyExpressionP4Parser::e747C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17413:17416:body/0/3/literal", false, true, "text", false, K473); } private static Match e747C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e747M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e748(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e748M(s, f) : e748C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e748M : TinyExpressionP4Parser::e748C, K967, K911, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17431:17444:body/0/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e748M : TinyExpressionP4Parser::e748C, K984, K928, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17417:17430:body/0/4/ruleRef", false, false, "node", false, K227); } private static Match e748C(Session s, Frame f) { return parseSliceEndIndex_84(s, f); @@ -8619,17 +8956,17 @@ private static Match e748M(Session s, Frame f) { } private static Match e749(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e749M(s, f) : e749C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e749M : TinyExpressionP4Parser::e749C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17450:17453:body/0/5/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e749M : TinyExpressionP4Parser::e749C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17436:17439:body/0/5/literal", false, true, "text", false, K473); } private static Match e749C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e749M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e750(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e750M(s, f) : e750C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e750M : TinyExpressionP4Parser::e750C, K968, K913, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17454:17468:body/0/6/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e750M : TinyExpressionP4Parser::e750C, K985, K930, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17440:17454:body/0/6/ruleRef", false, false, "node", false, K227); } private static Match e750C(Session s, Frame f) { return parseSliceStepIndex_85(s, f); @@ -8639,28 +8976,28 @@ private static Match e750M(Session s, Frame f) { } private static Match e751(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e751M(s, f) : e751C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e751M : TinyExpressionP4Parser::e751C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17475:17478:body/0/7/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e751M : TinyExpressionP4Parser::e751C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17461:17464:body/0/7/literal", false, true, "text", false, K931); } private static Match e751C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e751M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e752(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e752M(s, f) : e752C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e752M : TinyExpressionP4Parser::e752C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17485:17565:body/1/seq", false, false, "node", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e752M : TinyExpressionP4Parser::e752C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17471:17551:body/1/seq", false, false, "node", true, K156); } private static Match e752C(Session s, Frame f) { - return s.sequence(f, K969, K252); + return s.sequence(f, K986, K263); } private static Match e752M(Session s, Frame f) { - return s.sequence(f, K969, K252); + return s.sequence(f, K986, K263); } private static Match e753(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e753M(s, f) : e753C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e753M : TinyExpressionP4Parser::e753C, K970, K311, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17485:17504:body/1/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e753M : TinyExpressionP4Parser::e753C, K987, K323, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17471:17490:body/1/0/ruleRef", false, false, "node", false, K227); } private static Match e753C(Session s, Frame f) { return parseSliceBaseExpression_86(s, f); @@ -8670,17 +9007,17 @@ private static Match e753M(Session s, Frame f) { } private static Match e754(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e754M(s, f) : e754C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e754M : TinyExpressionP4Parser::e754C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17512:17515:body/1/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e754M : TinyExpressionP4Parser::e754C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17498:17501:body/1/1/literal", false, true, "text", false, K923); } private static Match e754C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e754M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e755(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e755M(s, f) : e755C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e755M : TinyExpressionP4Parser::e755C, K971, K909, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17516:17531:body/1/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e755M : TinyExpressionP4Parser::e755C, K988, K926, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17502:17517:body/1/2/ruleRef", false, false, "node", false, K227); } private static Match e755C(Session s, Frame f) { return parseSliceStartIndex_83(s, f); @@ -8690,17 +9027,17 @@ private static Match e755M(Session s, Frame f) { } private static Match e756(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e756M(s, f) : e756C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e756M : TinyExpressionP4Parser::e756C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17539:17542:body/1/3/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e756M : TinyExpressionP4Parser::e756C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17525:17528:body/1/3/literal", false, true, "text", false, K473); } private static Match e756C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e756M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e757(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e757M(s, f) : e757C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e757M : TinyExpressionP4Parser::e757C, K972, K911, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17543:17556:body/1/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e757M : TinyExpressionP4Parser::e757C, K989, K928, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17529:17542:body/1/4/ruleRef", false, false, "node", false, K227); } private static Match e757C(Session s, Frame f) { return parseSliceEndIndex_84(s, f); @@ -8710,28 +9047,28 @@ private static Match e757M(Session s, Frame f) { } private static Match e758(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e758M(s, f) : e758C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e758M : TinyExpressionP4Parser::e758C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17562:17565:body/1/5/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e758M : TinyExpressionP4Parser::e758C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17548:17551:body/1/5/literal", false, true, "text", false, K931); } private static Match e758C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e758M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e759(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e759M(s, f) : e759C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e759M : TinyExpressionP4Parser::e759C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17572:17658:body/2/seq", false, false, "node", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e759M : TinyExpressionP4Parser::e759C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17558:17644:body/2/seq", false, false, "node", true, K156); } private static Match e759C(Session s, Frame f) { - return s.sequence(f, K973, K220); + return s.sequence(f, K990, K220); } private static Match e759M(Session s, Frame f) { - return s.sequence(f, K973, K220); + return s.sequence(f, K990, K220); } private static Match e760(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e760M(s, f) : e760C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e760M : TinyExpressionP4Parser::e760C, K974, K311, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17572:17591:body/2/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e760M : TinyExpressionP4Parser::e760C, K991, K323, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17558:17577:body/2/0/ruleRef", false, false, "node", false, K227); } private static Match e760C(Session s, Frame f) { return parseSliceBaseExpression_86(s, f); @@ -8741,17 +9078,17 @@ private static Match e760M(Session s, Frame f) { } private static Match e761(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e761M(s, f) : e761C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e761M : TinyExpressionP4Parser::e761C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17599:17602:body/2/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e761M : TinyExpressionP4Parser::e761C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17585:17588:body/2/1/literal", false, true, "text", false, K923); } private static Match e761C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e761M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e762(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e762M(s, f) : e762C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e762M : TinyExpressionP4Parser::e762C, K975, K909, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17603:17618:body/2/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e762M : TinyExpressionP4Parser::e762C, K992, K926, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17589:17604:body/2/2/ruleRef", false, false, "node", false, K227); } private static Match e762C(Session s, Frame f) { return parseSliceStartIndex_83(s, f); @@ -8761,27 +9098,27 @@ private static Match e762M(Session s, Frame f) { } private static Match e763(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e763M(s, f) : e763C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e763M : TinyExpressionP4Parser::e763C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17626:17629:body/2/3/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e763M : TinyExpressionP4Parser::e763C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17612:17615:body/2/3/literal", false, true, "text", false, K473); } private static Match e763C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e763M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e764(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e764M(s, f) : e764C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e764M : TinyExpressionP4Parser::e764C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17630:17633:body/2/4/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e764M : TinyExpressionP4Parser::e764C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17616:17619:body/2/4/literal", false, true, "text", false, K473); } private static Match e764C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e764M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e765(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e765M(s, f) : e765C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e765M : TinyExpressionP4Parser::e765C, K976, K913, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17634:17648:body/2/5/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e765M : TinyExpressionP4Parser::e765C, K993, K930, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17620:17634:body/2/5/ruleRef", false, false, "node", false, K227); } private static Match e765C(Session s, Frame f) { return parseSliceStepIndex_85(s, f); @@ -8791,28 +9128,28 @@ private static Match e765M(Session s, Frame f) { } private static Match e766(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e766M(s, f) : e766C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e766M : TinyExpressionP4Parser::e766C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17655:17658:body/2/6/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e766M : TinyExpressionP4Parser::e766C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17641:17644:body/2/6/literal", false, true, "text", false, K931); } private static Match e766C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e766M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e767(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e767M(s, f) : e767C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e767M : TinyExpressionP4Parser::e767C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17665:17726:body/3/seq", false, false, "node", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e767M : TinyExpressionP4Parser::e767C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17651:17712:body/3/seq", false, false, "node", true, K156); } private static Match e767C(Session s, Frame f) { - return s.sequence(f, K977, K379); + return s.sequence(f, K994, K394); } private static Match e767M(Session s, Frame f) { - return s.sequence(f, K977, K379); + return s.sequence(f, K994, K394); } private static Match e768(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e768M(s, f) : e768C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e768M : TinyExpressionP4Parser::e768C, K978, K311, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17665:17684:body/3/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e768M : TinyExpressionP4Parser::e768C, K995, K323, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17651:17670:body/3/0/ruleRef", false, false, "node", false, K227); } private static Match e768C(Session s, Frame f) { return parseSliceBaseExpression_86(s, f); @@ -8822,17 +9159,17 @@ private static Match e768M(Session s, Frame f) { } private static Match e769(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e769M(s, f) : e769C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e769M : TinyExpressionP4Parser::e769C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17692:17695:body/3/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e769M : TinyExpressionP4Parser::e769C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17678:17681:body/3/1/literal", false, true, "text", false, K923); } private static Match e769C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e769M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e770(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e770M(s, f) : e770C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e770M : TinyExpressionP4Parser::e770C, K979, K909, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17696:17711:body/3/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e770M : TinyExpressionP4Parser::e770C, K996, K926, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17682:17697:body/3/2/ruleRef", false, false, "node", false, K227); } private static Match e770C(Session s, Frame f) { return parseSliceStartIndex_83(s, f); @@ -8842,38 +9179,38 @@ private static Match e770M(Session s, Frame f) { } private static Match e771(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e771M(s, f) : e771C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e771M : TinyExpressionP4Parser::e771C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17719:17722:body/3/3/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e771M : TinyExpressionP4Parser::e771C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17705:17708:body/3/3/literal", false, true, "text", false, K473); } private static Match e771C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e771M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e772(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e772M(s, f) : e772C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e772M : TinyExpressionP4Parser::e772C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17723:17726:body/3/4/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e772M : TinyExpressionP4Parser::e772C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17709:17712:body/3/4/literal", false, true, "text", false, K931); } private static Match e772C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e772M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e773(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e773M(s, f) : e773C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e773M : TinyExpressionP4Parser::e773C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17733:17815:body/4/seq", false, false, "node", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e773M : TinyExpressionP4Parser::e773C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17719:17801:body/4/seq", false, false, "node", true, K156); } private static Match e773C(Session s, Frame f) { - return s.sequence(f, K980, K220); + return s.sequence(f, K997, K220); } private static Match e773M(Session s, Frame f) { - return s.sequence(f, K980, K220); + return s.sequence(f, K997, K220); } private static Match e774(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e774M(s, f) : e774C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e774M : TinyExpressionP4Parser::e774C, K981, K311, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17733:17752:body/4/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e774M : TinyExpressionP4Parser::e774C, K998, K323, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17719:17738:body/4/0/ruleRef", false, false, "node", false, K227); } private static Match e774C(Session s, Frame f) { return parseSliceBaseExpression_86(s, f); @@ -8883,27 +9220,27 @@ private static Match e774M(Session s, Frame f) { } private static Match e775(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e775M(s, f) : e775C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e775M : TinyExpressionP4Parser::e775C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17760:17763:body/4/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e775M : TinyExpressionP4Parser::e775C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17746:17749:body/4/1/literal", false, true, "text", false, K923); } private static Match e775C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e775M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e776(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e776M(s, f) : e776C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e776M : TinyExpressionP4Parser::e776C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17764:17767:body/4/2/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e776M : TinyExpressionP4Parser::e776C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17750:17753:body/4/2/literal", false, true, "text", false, K473); } private static Match e776C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e776M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e777(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e777M(s, f) : e777C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e777M : TinyExpressionP4Parser::e777C, K982, K911, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17768:17781:body/4/3/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e777M : TinyExpressionP4Parser::e777C, K999, K928, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17754:17767:body/4/3/ruleRef", false, false, "node", false, K227); } private static Match e777C(Session s, Frame f) { return parseSliceEndIndex_84(s, f); @@ -8913,17 +9250,17 @@ private static Match e777M(Session s, Frame f) { } private static Match e778(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e778M(s, f) : e778C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e778M : TinyExpressionP4Parser::e778C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17787:17790:body/4/4/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e778M : TinyExpressionP4Parser::e778C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17773:17776:body/4/4/literal", false, true, "text", false, K473); } private static Match e778C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e778M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e779(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e779M(s, f) : e779C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e779M : TinyExpressionP4Parser::e779C, K983, K913, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17791:17805:body/4/5/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e779M : TinyExpressionP4Parser::e779C, K1000, K930, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17777:17791:body/4/5/ruleRef", false, false, "node", false, K227); } private static Match e779C(Session s, Frame f) { return parseSliceStepIndex_85(s, f); @@ -8933,28 +9270,28 @@ private static Match e779M(Session s, Frame f) { } private static Match e780(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e780M(s, f) : e780C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e780M : TinyExpressionP4Parser::e780C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17812:17815:body/4/6/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e780M : TinyExpressionP4Parser::e780C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17798:17801:body/4/6/literal", false, true, "text", false, K931); } private static Match e780C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e780M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e781(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e781M(s, f) : e781C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e781M : TinyExpressionP4Parser::e781C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17822:17879:body/5/seq", false, false, "node", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e781M : TinyExpressionP4Parser::e781C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17808:17865:body/5/seq", false, false, "node", true, K156); } private static Match e781C(Session s, Frame f) { - return s.sequence(f, K984, K379); + return s.sequence(f, K1001, K394); } private static Match e781M(Session s, Frame f) { - return s.sequence(f, K984, K379); + return s.sequence(f, K1001, K394); } private static Match e782(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e782M(s, f) : e782C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e782M : TinyExpressionP4Parser::e782C, K985, K311, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17822:17841:body/5/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e782M : TinyExpressionP4Parser::e782C, K1002, K323, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17808:17827:body/5/0/ruleRef", false, false, "node", false, K227); } private static Match e782C(Session s, Frame f) { return parseSliceBaseExpression_86(s, f); @@ -8964,27 +9301,27 @@ private static Match e782M(Session s, Frame f) { } private static Match e783(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e783M(s, f) : e783C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e783M : TinyExpressionP4Parser::e783C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17849:17852:body/5/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e783M : TinyExpressionP4Parser::e783C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17835:17838:body/5/1/literal", false, true, "text", false, K923); } private static Match e783C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e783M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e784(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e784M(s, f) : e784C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e784M : TinyExpressionP4Parser::e784C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17853:17856:body/5/2/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e784M : TinyExpressionP4Parser::e784C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17839:17842:body/5/2/literal", false, true, "text", false, K473); } private static Match e784C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e784M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e785(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e785M(s, f) : e785C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e785M : TinyExpressionP4Parser::e785C, K986, K911, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17857:17870:body/5/3/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e785M : TinyExpressionP4Parser::e785C, K1003, K928, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17843:17856:body/5/3/ruleRef", false, false, "node", false, K227); } private static Match e785C(Session s, Frame f) { return parseSliceEndIndex_84(s, f); @@ -8994,28 +9331,28 @@ private static Match e785M(Session s, Frame f) { } private static Match e786(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e786M(s, f) : e786C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e786M : TinyExpressionP4Parser::e786C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17876:17879:body/5/4/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e786M : TinyExpressionP4Parser::e786C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17862:17865:body/5/4/literal", false, true, "text", false, K931); } private static Match e786C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e786M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e787(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e787M(s, f) : e787C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e787M : TinyExpressionP4Parser::e787C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17886:17949:body/6/seq", false, false, "node", true, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e787M : TinyExpressionP4Parser::e787C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17872:17935:body/6/seq", false, false, "node", true, K156); } private static Match e787C(Session s, Frame f) { - return s.sequence(f, K987, K252); + return s.sequence(f, K1004, K263); } private static Match e787M(Session s, Frame f) { - return s.sequence(f, K987, K252); + return s.sequence(f, K1004, K263); } private static Match e788(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e788M(s, f) : e788C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e788M : TinyExpressionP4Parser::e788C, K988, K311, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17886:17905:body/6/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e788M : TinyExpressionP4Parser::e788C, K1005, K323, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17872:17891:body/6/0/ruleRef", false, false, "node", false, K227); } private static Match e788C(Session s, Frame f) { return parseSliceBaseExpression_86(s, f); @@ -9025,37 +9362,37 @@ private static Match e788M(Session s, Frame f) { } private static Match e789(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e789M(s, f) : e789C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e789M : TinyExpressionP4Parser::e789C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17913:17916:body/6/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e789M : TinyExpressionP4Parser::e789C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17899:17902:body/6/1/literal", false, true, "text", false, K923); } private static Match e789C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e789M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e790(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e790M(s, f) : e790C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e790M : TinyExpressionP4Parser::e790C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17917:17920:body/6/2/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e790M : TinyExpressionP4Parser::e790C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17903:17906:body/6/2/literal", false, true, "text", false, K473); } private static Match e790C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e790M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e791(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e791M(s, f) : e791C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e791M : TinyExpressionP4Parser::e791C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17921:17924:body/6/3/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e791M : TinyExpressionP4Parser::e791C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17907:17910:body/6/3/literal", false, true, "text", false, K473); } private static Match e791C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e791M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e792(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e792M(s, f) : e792C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e792M : TinyExpressionP4Parser::e792C, K989, K913, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17925:17939:body/6/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e792M : TinyExpressionP4Parser::e792C, K1006, K930, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17911:17925:body/6/4/ruleRef", false, false, "node", false, K227); } private static Match e792C(Session s, Frame f) { return parseSliceStepIndex_85(s, f); @@ -9065,28 +9402,28 @@ private static Match e792M(Session s, Frame f) { } private static Match e793(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e793M(s, f) : e793C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e793M : TinyExpressionP4Parser::e793C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17946:17949:body/6/5/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e793M : TinyExpressionP4Parser::e793C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17932:17935:body/6/5/literal", false, true, "text", false, K931); } private static Match e793C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e793M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e794(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e794M(s, f) : e794C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e794M : TinyExpressionP4Parser::e794C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17956:17994:body/7/seq", false, false, "node", false, K156); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e794M : TinyExpressionP4Parser::e794C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17942:17980:body/7/seq", false, false, "node", false, K156); } private static Match e794C(Session s, Frame f) { - return s.sequence(f, K990, K604); + return s.sequence(f, K1007, K620); } private static Match e794M(Session s, Frame f) { - return s.sequence(f, K990, K604); + return s.sequence(f, K1007, K620); } private static Match e795(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e795M(s, f) : e795C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e795M : TinyExpressionP4Parser::e795C, K991, K311, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17956:17975:body/7/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e795M : TinyExpressionP4Parser::e795C, K1008, K323, K225, K226, K226, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17942:17961:body/7/0/ruleRef", false, false, "node", false, K227); } private static Match e795C(Session s, Frame f) { return parseSliceBaseExpression_86(s, f); @@ -9096,47 +9433,47 @@ private static Match e795M(Session s, Frame f) { } private static Match e796(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e796M(s, f) : e796C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e796M : TinyExpressionP4Parser::e796C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17983:17986:body/7/1/literal", false, true, "text", false, K906); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e796M : TinyExpressionP4Parser::e796C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17969:17972:body/7/1/literal", false, true, "text", false, K923); } private static Match e796C(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e796M(Session s, Frame f) { - return s.literal(f, "[", true, false, K907); + return s.literal(f, "[", true, false, K924); } private static Match e797(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e797M(s, f) : e797C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e797M : TinyExpressionP4Parser::e797C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17987:17990:body/7/2/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e797M : TinyExpressionP4Parser::e797C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17973:17976:body/7/2/literal", false, true, "text", false, K473); } private static Match e797C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e797M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e798(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e798M(s, f) : e798C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e798M : TinyExpressionP4Parser::e798C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17991:17994:body/7/3/literal", false, true, "text", false, K914); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e798M : TinyExpressionP4Parser::e798C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17977:17980:body/7/3/literal", false, true, "text", false, K931); } private static Match e798C(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e798M(Session s, Frame f) { - return s.literal(f, "]", true, false, K915); + return s.literal(f, "]", true, false, K932); } private static Match e799(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e799M(s, f) : e799C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e799M : TinyExpressionP4Parser::e799C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18020:18063:body/choice", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e799M : TinyExpressionP4Parser::e799C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18006:18049:body/choice", false, false, "node", false, K4); } private static Match e799C(Session s, Frame f) { - return s.choice(f,K992,false,null,false); + return s.choice(f,K1009,false,null,false); } private static Match e799M(Session s, Frame f) { - return s.choice(f,K992,false,null,false); + return s.choice(f,K1009,false,null,false); } private static Match e800(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e800M(s, f) : e800C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e800M : TinyExpressionP4Parser::e800C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18020:18041:body/0/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e800M : TinyExpressionP4Parser::e800C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18006:18027:body/0/ruleRef", false, false, "node", false, K4); } private static Match e800C(Session s, Frame f) { return parseSliceNestedExpression_87(s, f); @@ -9146,7 +9483,7 @@ private static Match e800M(Session s, Frame f) { } private static Match e801(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e801M(s, f) : e801C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e801M : TinyExpressionP4Parser::e801C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18044:18063:body/1/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e801M : TinyExpressionP4Parser::e801C, K216, K216, K216, K217, K217, "TinyExpressionP4::SliceExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18030:18049:body/1/ruleRef", false, false, "node", false, K4); } private static Match e801C(Session s, Frame f) { return parseSliceBaseExpression_86(s, f); @@ -9157,17 +9494,17 @@ private static Match e801M(Session s, Frame f) { private static Match e802(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e802M(s, f) : e802C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e802M : TinyExpressionP4Parser::e802C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18264:18310:body/seq", false, false, "mixed", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e802M : TinyExpressionP4Parser::e802C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18250:18296:body/seq", false, false, "mixed", true, K4); } private static Match e802C(Session s, Frame f) { - return s.sequence(f, K993, K260); + return s.sequence(f, K1010, K271); } private static Match e802M(Session s, Frame f) { - return s.sequence(f, K993, K260); + return s.sequence(f, K1010, K271); } private static Match e803(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e803M(s, f) : e803C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e803M : TinyExpressionP4Parser::e803C, K994, K528, K225, K226, K226, "TinyExpressionP4::StringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18264:18274:body/0/ruleRef", false, false, "mixed", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e803M : TinyExpressionP4Parser::e803C, K1011, K544, K225, K226, K226, "TinyExpressionP4::StringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18250:18260:body/0/ruleRef", false, false, "mixed", false, K227); } private static Match e803C(Session s, Frame f) { return parseStringTerm_91(s, f); @@ -9177,7 +9514,7 @@ private static Match e803M(Session s, Frame f) { } private static Match e804(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e804M(s, f) : e804C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e804M : TinyExpressionP4Parser::e804C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18281:18310:body/1/repeat", true, false, "mixed", true, K222); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e804M : TinyExpressionP4Parser::e804C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18267:18296:body/1/repeat", true, false, "mixed", true, K222); } private static Match e804C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e805, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -9188,27 +9525,27 @@ private static Match e804M(Session s, Frame f) { private static Match e805(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e805M(s, f) : e805C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e805M : TinyExpressionP4Parser::e805C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18283:18301:body/1/0/seq", false, false, "mixed", false, K542); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e805M : TinyExpressionP4Parser::e805C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18269:18287:body/1/0/seq", false, false, "mixed", false, K558); } private static Match e805C(Session s, Frame f) { - return s.sequence(f, K995, K260); + return s.sequence(f, K1012, K271); } private static Match e805M(Session s, Frame f) { - return s.sequence(f, K995, K260); + return s.sequence(f, K1012, K271); } private static Match e806(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e806M(s, f) : e806C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e806M : TinyExpressionP4Parser::e806C, K996, K532, K225, K226, K226, "TinyExpressionP4::StringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18283:18286:body/1/0/0/literal", false, true, "text", false, K542); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e806M : TinyExpressionP4Parser::e806C, K1013, K548, K225, K226, K226, "TinyExpressionP4::StringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18269:18272:body/1/0/0/literal", false, true, "text", false, K558); } private static Match e806C(Session s, Frame f) { - return s.literal(f, "+", true, false, K543); + return s.literal(f, "+", true, false, K559); } private static Match e806M(Session s, Frame f) { - return s.literal(f, "+", true, false, K543); + return s.literal(f, "+", true, false, K559); } private static Match e807(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e807M(s, f) : e807C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e807M : TinyExpressionP4Parser::e807C, K997, K534, K225, K226, K226, "TinyExpressionP4::StringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18291:18301:body/1/0/1/ruleRef", false, false, "mixed", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e807M : TinyExpressionP4Parser::e807C, K1014, K550, K225, K226, K226, "TinyExpressionP4::StringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18277:18287:body/1/0/1/ruleRef", false, false, "mixed", false, K227); } private static Match e807C(Session s, Frame f) { return parseStringTerm_91(s, f); @@ -9219,27 +9556,27 @@ private static Match e807M(Session s, Frame f) { private static Match e808(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e808M(s, f) : e808C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e808M : TinyExpressionP4Parser::e808C, K216, K216, K216, K217, K217, "TinyExpressionP4::ParenthesizedStringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18350:18374:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e808M : TinyExpressionP4Parser::e808C, K216, K216, K216, K217, K217, "TinyExpressionP4::ParenthesizedStringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18336:18360:body/seq", false, false, "node", false, K4); } private static Match e808C(Session s, Frame f) { - return s.sequence(f, K998, K248); + return s.sequence(f, K1015, K251); } private static Match e808M(Session s, Frame f) { - return s.sequence(f, K998, K248); + return s.sequence(f, K1015, K251); } private static Match e809(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e809M(s, f) : e809C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e809M : TinyExpressionP4Parser::e809C, K216, K216, K216, K217, K217, "TinyExpressionP4::ParenthesizedStringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18350:18353:body/0/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e809M : TinyExpressionP4Parser::e809C, K216, K216, K216, K217, K217, "TinyExpressionP4::ParenthesizedStringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18336:18339:body/0/literal", false, true, "text", false, K399); } private static Match e809C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e809M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e810(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e810M(s, f) : e810C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e810M : TinyExpressionP4Parser::e810C, K216, K216, K216, K217, K217, "TinyExpressionP4::ParenthesizedStringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18354:18370:body/1/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e810M : TinyExpressionP4Parser::e810C, K216, K216, K216, K217, K217, "TinyExpressionP4::ParenthesizedStringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18340:18356:body/1/ruleRef", false, false, "node", false, K4); } private static Match e810C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -9249,27 +9586,27 @@ private static Match e810M(Session s, Frame f) { } private static Match e811(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e811M(s, f) : e811C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e811M : TinyExpressionP4Parser::e811C, K216, K216, K216, K217, K217, "TinyExpressionP4::ParenthesizedStringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18371:18374:body/2/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e811M : TinyExpressionP4Parser::e811C, K216, K216, K216, K217, K217, "TinyExpressionP4::ParenthesizedStringExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18357:18360:body/2/literal", false, true, "text", false, K401); } private static Match e811C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e811M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e812(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e812M(s, f) : e812C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e812M : TinyExpressionP4Parser::e812C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18581:18944:body/choice", false, false, "mixed", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e812M : TinyExpressionP4Parser::e812C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18567:18930:body/choice", false, false, "mixed", false, K4); } private static Match e812C(Session s, Frame f) { - return s.choice(f,K1008,false,null,false,K1007); + return s.choice(f,K1025,false,null,false,K1024); } private static Match e812M(Session s, Frame f) { - return s.choice(f,K1008,false,null,false,K1007); + return s.choice(f,K1025,false,null,false,K1024); } private static Match e813(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e813M(s, f) : e813C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e813M : TinyExpressionP4Parser::e813C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18581:18602:body/0/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e813M : TinyExpressionP4Parser::e813C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18567:18588:body/0/ruleRef", false, false, "node", false, K4); } private static Match e813C(Session s, Frame f) { return parseStringMatchExpression_113(s, f); @@ -9279,7 +9616,7 @@ private static Match e813M(Session s, Frame f) { } private static Match e814(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e814M(s, f) : e814C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e814M : TinyExpressionP4Parser::e814C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18609:18621:body/1/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e814M : TinyExpressionP4Parser::e814C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18595:18607:body/1/ruleRef", false, false, "node", false, K4); } private static Match e814C(Session s, Frame f) { return parseIfExpression_106(s, f); @@ -9289,7 +9626,7 @@ private static Match e814M(Session s, Frame f) { } private static Match e815(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e815M(s, f) : e815C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e815M : TinyExpressionP4Parser::e815C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18628:18646:body/2/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e815M : TinyExpressionP4Parser::e815C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18614:18632:body/2/ruleRef", false, false, "node", false, K4); } private static Match e815C(Session s, Frame f) { return parseStringCastVariable_92(s, f); @@ -9299,7 +9636,7 @@ private static Match e815M(Session s, Frame f) { } private static Match e816(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e816M(s, f) : e816C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e816M : TinyExpressionP4Parser::e816C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18653:18672:body/3/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e816M : TinyExpressionP4Parser::e816C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18639:18658:body/3/ruleRef", false, false, "node", false, K4); } private static Match e816C(Session s, Frame f) { return parseStringTypedVariable_93(s, f); @@ -9309,7 +9646,7 @@ private static Match e816M(Session s, Frame f) { } private static Match e817(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e817M(s, f) : e817C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e817M : TinyExpressionP4Parser::e817C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18679:18694:body/4/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e817M : TinyExpressionP4Parser::e817C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18665:18680:body/4/ruleRef", false, false, "node", false, K4); } private static Match e817C(Session s, Frame f) { return parseSliceExpression_88(s, f); @@ -9319,7 +9656,7 @@ private static Match e817M(Session s, Frame f) { } private static Match e818(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e818M(s, f) : e818C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e818M : TinyExpressionP4Parser::e818C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18701:18730:body/5/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e818M : TinyExpressionP4Parser::e818C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18687:18716:body/5/ruleRef", false, false, "node", false, K4); } private static Match e818C(Session s, Frame f) { return parseParenthesizedStringExpression_90(s, f); @@ -9329,7 +9666,7 @@ private static Match e818M(Session s, Frame f) { } private static Match e819(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e819M(s, f) : e819C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e819M : TinyExpressionP4Parser::e819C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18737:18761:body/6/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e819M : TinyExpressionP4Parser::e819C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18723:18747:body/6/ruleRef", false, false, "node", false, K4); } private static Match e819C(Session s, Frame f) { return parseExternalStringInvocation_33(s, f); @@ -9339,7 +9676,7 @@ private static Match e819M(Session s, Frame f) { } private static Match e820(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e820M(s, f) : e820C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e820M : TinyExpressionP4Parser::e820C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18768:18787:body/7/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e820M : TinyExpressionP4Parser::e820C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18754:18773:body/7/ruleRef", false, false, "node", false, K4); } private static Match e820C(Session s, Frame f) { return parseToUpperCaseFunction_61(s, f); @@ -9349,7 +9686,7 @@ private static Match e820M(Session s, Frame f) { } private static Match e821(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e821M(s, f) : e821C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e821M : TinyExpressionP4Parser::e821C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18790:18809:body/8/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e821M : TinyExpressionP4Parser::e821C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18776:18795:body/8/ruleRef", false, false, "node", false, K4); } private static Match e821C(Session s, Frame f) { return parseToLowerCaseFunction_62(s, f); @@ -9359,7 +9696,7 @@ private static Match e821M(Session s, Frame f) { } private static Match e822(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e822M(s, f) : e822C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e822M : TinyExpressionP4Parser::e822C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18812:18824:body/9/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e822M : TinyExpressionP4Parser::e822C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18798:18810:body/9/ruleRef", false, false, "node", false, K4); } private static Match e822C(Session s, Frame f) { return parseTrimFunction_63(s, f); @@ -9369,7 +9706,7 @@ private static Match e822M(Session s, Frame f) { } private static Match e823(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e823M(s, f) : e823C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e823M : TinyExpressionP4Parser::e823C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18831:18851:body/10/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e823M : TinyExpressionP4Parser::e823C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18817:18837:body/10/ruleRef", false, false, "node", false, K4); } private static Match e823C(Session s, Frame f) { return parseToUpperCaseDotMethod_66(s, f); @@ -9379,7 +9716,7 @@ private static Match e823M(Session s, Frame f) { } private static Match e824(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e824M(s, f) : e824C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e824M : TinyExpressionP4Parser::e824C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18854:18874:body/11/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e824M : TinyExpressionP4Parser::e824C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18840:18860:body/11/ruleRef", false, false, "node", false, K4); } private static Match e824C(Session s, Frame f) { return parseToLowerCaseDotMethod_67(s, f); @@ -9389,7 +9726,7 @@ private static Match e824M(Session s, Frame f) { } private static Match e825(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e825M(s, f) : e825C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e825M : TinyExpressionP4Parser::e825C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18877:18890:body/12/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e825M : TinyExpressionP4Parser::e825C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18863:18876:body/12/ruleRef", false, false, "node", false, K4); } private static Match e825C(Session s, Frame f) { return parseTrimDotMethod_68(s, f); @@ -9399,17 +9736,17 @@ private static Match e825M(Session s, Frame f) { } private static Match e826(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e826M(s, f) : e826C(s, f); s.progress(f); return s.tree ? s.textAlternative(r) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e826M : TinyExpressionP4Parser::e826C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18897:18903:body/13/tokenRef", false, true, "textAlternative", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e826M : TinyExpressionP4Parser::e826C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18883:18889:body/13/tokenRef", false, true, "textAlternative", false, K390); } private static Match e826C(Session s, Frame f) { - return s.external(f,"TinyExpressionP4::STRING",3); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K391,K392); } private static Match e826M(Session s, Frame f) { - return s.external(f,"TinyExpressionP4::STRING",3); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K391,K392); } private static Match e827(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e827M(s, f) : e827C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e827M : TinyExpressionP4Parser::e827C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18910:18921:body/14/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e827M : TinyExpressionP4Parser::e827C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18896:18907:body/14/ruleRef", false, false, "node", false, K4); } private static Match e827C(Session s, Frame f) { return parseVariableRef_121(s, f); @@ -9419,7 +9756,7 @@ private static Match e827M(Session s, Frame f) { } private static Match e828(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e828M(s, f) : e828C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e828M : TinyExpressionP4Parser::e828C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18928:18944:body/15/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e828M : TinyExpressionP4Parser::e828C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTerm", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18914:18930:body/15/ruleRef", false, false, "node", false, K4); } private static Match e828C(Session s, Frame f) { return parseMethodInvocation_36(s, f); @@ -9430,27 +9767,27 @@ private static Match e828M(Session s, Frame f) { private static Match e829(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e829M(s, f) : e829C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e829M : TinyExpressionP4Parser::e829C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19026:19072:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e829M : TinyExpressionP4Parser::e829C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19012:19058:body/seq", false, false, "text", false, K4); } private static Match e829C(Session s, Frame f) { - return s.sequence(f, K1009, K379); + return s.sequence(f, K1026, K394); } private static Match e829M(Session s, Frame f) { - return s.sequence(f, K1009, K379); + return s.sequence(f, K1026, K394); } private static Match e830(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e830M(s, f) : e830C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e830M : TinyExpressionP4Parser::e830C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19026:19029:body/0/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e830M : TinyExpressionP4Parser::e830C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19012:19015:body/0/literal", false, true, "text", false, K399); } private static Match e830C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e830M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e831(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e831M(s, f) : e831C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e831M : TinyExpressionP4Parser::e831C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19030:19053:body/1/group", false, false, "text", false, K359); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e831M : TinyExpressionP4Parser::e831C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19016:19039:body/1/group", false, false, "text", false, K371); } private static Match e831C(Session s, Frame f) { return e832(s, f); @@ -9460,108 +9797,108 @@ private static Match e831M(Session s, Frame f) { } private static Match e832(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e832M(s, f) : e832C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e832M : TinyExpressionP4Parser::e832C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19032:19051:body/1/0/choice", false, false, "text", false, K359); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e832M : TinyExpressionP4Parser::e832C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19018:19037:body/1/0/choice", false, false, "text", false, K371); } private static Match e832C(Session s, Frame f) { - return s.choice(f,K1010,false,null,false); + return s.choice(f,K1027,false,null,false); } private static Match e832M(Session s, Frame f) { - return s.choice(f,K1010,false,null,false); + return s.choice(f,K1027,false,null,false); } private static Match e833(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e833M(s, f) : e833C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e833M : TinyExpressionP4Parser::e833C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19032:19040:body/1/0/0/literal", false, true, "text", false, K52); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e833M : TinyExpressionP4Parser::e833C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19018:19026:body/1/0/0/literal", false, true, "text", false, K52); } private static Match e833C(Session s, Frame f) { - return s.literal(f, "string", true, false, K342); + return s.literal(f, "string", true, false, K354); } private static Match e833M(Session s, Frame f) { - return s.literal(f, "string", true, false, K342); + return s.literal(f, "string", true, false, K354); } private static Match e834(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e834M(s, f) : e834C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e834M : TinyExpressionP4Parser::e834C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19043:19051:body/1/0/1/literal", false, true, "text", false, K343); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e834M : TinyExpressionP4Parser::e834C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19029:19037:body/1/0/1/literal", false, true, "text", false, K355); } private static Match e834C(Session s, Frame f) { - return s.literal(f, "String", true, false, K344); + return s.literal(f, "String", true, false, K356); } private static Match e834M(Session s, Frame f) { - return s.literal(f, "String", true, false, K344); + return s.literal(f, "String", true, false, K356); } private static Match e835(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e835M(s, f) : e835C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e835M : TinyExpressionP4Parser::e835C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19054:19057:body/2/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e835M : TinyExpressionP4Parser::e835C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19040:19043:body/2/literal", false, true, "text", false, K401); } private static Match e835C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e835M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e836(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e836M(s, f) : e836C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e836M : TinyExpressionP4Parser::e836C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19058:19061:body/3/literal", false, true, "text", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e836M : TinyExpressionP4Parser::e836C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19044:19047:body/3/literal", false, true, "text", false, K50); } private static Match e836C(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e836M(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e837(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e837M(s, f) : e837C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e837M : TinyExpressionP4Parser::e837C, K1011, K464, K225, K226, K226, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19062:19072:body/4/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e837M : TinyExpressionP4Parser::e837C, K1028, K479, K225, K226, K226, "TinyExpressionP4::StringCastVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19048:19058:body/4/tokenRef", false, true, "text", false, K276); } private static Match e837C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e837M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e838(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e838M(s, f) : e838C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e838M : TinyExpressionP4Parser::e838C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19162:19211:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e838M : TinyExpressionP4Parser::e838C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19148:19197:body/seq", false, false, "text", false, K4); } private static Match e838C(Session s, Frame f) { - return s.sequence(f, K1012, K604); + return s.sequence(f, K1029, K620); } private static Match e838M(Session s, Frame f) { - return s.sequence(f, K1012, K604); + return s.sequence(f, K1029, K620); } private static Match e839(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e839M(s, f) : e839C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e839M : TinyExpressionP4Parser::e839C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19162:19165:body/0/literal", false, true, "text", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e839M : TinyExpressionP4Parser::e839C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19148:19151:body/0/literal", false, true, "text", false, K50); } private static Match e839C(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e839M(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e840(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e840M(s, f) : e840C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e840M : TinyExpressionP4Parser::e840C, K1013, K464, K225, K226, K226, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19166:19176:body/1/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e840M : TinyExpressionP4Parser::e840C, K1030, K479, K225, K226, K226, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19152:19162:body/1/tokenRef", false, true, "text", false, K276); } private static Match e840C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e840M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e841(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e841M(s, f) : e841C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e841M : TinyExpressionP4Parser::e841C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19183:19187:body/2/literal", false, true, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e841M : TinyExpressionP4Parser::e841C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19169:19173:body/2/literal", false, true, "text", false, K279); } private static Match e841C(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e841M(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e842(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e842M(s, f) : e842C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e842M : TinyExpressionP4Parser::e842C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19188:19211:body/3/group", false, false, "text", false, K359); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e842M : TinyExpressionP4Parser::e842C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19174:19197:body/3/group", false, false, "text", false, K371); } private static Match e842C(Session s, Frame f) { return e843(s, f); @@ -9571,48 +9908,48 @@ private static Match e842M(Session s, Frame f) { } private static Match e843(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e843M(s, f) : e843C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e843M : TinyExpressionP4Parser::e843C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19190:19209:body/3/0/choice", false, false, "text", false, K359); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e843M : TinyExpressionP4Parser::e843C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19176:19195:body/3/0/choice", false, false, "text", false, K371); } private static Match e843C(Session s, Frame f) { - return s.choice(f,K1014,false,null,false); + return s.choice(f,K1031,false,null,false); } private static Match e843M(Session s, Frame f) { - return s.choice(f,K1014,false,null,false); + return s.choice(f,K1031,false,null,false); } private static Match e844(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e844M(s, f) : e844C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e844M : TinyExpressionP4Parser::e844C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19190:19198:body/3/0/0/literal", false, true, "text", false, K52); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e844M : TinyExpressionP4Parser::e844C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19176:19184:body/3/0/0/literal", false, true, "text", false, K52); } private static Match e844C(Session s, Frame f) { - return s.literal(f, "string", true, false, K342); + return s.literal(f, "string", true, false, K354); } private static Match e844M(Session s, Frame f) { - return s.literal(f, "string", true, false, K342); + return s.literal(f, "string", true, false, K354); } private static Match e845(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e845M(s, f) : e845C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e845M : TinyExpressionP4Parser::e845C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19201:19209:body/3/0/1/literal", false, true, "text", false, K343); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e845M : TinyExpressionP4Parser::e845C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringTypedVariable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19187:19195:body/3/0/1/literal", false, true, "text", false, K355); } private static Match e845C(Session s, Frame f) { - return s.literal(f, "String", true, false, K344); + return s.literal(f, "String", true, false, K356); } private static Match e845M(Session s, Frame f) { - return s.literal(f, "String", true, false, K344); + return s.literal(f, "String", true, false, K356); } private static Match e846(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e846M(s, f) : e846C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e846M : TinyExpressionP4Parser::e846C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19442:19508:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e846M : TinyExpressionP4Parser::e846C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19428:19494:body/seq", false, false, "node", true, K4); } private static Match e846C(Session s, Frame f) { - return s.sequence(f, K1015, K260); + return s.sequence(f, K1032, K271); } private static Match e846M(Session s, Frame f) { - return s.sequence(f, K1015, K260); + return s.sequence(f, K1032, K271); } private static Match e847(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e847M(s, f) : e847C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e847M : TinyExpressionP4Parser::e847C, K1016, K528, K225, K226, K226, "TinyExpressionP4::BooleanExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19442:19462:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e847M : TinyExpressionP4Parser::e847C, K1033, K544, K225, K226, K226, "TinyExpressionP4::BooleanExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19428:19448:body/0/ruleRef", false, false, "node", false, K227); } private static Match e847C(Session s, Frame f) { return parseBooleanAndExpression_95(s, f); @@ -9622,7 +9959,7 @@ private static Match e847M(Session s, Frame f) { } private static Match e848(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e848M(s, f) : e848C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e848M : TinyExpressionP4Parser::e848C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19469:19508:body/1/repeat", true, false, "node", true, K222); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e848M : TinyExpressionP4Parser::e848C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19455:19494:body/1/repeat", true, false, "node", true, K222); } private static Match e848C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e849, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -9633,27 +9970,27 @@ private static Match e848M(Session s, Frame f) { private static Match e849(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e849M(s, f) : e849C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e849M : TinyExpressionP4Parser::e849C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19471:19499:body/1/0/seq", false, false, "node", false, K1017); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e849M : TinyExpressionP4Parser::e849C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19457:19485:body/1/0/seq", false, false, "node", false, K1034); } private static Match e849C(Session s, Frame f) { - return s.sequence(f, K1018, K260); + return s.sequence(f, K1035, K271); } private static Match e849M(Session s, Frame f) { - return s.sequence(f, K1018, K260); + return s.sequence(f, K1035, K271); } private static Match e850(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e850M(s, f) : e850C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e850M : TinyExpressionP4Parser::e850C, K1019, K532, K225, K226, K226, "TinyExpressionP4::BooleanExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19471:19474:body/1/0/0/literal", false, true, "text", false, K1017); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e850M : TinyExpressionP4Parser::e850C, K1036, K548, K225, K226, K226, "TinyExpressionP4::BooleanExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19457:19460:body/1/0/0/literal", false, true, "text", false, K1034); } private static Match e850C(Session s, Frame f) { - return s.literal(f, "|", true, false, K1020); + return s.literal(f, "|", true, false, K1037); } private static Match e850M(Session s, Frame f) { - return s.literal(f, "|", true, false, K1020); + return s.literal(f, "|", true, false, K1037); } private static Match e851(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e851M(s, f) : e851C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e851M : TinyExpressionP4Parser::e851C, K1021, K534, K225, K226, K226, "TinyExpressionP4::BooleanExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19479:19499:body/1/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e851M : TinyExpressionP4Parser::e851C, K1038, K550, K225, K226, K226, "TinyExpressionP4::BooleanExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19465:19485:body/1/0/1/ruleRef", false, false, "node", false, K227); } private static Match e851C(Session s, Frame f) { return parseBooleanAndExpression_95(s, f); @@ -9664,17 +10001,17 @@ private static Match e851M(Session s, Frame f) { private static Match e852(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e852M(s, f) : e852C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e852M : TinyExpressionP4Parser::e852C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanAndExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19645:19711:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e852M : TinyExpressionP4Parser::e852C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanAndExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19631:19697:body/seq", false, false, "node", true, K4); } private static Match e852C(Session s, Frame f) { - return s.sequence(f, K1022, K260); + return s.sequence(f, K1039, K271); } private static Match e852M(Session s, Frame f) { - return s.sequence(f, K1022, K260); + return s.sequence(f, K1039, K271); } private static Match e853(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e853M(s, f) : e853C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e853M : TinyExpressionP4Parser::e853C, K1023, K528, K225, K226, K226, "TinyExpressionP4::BooleanAndExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19645:19665:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e853M : TinyExpressionP4Parser::e853C, K1040, K544, K225, K226, K226, "TinyExpressionP4::BooleanAndExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19631:19651:body/0/ruleRef", false, false, "node", false, K227); } private static Match e853C(Session s, Frame f) { return parseBooleanXorExpression_96(s, f); @@ -9684,7 +10021,7 @@ private static Match e853M(Session s, Frame f) { } private static Match e854(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e854M(s, f) : e854C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e854M : TinyExpressionP4Parser::e854C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanAndExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19672:19711:body/1/repeat", true, false, "node", true, K222); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e854M : TinyExpressionP4Parser::e854C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanAndExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19658:19697:body/1/repeat", true, false, "node", true, K222); } private static Match e854C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e855, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -9695,27 +10032,27 @@ private static Match e854M(Session s, Frame f) { private static Match e855(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e855M(s, f) : e855C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e855M : TinyExpressionP4Parser::e855C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanAndExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19674:19702:body/1/0/seq", false, false, "node", false, K1024); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e855M : TinyExpressionP4Parser::e855C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanAndExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19660:19688:body/1/0/seq", false, false, "node", false, K1041); } private static Match e855C(Session s, Frame f) { - return s.sequence(f, K1025, K260); + return s.sequence(f, K1042, K271); } private static Match e855M(Session s, Frame f) { - return s.sequence(f, K1025, K260); + return s.sequence(f, K1042, K271); } private static Match e856(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e856M(s, f) : e856C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e856M : TinyExpressionP4Parser::e856C, K1026, K532, K225, K226, K226, "TinyExpressionP4::BooleanAndExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19674:19677:body/1/0/0/literal", false, true, "text", false, K1024); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e856M : TinyExpressionP4Parser::e856C, K1043, K548, K225, K226, K226, "TinyExpressionP4::BooleanAndExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19660:19663:body/1/0/0/literal", false, true, "text", false, K1041); } private static Match e856C(Session s, Frame f) { - return s.literal(f, "&", true, false, K1027); + return s.literal(f, "&", true, false, K1044); } private static Match e856M(Session s, Frame f) { - return s.literal(f, "&", true, false, K1027); + return s.literal(f, "&", true, false, K1044); } private static Match e857(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e857M(s, f) : e857C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e857M : TinyExpressionP4Parser::e857C, K1028, K534, K225, K226, K226, "TinyExpressionP4::BooleanAndExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19682:19702:body/1/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e857M : TinyExpressionP4Parser::e857C, K1045, K550, K225, K226, K226, "TinyExpressionP4::BooleanAndExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19668:19688:body/1/0/1/ruleRef", false, false, "node", false, K227); } private static Match e857C(Session s, Frame f) { return parseBooleanXorExpression_96(s, f); @@ -9726,17 +10063,17 @@ private static Match e857M(Session s, Frame f) { private static Match e858(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e858M(s, f) : e858C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e858M : TinyExpressionP4Parser::e858C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanXorExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19848:19900:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e858M : TinyExpressionP4Parser::e858C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanXorExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19834:19886:body/seq", false, false, "node", true, K4); } private static Match e858C(Session s, Frame f) { - return s.sequence(f, K1029, K260); + return s.sequence(f, K1046, K271); } private static Match e858M(Session s, Frame f) { - return s.sequence(f, K1029, K260); + return s.sequence(f, K1046, K271); } private static Match e859(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e859M(s, f) : e859C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e859M : TinyExpressionP4Parser::e859C, K1030, K528, K225, K226, K226, "TinyExpressionP4::BooleanXorExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19848:19861:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e859M : TinyExpressionP4Parser::e859C, K1047, K544, K225, K226, K226, "TinyExpressionP4::BooleanXorExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19834:19847:body/0/ruleRef", false, false, "node", false, K227); } private static Match e859C(Session s, Frame f) { return parseBooleanFactor_100(s, f); @@ -9746,7 +10083,7 @@ private static Match e859M(Session s, Frame f) { } private static Match e860(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e860M(s, f) : e860C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e860M : TinyExpressionP4Parser::e860C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanXorExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19868:19900:body/1/repeat", true, false, "node", true, K222); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e860M : TinyExpressionP4Parser::e860C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanXorExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19854:19886:body/1/repeat", true, false, "node", true, K222); } private static Match e860C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e861, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -9757,27 +10094,27 @@ private static Match e860M(Session s, Frame f) { private static Match e861(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e861M(s, f) : e861C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e861M : TinyExpressionP4Parser::e861C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanXorExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19870:19891:body/1/0/seq", false, false, "node", false, K1031); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e861M : TinyExpressionP4Parser::e861C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanXorExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19856:19877:body/1/0/seq", false, false, "node", false, K1048); } private static Match e861C(Session s, Frame f) { - return s.sequence(f, K1032, K260); + return s.sequence(f, K1049, K271); } private static Match e861M(Session s, Frame f) { - return s.sequence(f, K1032, K260); + return s.sequence(f, K1049, K271); } private static Match e862(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e862M(s, f) : e862C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e862M : TinyExpressionP4Parser::e862C, K1033, K532, K225, K226, K226, "TinyExpressionP4::BooleanXorExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19870:19873:body/1/0/0/literal", false, true, "text", false, K1031); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e862M : TinyExpressionP4Parser::e862C, K1050, K548, K225, K226, K226, "TinyExpressionP4::BooleanXorExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19856:19859:body/1/0/0/literal", false, true, "text", false, K1048); } private static Match e862C(Session s, Frame f) { - return s.literal(f, "^", true, false, K1034); + return s.literal(f, "^", true, false, K1051); } private static Match e862M(Session s, Frame f) { - return s.literal(f, "^", true, false, K1034); + return s.literal(f, "^", true, false, K1051); } private static Match e863(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e863M(s, f) : e863C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e863M : TinyExpressionP4Parser::e863C, K1035, K534, K225, K226, K226, "TinyExpressionP4::BooleanXorExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19878:19891:body/1/0/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e863M : TinyExpressionP4Parser::e863C, K1052, K550, K225, K226, K226, "TinyExpressionP4::BooleanXorExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19864:19877:body/1/0/1/ruleRef", false, false, "node", false, K227); } private static Match e863C(Session s, Frame f) { return parseBooleanFactor_100(s, f); @@ -9788,37 +10125,37 @@ private static Match e863M(Session s, Frame f) { private static Match e864(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e864M(s, f) : e864C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e864M : TinyExpressionP4Parser::e864C, K216, K216, K216, K217, K217, "TinyExpressionP4::NotExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20038:20076:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e864M : TinyExpressionP4Parser::e864C, K216, K216, K216, K217, K217, "TinyExpressionP4::NotExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20024:20062:body/seq", false, false, "node", false, K4); } private static Match e864C(Session s, Frame f) { - return s.sequence(f, K1036, K604); + return s.sequence(f, K1053, K620); } private static Match e864M(Session s, Frame f) { - return s.sequence(f, K1036, K604); + return s.sequence(f, K1053, K620); } private static Match e865(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e865M(s, f) : e865C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e865M : TinyExpressionP4Parser::e865C, K216, K216, K216, K217, K217, "TinyExpressionP4::NotExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20038:20043:body/0/literal", false, true, "text", false, K370); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e865M : TinyExpressionP4Parser::e865C, K216, K216, K216, K217, K217, "TinyExpressionP4::NotExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20024:20029:body/0/literal", false, true, "text", false, K382); } private static Match e865C(Session s, Frame f) { - return s.literal(f, "not", true, false, K371); + return s.literal(f, "not", true, false, K383); } private static Match e865M(Session s, Frame f) { - return s.literal(f, "not", true, false, K371); + return s.literal(f, "not", true, false, K383); } private static Match e866(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e866M(s, f) : e866C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e866M : TinyExpressionP4Parser::e866C, K216, K216, K216, K217, K217, "TinyExpressionP4::NotExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20044:20047:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e866M : TinyExpressionP4Parser::e866C, K216, K216, K216, K217, K217, "TinyExpressionP4::NotExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20030:20033:body/1/literal", false, true, "text", false, K399); } private static Match e866C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e866M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e867(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e867M(s, f) : e867C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e867M : TinyExpressionP4Parser::e867C, K1037, K311, K225, K226, K226, "TinyExpressionP4::NotExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20048:20065:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e867M : TinyExpressionP4Parser::e867C, K1054, K323, K225, K226, K226, "TinyExpressionP4::NotExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20034:20051:body/2/ruleRef", false, false, "node", false, K227); } private static Match e867C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -9828,27 +10165,27 @@ private static Match e867M(Session s, Frame f) { } private static Match e868(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e868M(s, f) : e868C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e868M : TinyExpressionP4Parser::e868C, K216, K216, K216, K217, K217, "TinyExpressionP4::NotExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20073:20076:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e868M : TinyExpressionP4Parser::e868C, K216, K216, K216, K217, K217, "TinyExpressionP4::NotExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20059:20062:body/3/literal", false, true, "text", false, K401); } private static Match e868C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e868M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e869(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e869M(s, f) : e869C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e869M : TinyExpressionP4Parser::e869C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20110:20542:body/choice", false, false, "mixed", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e869M : TinyExpressionP4Parser::e869C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20096:20528:body/choice", false, false, "mixed", false, K4); } private static Match e869C(Session s, Frame f) { - return s.choice(f,K1076,false,null,false,K1075); + return s.choice(f,K1093,false,null,false,K1092); } private static Match e869M(Session s, Frame f) { - return s.choice(f,K1076,false,null,false,K1075); + return s.choice(f,K1093,false,null,false,K1092); } private static Match e870(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e870M(s, f) : e870C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e870M : TinyExpressionP4Parser::e870C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20110:20123:body/0/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e870M : TinyExpressionP4Parser::e870C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20096:20109:body/0/ruleRef", false, false, "node", false, K4); } private static Match e870C(Session s, Frame f) { return parseNotExpression_97(s, f); @@ -9858,7 +10195,7 @@ private static Match e870M(Session s, Frame f) { } private static Match e871(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e871M(s, f) : e871C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e871M : TinyExpressionP4Parser::e871C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20130:20142:body/1/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e871M : TinyExpressionP4Parser::e871C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20116:20128:body/1/ruleRef", false, false, "node", false, K4); } private static Match e871C(Session s, Frame f) { return parseIfExpression_106(s, f); @@ -9868,7 +10205,7 @@ private static Match e871M(Session s, Frame f) { } private static Match e872(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e872M(s, f) : e872C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e872M : TinyExpressionP4Parser::e872C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20149:20171:body/2/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e872M : TinyExpressionP4Parser::e872C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20135:20157:body/2/ruleRef", false, false, "node", false, K4); } private static Match e872C(Session s, Frame f) { return parseBooleanMatchExpression_117(s, f); @@ -9878,7 +10215,7 @@ private static Match e872M(Session s, Frame f) { } private static Match e873(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e873M(s, f) : e873C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e873M : TinyExpressionP4Parser::e873C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20178:20203:body/3/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e873M : TinyExpressionP4Parser::e873C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20164:20189:body/3/ruleRef", false, false, "node", false, K4); } private static Match e873C(Session s, Frame f) { return parseExternalBooleanInvocation_31(s, f); @@ -9888,7 +10225,7 @@ private static Match e873M(Session s, Frame f) { } private static Match e874(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e874M(s, f) : e874C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e874M : TinyExpressionP4Parser::e874C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20210:20218:body/4/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e874M : TinyExpressionP4Parser::e874C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20196:20204:body/4/ruleRef", false, false, "node", false, K4); } private static Match e874C(Session s, Frame f) { return parseInMethod_73(s, f); @@ -9898,7 +10235,7 @@ private static Match e874M(Session s, Frame f) { } private static Match e875(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e875M(s, f) : e875C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e875M : TinyExpressionP4Parser::e875C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20225:20244:body/5/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e875M : TinyExpressionP4Parser::e875C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20211:20230:body/5/ruleRef", false, false, "node", false, K4); } private static Match e875C(Session s, Frame f) { return parseStartsWithDotMethod_74(s, f); @@ -9908,7 +10245,7 @@ private static Match e875M(Session s, Frame f) { } private static Match e876(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e876M(s, f) : e876C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e876M : TinyExpressionP4Parser::e876C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20251:20268:body/6/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e876M : TinyExpressionP4Parser::e876C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20237:20254:body/6/ruleRef", false, false, "node", false, K4); } private static Match e876C(Session s, Frame f) { return parseEndsWithDotMethod_75(s, f); @@ -9918,7 +10255,7 @@ private static Match e876M(Session s, Frame f) { } private static Match e877(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e877M(s, f) : e877C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e877M : TinyExpressionP4Parser::e877C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20275:20292:body/7/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e877M : TinyExpressionP4Parser::e877C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20261:20278:body/7/ruleRef", false, false, "node", false, K4); } private static Match e877C(Session s, Frame f) { return parseContainsDotMethod_76(s, f); @@ -9928,7 +10265,7 @@ private static Match e877M(Session s, Frame f) { } private static Match e878(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e878M(s, f) : e878C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e878M : TinyExpressionP4Parser::e878C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20299:20317:body/8/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e878M : TinyExpressionP4Parser::e878C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20285:20303:body/8/ruleRef", false, false, "node", false, K4); } private static Match e878C(Session s, Frame f) { return parseStartsWithFunction_70(s, f); @@ -9938,7 +10275,7 @@ private static Match e878M(Session s, Frame f) { } private static Match e879(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e879M(s, f) : e879C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e879M : TinyExpressionP4Parser::e879C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20324:20340:body/9/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e879M : TinyExpressionP4Parser::e879C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20310:20326:body/9/ruleRef", false, false, "node", false, K4); } private static Match e879C(Session s, Frame f) { return parseEndsWithFunction_71(s, f); @@ -9948,7 +10285,7 @@ private static Match e879M(Session s, Frame f) { } private static Match e880(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e880M(s, f) : e880C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e880M : TinyExpressionP4Parser::e880C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20347:20363:body/10/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e880M : TinyExpressionP4Parser::e880C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20333:20349:body/10/ruleRef", false, false, "node", false, K4); } private static Match e880C(Session s, Frame f) { return parseContainsFunction_72(s, f); @@ -9958,7 +10295,7 @@ private static Match e880M(Session s, Frame f) { } private static Match e881(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e881M(s, f) : e881C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e881M : TinyExpressionP4Parser::e881C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20370:20387:body/11/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e881M : TinyExpressionP4Parser::e881C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20356:20373:body/11/ruleRef", false, false, "node", false, K4); } private static Match e881C(Session s, Frame f) { return parseIsPresentFunction_78(s, f); @@ -9968,7 +10305,7 @@ private static Match e881M(Session s, Frame f) { } private static Match e882(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e882M(s, f) : e882C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e882M : TinyExpressionP4Parser::e882C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20394:20413:body/12/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e882M : TinyExpressionP4Parser::e882C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20380:20399:body/12/ruleRef", false, false, "node", false, K4); } private static Match e882C(Session s, Frame f) { return parseInTimeRangeFunction_79(s, f); @@ -9978,7 +10315,7 @@ private static Match e882M(Session s, Frame f) { } private static Match e883(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e883M(s, f) : e883C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e883M : TinyExpressionP4Parser::e883C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20420:20442:body/13/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e883M : TinyExpressionP4Parser::e883C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20406:20428:body/13/ruleRef", false, false, "node", false, K4); } private static Match e883C(Session s, Frame f) { return parseInDayTimeRangeFunction_80(s, f); @@ -9988,27 +10325,27 @@ private static Match e883M(Session s, Frame f) { } private static Match e884(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e884M(s, f) : e884C(s, f); s.progress(f); return s.tree ? s.textAlternative(r) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e884M : TinyExpressionP4Parser::e884C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20449:20455:body/14/literal", false, true, "textAlternative", false, K1077); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e884M : TinyExpressionP4Parser::e884C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20435:20441:body/14/literal", false, true, "textAlternative", false, K1094); } private static Match e884C(Session s, Frame f) { - return s.literal(f, "true", true, false, K1078); + return s.literal(f, "true", true, false, K1095); } private static Match e884M(Session s, Frame f) { - return s.literal(f, "true", true, false, K1078); + return s.literal(f, "true", true, false, K1095); } private static Match e885(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e885M(s, f) : e885C(s, f); s.progress(f); return s.tree ? s.textAlternative(r) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e885M : TinyExpressionP4Parser::e885C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20462:20469:body/15/literal", false, true, "textAlternative", false, K1079); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e885M : TinyExpressionP4Parser::e885C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20448:20455:body/15/literal", false, true, "textAlternative", false, K1096); } private static Match e885C(Session s, Frame f) { - return s.literal(f, "false", true, false, K1080); + return s.literal(f, "false", true, false, K1097); } private static Match e885M(Session s, Frame f) { - return s.literal(f, "false", true, false, K1080); + return s.literal(f, "false", true, false, K1097); } private static Match e886(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e886M(s, f) : e886C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e886M : TinyExpressionP4Parser::e886C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20476:20487:body/16/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e886M : TinyExpressionP4Parser::e886C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20462:20473:body/16/ruleRef", false, false, "node", false, K4); } private static Match e886C(Session s, Frame f) { return parseVariableRef_121(s, f); @@ -10018,7 +10355,7 @@ private static Match e886M(Session s, Frame f) { } private static Match e887(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e887M(s, f) : e887C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e887M : TinyExpressionP4Parser::e887C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20494:20510:body/17/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e887M : TinyExpressionP4Parser::e887C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20480:20496:body/17/ruleRef", false, false, "node", false, K4); } private static Match e887C(Session s, Frame f) { return parseMethodInvocation_36(s, f); @@ -10029,27 +10366,27 @@ private static Match e887M(Session s, Frame f) { private static Match e888(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e888M(s, f) : e888C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e888M : TinyExpressionP4Parser::e888C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20517:20542:body/18/seq", false, false, "node", false, K161); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e888M : TinyExpressionP4Parser::e888C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20503:20528:body/18/seq", false, false, "node", false, K161); } private static Match e888C(Session s, Frame f) { - return s.sequence(f, K1081, K248); + return s.sequence(f, K1098, K251); } private static Match e888M(Session s, Frame f) { - return s.sequence(f, K1081, K248); + return s.sequence(f, K1098, K251); } private static Match e889(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e889M(s, f) : e889C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e889M : TinyExpressionP4Parser::e889C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20517:20520:body/18/0/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e889M : TinyExpressionP4Parser::e889C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20503:20506:body/18/0/literal", false, true, "text", false, K399); } private static Match e889C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e889M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e890(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e890M(s, f) : e890C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e890M : TinyExpressionP4Parser::e890C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20521:20538:body/18/1/ruleRef", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e890M : TinyExpressionP4Parser::e890C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20507:20524:body/18/1/ruleRef", false, false, "node", false, K4); } private static Match e890C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -10059,28 +10396,28 @@ private static Match e890M(Session s, Frame f) { } private static Match e891(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e891M(s, f) : e891C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e891M : TinyExpressionP4Parser::e891C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20539:20542:body/18/2/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e891M : TinyExpressionP4Parser::e891C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanComparable", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20525:20528:body/18/2/literal", false, true, "text", false, K401); } private static Match e891C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e891M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e892(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e892M(s, f) : e892C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e892M : TinyExpressionP4Parser::e892C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanEqualityExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20636:20692:body/seq", false, false, "mixed", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e892M : TinyExpressionP4Parser::e892C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanEqualityExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20622:20678:body/seq", false, false, "mixed", true, K4); } private static Match e892C(Session s, Frame f) { - return s.sequence(f, K1082, K248); + return s.sequence(f, K1099, K251); } private static Match e892M(Session s, Frame f) { - return s.sequence(f, K1082, K248); + return s.sequence(f, K1099, K251); } private static Match e893(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e893M(s, f) : e893C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e893M : TinyExpressionP4Parser::e893C, K1083, K528, K225, K226, K226, "TinyExpressionP4::BooleanEqualityExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20636:20653:body/0/ruleRef", false, false, "mixed", false, K1084); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e893M : TinyExpressionP4Parser::e893C, K1100, K544, K225, K226, K226, "TinyExpressionP4::BooleanEqualityExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20622:20639:body/0/ruleRef", false, false, "mixed", false, K1101); } private static Match e893C(Session s, Frame f) { return parseBooleanComparable_98(s, f); @@ -10090,7 +10427,7 @@ private static Match e893M(Session s, Frame f) { } private static Match e894(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e894M(s, f) : e894C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e894M : TinyExpressionP4Parser::e894C, K1085, K532, K225, K226, K226, "TinyExpressionP4::BooleanEqualityExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20660:20670:body/1/ruleRef", false, false, "text", false, K182); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e894M : TinyExpressionP4Parser::e894C, K1102, K548, K225, K226, K226, "TinyExpressionP4::BooleanEqualityExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20646:20656:body/1/ruleRef", false, false, "text", false, K182); } private static Match e894C(Session s, Frame f) { return parseEqualityOp_102(s, f); @@ -10100,7 +10437,7 @@ private static Match e894M(Session s, Frame f) { } private static Match e895(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e895M(s, f) : e895C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e895M : TinyExpressionP4Parser::e895C, K1086, K534, K225, K226, K226, "TinyExpressionP4::BooleanEqualityExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20675:20692:body/2/ruleRef", false, false, "mixed", false, K1084); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e895M : TinyExpressionP4Parser::e895C, K1103, K550, K225, K226, K226, "TinyExpressionP4::BooleanEqualityExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20661:20678:body/2/ruleRef", false, false, "mixed", false, K1101); } private static Match e895C(Session s, Frame f) { return parseBooleanComparable_98(s, f); @@ -10110,17 +10447,17 @@ private static Match e895M(Session s, Frame f) { } private static Match e896(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e896M(s, f) : e896C(s, f); s.progress(f); return s.tree ? s.project(r, true) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e896M : TinyExpressionP4Parser::e896C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20775:20905:body/choice", false, false, "mixed", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e896M : TinyExpressionP4Parser::e896C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20761:20891:body/choice", false, false, "mixed", false, K4); } private static Match e896C(Session s, Frame f) { - return s.choice(f,K1087,false,null,false); + return s.choice(f,K1104,false,null,false); } private static Match e896M(Session s, Frame f) { - return s.choice(f,K1087,false,null,false); + return s.choice(f,K1104,false,null,false); } private static Match e897(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e897M(s, f) : e897C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e897M : TinyExpressionP4Parser::e897C, K1088, K311, K225, K226, K226, "TinyExpressionP4::BooleanFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20775:20800:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e897M : TinyExpressionP4Parser::e897C, K1105, K323, K225, K226, K226, "TinyExpressionP4::BooleanFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20761:20786:body/0/ruleRef", false, false, "node", false, K227); } private static Match e897C(Session s, Frame f) { return parseBooleanEqualityExpression_99(s, f); @@ -10130,7 +10467,7 @@ private static Match e897M(Session s, Frame f) { } private static Match e898(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e898M(s, f) : e898C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e898M : TinyExpressionP4Parser::e898C, K1089, K311, K225, K226, K226, "TinyExpressionP4::BooleanFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20814:20834:body/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e898M : TinyExpressionP4Parser::e898C, K1106, K323, K225, K226, K226, "TinyExpressionP4::BooleanFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20800:20820:body/1/ruleRef", false, false, "node", false, K227); } private static Match e898C(Session s, Frame f) { return parseComparisonExpression_103(s, f); @@ -10140,7 +10477,7 @@ private static Match e898M(Session s, Frame f) { } private static Match e899(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e899M(s, f) : e899C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e899M : TinyExpressionP4Parser::e899C, K1090, K311, K225, K226, K226, "TinyExpressionP4::BooleanFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20848:20874:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e899M : TinyExpressionP4Parser::e899C, K1107, K323, K225, K226, K226, "TinyExpressionP4::BooleanFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20834:20860:body/2/ruleRef", false, false, "node", false, K227); } private static Match e899C(Session s, Frame f) { return parseStringComparisonExpression_101(s, f); @@ -10150,7 +10487,7 @@ private static Match e899M(Session s, Frame f) { } private static Match e900(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e900M(s, f) : e900C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e900M : TinyExpressionP4Parser::e900C, K1091, K311, K225, K226, K226, "TinyExpressionP4::BooleanFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20888:20905:body/3/ruleRef", false, false, "mixed", false, K1084); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e900M : TinyExpressionP4Parser::e900C, K1108, K323, K225, K226, K226, "TinyExpressionP4::BooleanFactor", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20874:20891:body/3/ruleRef", false, false, "mixed", false, K1101); } private static Match e900C(Session s, Frame f) { return parseBooleanComparable_98(s, f); @@ -10161,17 +10498,17 @@ private static Match e900M(Session s, Frame f) { private static Match e901(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e901M(s, f) : e901C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e901M : TinyExpressionP4Parser::e901C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21169:21223:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e901M : TinyExpressionP4Parser::e901C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21155:21209:body/seq", false, false, "node", true, K4); } private static Match e901C(Session s, Frame f) { - return s.sequence(f, K1092, K248); + return s.sequence(f, K1109, K251); } private static Match e901M(Session s, Frame f) { - return s.sequence(f, K1092, K248); + return s.sequence(f, K1109, K251); } private static Match e902(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e902M(s, f) : e902C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e902M : TinyExpressionP4Parser::e902C, K1093, K528, K225, K226, K226, "TinyExpressionP4::StringComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21169:21185:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e902M : TinyExpressionP4Parser::e902C, K1110, K544, K225, K226, K226, "TinyExpressionP4::StringComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21155:21171:body/0/ruleRef", false, false, "node", false, K227); } private static Match e902C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -10181,7 +10518,7 @@ private static Match e902M(Session s, Frame f) { } private static Match e903(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e903M(s, f) : e903C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e903M : TinyExpressionP4Parser::e903C, K1094, K532, K225, K226, K226, "TinyExpressionP4::StringComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21192:21202:body/1/ruleRef", false, false, "text", false, K182); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e903M : TinyExpressionP4Parser::e903C, K1111, K548, K225, K226, K226, "TinyExpressionP4::StringComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21178:21188:body/1/ruleRef", false, false, "text", false, K182); } private static Match e903C(Session s, Frame f) { return parseEqualityOp_102(s, f); @@ -10191,7 +10528,7 @@ private static Match e903M(Session s, Frame f) { } private static Match e904(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e904M(s, f) : e904C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e904M : TinyExpressionP4Parser::e904C, K1095, K534, K225, K226, K226, "TinyExpressionP4::StringComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21207:21223:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e904M : TinyExpressionP4Parser::e904C, K1112, K550, K225, K226, K226, "TinyExpressionP4::StringComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21193:21209:body/2/ruleRef", false, false, "node", false, K227); } private static Match e904C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -10201,48 +10538,48 @@ private static Match e904M(Session s, Frame f) { } private static Match e905(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e905M(s, f) : e905C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e905M : TinyExpressionP4Parser::e905C, K216, K216, K216, K217, K217, "TinyExpressionP4::EqualityOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21250:21261:body/choice", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e905M : TinyExpressionP4Parser::e905C, K216, K216, K216, K217, K217, "TinyExpressionP4::EqualityOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21236:21247:body/choice", false, false, "text", false, K4); } private static Match e905C(Session s, Frame f) { - return s.choice(f,K1096,false,null,false); + return s.choice(f,K1113,false,null,false); } private static Match e905M(Session s, Frame f) { - return s.choice(f,K1096,false,null,false); + return s.choice(f,K1113,false,null,false); } private static Match e906(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e906M(s, f) : e906C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e906M : TinyExpressionP4Parser::e906C, K216, K216, K216, K217, K217, "TinyExpressionP4::EqualityOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21250:21254:body/0/literal", false, true, "text", false, K1097); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e906M : TinyExpressionP4Parser::e906C, K216, K216, K216, K217, K217, "TinyExpressionP4::EqualityOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21236:21240:body/0/literal", false, true, "text", false, K1114); } private static Match e906C(Session s, Frame f) { - return s.literal(f, "==", true, false, K1098); + return s.literal(f, "==", true, false, K1115); } private static Match e906M(Session s, Frame f) { - return s.literal(f, "==", true, false, K1098); + return s.literal(f, "==", true, false, K1115); } private static Match e907(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e907M(s, f) : e907C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e907M : TinyExpressionP4Parser::e907C, K216, K216, K216, K217, K217, "TinyExpressionP4::EqualityOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21257:21261:body/1/literal", false, true, "text", false, K1099); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e907M : TinyExpressionP4Parser::e907C, K216, K216, K216, K217, K217, "TinyExpressionP4::EqualityOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21243:21247:body/1/literal", false, true, "text", false, K1116); } private static Match e907C(Session s, Frame f) { - return s.literal(f, "!=", true, false, K1100); + return s.literal(f, "!=", true, false, K1117); } private static Match e907M(Session s, Frame f) { - return s.literal(f, "!=", true, false, K1100); + return s.literal(f, "!=", true, false, K1117); } private static Match e908(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e908M(s, f) : e908C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e908M : TinyExpressionP4Parser::e908C, K216, K216, K216, K217, K217, "TinyExpressionP4::ComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21345:21398:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e908M : TinyExpressionP4Parser::e908C, K216, K216, K216, K217, K217, "TinyExpressionP4::ComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21331:21384:body/seq", false, false, "node", true, K4); } private static Match e908C(Session s, Frame f) { - return s.sequence(f, K1101, K248); + return s.sequence(f, K1118, K251); } private static Match e908M(Session s, Frame f) { - return s.sequence(f, K1101, K248); + return s.sequence(f, K1118, K251); } private static Match e909(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e909M(s, f) : e909C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e909M : TinyExpressionP4Parser::e909C, K1102, K528, K225, K226, K226, "TinyExpressionP4::ComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21345:21361:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e909M : TinyExpressionP4Parser::e909C, K1119, K544, K225, K226, K226, "TinyExpressionP4::ComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21331:21347:body/0/ruleRef", false, false, "node", false, K227); } private static Match e909C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -10252,7 +10589,7 @@ private static Match e909M(Session s, Frame f) { } private static Match e910(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e910M(s, f) : e910C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e910M : TinyExpressionP4Parser::e910C, K1103, K532, K225, K226, K226, "TinyExpressionP4::ComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21368:21377:body/1/ruleRef", false, false, "text", false, K185); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e910M : TinyExpressionP4Parser::e910C, K1120, K548, K225, K226, K226, "TinyExpressionP4::ComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21354:21363:body/1/ruleRef", false, false, "text", false, K185); } private static Match e910C(Session s, Frame f) { return parseCompareOp_104(s, f); @@ -10262,7 +10599,7 @@ private static Match e910M(Session s, Frame f) { } private static Match e911(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e911M(s, f) : e911C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e911M : TinyExpressionP4Parser::e911C, K1104, K534, K225, K226, K226, "TinyExpressionP4::ComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21382:21398:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e911M : TinyExpressionP4Parser::e911C, K1121, K550, K225, K226, K226, "TinyExpressionP4::ComparisonExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21368:21384:body/2/ruleRef", false, false, "node", false, K227); } private static Match e911C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -10272,87 +10609,87 @@ private static Match e911M(Session s, Frame f) { } private static Match e912(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e912M(s, f) : e912C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e912M : TinyExpressionP4Parser::e912C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21424:21461:body/choice", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e912M : TinyExpressionP4Parser::e912C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21410:21447:body/choice", false, false, "text", false, K4); } private static Match e912C(Session s, Frame f) { - return s.choice(f,K1105,false,null,false); + return s.choice(f,K1122,false,null,false); } private static Match e912M(Session s, Frame f) { - return s.choice(f,K1105,false,null,false); + return s.choice(f,K1122,false,null,false); } private static Match e913(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e913M(s, f) : e913C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e913M : TinyExpressionP4Parser::e913C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21424:21428:body/0/literal", false, true, "text", false, K1097); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e913M : TinyExpressionP4Parser::e913C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21410:21414:body/0/literal", false, true, "text", false, K1114); } private static Match e913C(Session s, Frame f) { - return s.literal(f, "==", true, false, K1098); + return s.literal(f, "==", true, false, K1115); } private static Match e913M(Session s, Frame f) { - return s.literal(f, "==", true, false, K1098); + return s.literal(f, "==", true, false, K1115); } private static Match e914(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e914M(s, f) : e914C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e914M : TinyExpressionP4Parser::e914C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21431:21435:body/1/literal", false, true, "text", false, K1099); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e914M : TinyExpressionP4Parser::e914C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21417:21421:body/1/literal", false, true, "text", false, K1116); } private static Match e914C(Session s, Frame f) { - return s.literal(f, "!=", true, false, K1100); + return s.literal(f, "!=", true, false, K1117); } private static Match e914M(Session s, Frame f) { - return s.literal(f, "!=", true, false, K1100); + return s.literal(f, "!=", true, false, K1117); } private static Match e915(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e915M(s, f) : e915C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e915M : TinyExpressionP4Parser::e915C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21438:21442:body/2/literal", false, true, "text", false, K1106); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e915M : TinyExpressionP4Parser::e915C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21424:21428:body/2/literal", false, true, "text", false, K1123); } private static Match e915C(Session s, Frame f) { - return s.literal(f, "<=", true, false, K1107); + return s.literal(f, "<=", true, false, K1124); } private static Match e915M(Session s, Frame f) { - return s.literal(f, "<=", true, false, K1107); + return s.literal(f, "<=", true, false, K1124); } private static Match e916(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e916M(s, f) : e916C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e916M : TinyExpressionP4Parser::e916C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21445:21449:body/3/literal", false, true, "text", false, K1108); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e916M : TinyExpressionP4Parser::e916C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21431:21435:body/3/literal", false, true, "text", false, K1125); } private static Match e916C(Session s, Frame f) { - return s.literal(f, ">=", true, false, K1109); + return s.literal(f, ">=", true, false, K1126); } private static Match e916M(Session s, Frame f) { - return s.literal(f, ">=", true, false, K1109); + return s.literal(f, ">=", true, false, K1126); } private static Match e917(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e917M(s, f) : e917C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e917M : TinyExpressionP4Parser::e917C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21452:21455:body/4/literal", false, true, "text", false, K1110); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e917M : TinyExpressionP4Parser::e917C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21438:21441:body/4/literal", false, true, "text", false, K1127); } private static Match e917C(Session s, Frame f) { - return s.literal(f, "<", true, false, K1111); + return s.literal(f, "<", true, false, K1128); } private static Match e917M(Session s, Frame f) { - return s.literal(f, "<", true, false, K1111); + return s.literal(f, "<", true, false, K1128); } private static Match e918(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e918M(s, f) : e918C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e918M : TinyExpressionP4Parser::e918C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21458:21461:body/5/literal", false, true, "text", false, K1112); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e918M : TinyExpressionP4Parser::e918C, K216, K216, K216, K217, K217, "TinyExpressionP4::CompareOp", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21444:21447:body/5/literal", false, true, "text", false, K1129); } private static Match e918C(Session s, Frame f) { - return s.literal(f, ">", true, false, K1113); + return s.literal(f, ">", true, false, K1130); } private static Match e918M(Session s, Frame f) { - return s.literal(f, ">", true, false, K1113); + return s.literal(f, ">", true, false, K1130); } private static Match e919(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e919M(s, f) : e919C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e919M : TinyExpressionP4Parser::e919C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21615:21785:body/choice", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e919M : TinyExpressionP4Parser::e919C, K216, K216, K216, K217, K217, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21601:21771:body/choice", false, false, "node", false, K4); } private static Match e919C(Session s, Frame f) { - return s.choice(f,K1118,false,null,false,K1117); + return s.choice(f,K1135,false,null,false,K1134); } private static Match e919M(Session s, Frame f) { - return s.choice(f,K1118,false,null,false,K1117); + return s.choice(f,K1135,false,null,false,K1134); } private static Match e920(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e920M(s, f) : e920C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e920M : TinyExpressionP4Parser::e920C, K1119, K311, K225, K226, K226, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21615:21631:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e920M : TinyExpressionP4Parser::e920C, K1136, K323, K225, K226, K226, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21601:21617:body/0/ruleRef", false, false, "node", false, K227); } private static Match e920C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -10362,7 +10699,7 @@ private static Match e920M(Session s, Frame f) { } private static Match e921(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e921M(s, f) : e921C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e921M : TinyExpressionP4Parser::e921C, K1120, K311, K225, K226, K226, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21645:21661:body/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e921M : TinyExpressionP4Parser::e921C, K1137, K323, K225, K226, K226, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21631:21647:body/1/ruleRef", false, false, "node", false, K227); } private static Match e921C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -10372,7 +10709,7 @@ private static Match e921M(Session s, Frame f) { } private static Match e922(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e922M(s, f) : e922C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e922M : TinyExpressionP4Parser::e922C, K1121, K311, K225, K226, K226, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21675:21692:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e922M : TinyExpressionP4Parser::e922C, K1138, K323, K225, K226, K226, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21661:21678:body/2/ruleRef", false, false, "node", false, K227); } private static Match e922C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -10382,7 +10719,7 @@ private static Match e922M(Session s, Frame f) { } private static Match e923(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e923M(s, f) : e923C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e923M : TinyExpressionP4Parser::e923C, K1122, K311, K225, K226, K226, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21706:21730:body/3/ruleRef", false, false, "node", false, K59); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e923M : TinyExpressionP4Parser::e923C, K1139, K323, K225, K226, K226, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21692:21716:body/3/ruleRef", false, false, "node", false, K59); } private static Match e923C(Session s, Frame f) { return parseExternalObjectInvocation_34(s, f); @@ -10392,7 +10729,7 @@ private static Match e923M(Session s, Frame f) { } private static Match e924(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e924M(s, f) : e924C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e924M : TinyExpressionP4Parser::e924C, K1123, K311, K225, K226, K226, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21744:21755:body/4/ruleRef", false, false, "node", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e924M : TinyExpressionP4Parser::e924C, K1140, K323, K225, K226, K226, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21730:21741:body/4/ruleRef", false, false, "node", false, K50); } private static Match e924C(Session s, Frame f) { return parseVariableRef_121(s, f); @@ -10402,7 +10739,7 @@ private static Match e924M(Session s, Frame f) { } private static Match e925(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e925M(s, f) : e925C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e925M : TinyExpressionP4Parser::e925C, K1124, K311, K225, K226, K226, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21769:21785:body/5/ruleRef", false, false, "node", false, K161); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e925M : TinyExpressionP4Parser::e925C, K1141, K323, K225, K226, K226, "TinyExpressionP4::ObjectExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21755:21771:body/5/ruleRef", false, false, "node", false, K161); } private static Match e925C(Session s, Frame f) { return parseMethodInvocation_36(s, f); @@ -10413,37 +10750,37 @@ private static Match e925M(Session s, Frame f) { private static Match e926(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e926M(s, f) : e926C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e926M : TinyExpressionP4Parser::e926C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21960:22090:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e926M : TinyExpressionP4Parser::e926C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21946:22076:body/seq", false, false, "node", true, K4); } private static Match e926C(Session s, Frame f) { - return s.sequence(f, K1127, K1126); + return s.sequence(f, K1144, K1143); } private static Match e926M(Session s, Frame f) { - return s.sequence(f, K1127, K1126); + return s.sequence(f, K1144, K1143); } private static Match e927(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e927M(s, f) : e927C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e927M : TinyExpressionP4Parser::e927C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21960:21964:body/0/literal", false, true, "text", false, K368); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e927M : TinyExpressionP4Parser::e927C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21946:21950:body/0/literal", false, true, "text", false, K380); } private static Match e927C(Session s, Frame f) { - return s.literal(f, "if", true, false, K369); + return s.literal(f, "if", true, false, K381); } private static Match e927M(Session s, Frame f) { - return s.literal(f, "if", true, false, K369); + return s.literal(f, "if", true, false, K381); } private static Match e928(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e928M(s, f) : e928C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e928M : TinyExpressionP4Parser::e928C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21965:21968:body/1/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e928M : TinyExpressionP4Parser::e928C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21951:21954:body/1/literal", false, true, "text", false, K399); } private static Match e928C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e928M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e929(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e929M(s, f) : e929C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e929M : TinyExpressionP4Parser::e929C, K1128, K510, K225, K226, K226, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21969:21986:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e929M : TinyExpressionP4Parser::e929C, K1145, K526, K225, K226, K226, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21955:21972:body/2/ruleRef", false, false, "node", false, K227); } private static Match e929C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -10453,27 +10790,27 @@ private static Match e929M(Session s, Frame f) { } private static Match e930(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e930M(s, f) : e930C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e930M : TinyExpressionP4Parser::e930C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21998:22001:body/3/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e930M : TinyExpressionP4Parser::e930C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21984:21987:body/3/literal", false, true, "text", false, K401); } private static Match e930C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e930M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e931(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e931M(s, f) : e931C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e931M : TinyExpressionP4Parser::e931C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22006:22009:body/4/literal", false, true, "text", false, K402); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e931M : TinyExpressionP4Parser::e931C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21992:21995:body/4/literal", false, true, "text", false, K417); } private static Match e931C(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e931M(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e932(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e932M(s, f) : e932C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e932M : TinyExpressionP4Parser::e932C, K1129, K514, K225, K226, K226, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22010:22026:body/5/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e932M : TinyExpressionP4Parser::e932C, K1146, K530, K225, K226, K226, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21996:22012:body/5/ruleRef", false, false, "node", false, K227); } private static Match e932C(Session s, Frame f) { return parseBranchExpression_107(s, f); @@ -10483,37 +10820,37 @@ private static Match e932M(Session s, Frame f) { } private static Match e933(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e933M(s, f) : e933C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e933M : TinyExpressionP4Parser::e933C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22037:22040:body/6/literal", false, true, "text", false, K405); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e933M : TinyExpressionP4Parser::e933C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22023:22026:body/6/literal", false, true, "text", false, K420); } private static Match e933C(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e933M(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e934(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e934M(s, f) : e934C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e934M : TinyExpressionP4Parser::e934C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22045:22051:body/7/literal", false, true, "text", false, K1130); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e934M : TinyExpressionP4Parser::e934C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22031:22037:body/7/literal", false, true, "text", false, K1147); } private static Match e934C(Session s, Frame f) { - return s.literal(f, "else", true, false, K1131); + return s.literal(f, "else", true, false, K1148); } private static Match e934M(Session s, Frame f) { - return s.literal(f, "else", true, false, K1131); + return s.literal(f, "else", true, false, K1148); } private static Match e935(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e935M(s, f) : e935C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e935M : TinyExpressionP4Parser::e935C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22056:22059:body/8/literal", false, true, "text", false, K402); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e935M : TinyExpressionP4Parser::e935C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22042:22045:body/8/literal", false, true, "text", false, K417); } private static Match e935C(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e935M(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e936(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e936M(s, f) : e936C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e936M : TinyExpressionP4Parser::e936C, K1132, K516, K225, K226, K226, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22060:22076:body/9/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e936M : TinyExpressionP4Parser::e936C, K1149, K532, K225, K226, K226, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22046:22062:body/9/ruleRef", false, false, "node", false, K227); } private static Match e936C(Session s, Frame f) { return parseBranchExpression_107(s, f); @@ -10523,27 +10860,27 @@ private static Match e936M(Session s, Frame f) { } private static Match e937(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e937M(s, f) : e937C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e937M : TinyExpressionP4Parser::e937C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22087:22090:body/10/literal", false, true, "text", false, K405); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e937M : TinyExpressionP4Parser::e937C, K216, K216, K216, K217, K217, "TinyExpressionP4::IfExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22073:22076:body/10/literal", false, true, "text", false, K420); } private static Match e937C(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e937M(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e938(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e938M(s, f) : e938C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e938M : TinyExpressionP4Parser::e938C, K216, K216, K216, K217, K217, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22172:22422:body/choice", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e938M : TinyExpressionP4Parser::e938C, K216, K216, K216, K217, K217, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22158:22408:body/choice", false, false, "node", false, K4); } private static Match e938C(Session s, Frame f) { - return s.choice(f,K1134,false,null,false,K1133); + return s.choice(f,K1151,false,null,false,K1150); } private static Match e938M(Session s, Frame f) { - return s.choice(f,K1134,false,null,false,K1133); + return s.choice(f,K1151,false,null,false,K1150); } private static Match e939(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e939M(s, f) : e939C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e939M : TinyExpressionP4Parser::e939C, K1135, K311, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22172:22192:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e939M : TinyExpressionP4Parser::e939C, K1152, K323, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22158:22178:body/0/ruleRef", false, false, "node", false, K227); } private static Match e939C(Session s, Frame f) { return parseComparisonExpression_103(s, f); @@ -10553,7 +10890,7 @@ private static Match e939M(Session s, Frame f) { } private static Match e940(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e940M(s, f) : e940C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e940M : TinyExpressionP4Parser::e940C, K1136, K311, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22206:22232:body/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e940M : TinyExpressionP4Parser::e940C, K1153, K323, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22192:22218:body/1/ruleRef", false, false, "node", false, K227); } private static Match e940C(Session s, Frame f) { return parseStringComparisonExpression_101(s, f); @@ -10563,7 +10900,7 @@ private static Match e940M(Session s, Frame f) { } private static Match e941(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e941M(s, f) : e941C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e941M : TinyExpressionP4Parser::e941C, K1137, K311, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22246:22271:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e941M : TinyExpressionP4Parser::e941C, K1154, K323, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22232:22257:body/2/ruleRef", false, false, "node", false, K227); } private static Match e941C(Session s, Frame f) { return parseBooleanEqualityExpression_99(s, f); @@ -10573,7 +10910,7 @@ private static Match e941M(Session s, Frame f) { } private static Match e942(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e942M(s, f) : e942C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e942M : TinyExpressionP4Parser::e942C, K1138, K311, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22285:22301:body/3/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e942M : TinyExpressionP4Parser::e942C, K1155, K323, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22271:22287:body/3/ruleRef", false, false, "node", false, K227); } private static Match e942C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -10583,7 +10920,7 @@ private static Match e942M(Session s, Frame f) { } private static Match e943(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e943M(s, f) : e943C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e943M : TinyExpressionP4Parser::e943C, K1139, K311, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22315:22332:body/4/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e943M : TinyExpressionP4Parser::e943C, K1156, K323, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22301:22318:body/4/ruleRef", false, false, "node", false, K227); } private static Match e943C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -10593,7 +10930,7 @@ private static Match e943M(Session s, Frame f) { } private static Match e944(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e944M(s, f) : e944C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e944M : TinyExpressionP4Parser::e944C, K1140, K311, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22346:22362:body/5/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e944M : TinyExpressionP4Parser::e944C, K1157, K323, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22332:22348:body/5/ruleRef", false, false, "node", false, K227); } private static Match e944C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -10603,7 +10940,7 @@ private static Match e944M(Session s, Frame f) { } private static Match e945(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e945M(s, f) : e945C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e945M : TinyExpressionP4Parser::e945C, K1141, K311, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22376:22392:body/6/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e945M : TinyExpressionP4Parser::e945C, K1158, K323, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22362:22378:body/6/ruleRef", false, false, "node", false, K227); } private static Match e945C(Session s, Frame f) { return parseObjectExpression_105(s, f); @@ -10613,7 +10950,7 @@ private static Match e945M(Session s, Frame f) { } private static Match e946(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e946M(s, f) : e946C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e946M : TinyExpressionP4Parser::e946C, K1142, K311, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22406:22422:body/7/ruleRef", false, false, "node", false, K161); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e946M : TinyExpressionP4Parser::e946C, K1159, K323, K225, K226, K226, "TinyExpressionP4::BranchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22392:22408:body/7/ruleRef", false, false, "node", false, K161); } private static Match e946C(Session s, Frame f) { return parseMethodInvocation_36(s, f); @@ -10624,27 +10961,27 @@ private static Match e946M(Session s, Frame f) { private static Match e947(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e947M(s, f) : e947C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e947M : TinyExpressionP4Parser::e947C, K216, K216, K216, K217, K217, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22597:22695:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e947M : TinyExpressionP4Parser::e947C, K216, K216, K216, K217, K217, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22583:22681:body/seq", false, false, "node", true, K4); } private static Match e947C(Session s, Frame f) { - return s.sequence(f, K1143, K220); + return s.sequence(f, K1160, K220); } private static Match e947M(Session s, Frame f) { - return s.sequence(f, K1143, K220); + return s.sequence(f, K1160, K220); } private static Match e948(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e948M(s, f) : e948C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e948M : TinyExpressionP4Parser::e948C, K216, K216, K216, K217, K217, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22597:22600:body/0/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e948M : TinyExpressionP4Parser::e948C, K216, K216, K216, K217, K217, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22583:22586:body/0/literal", false, true, "text", false, K399); } private static Match e948C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e948M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e949(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e949M(s, f) : e949C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e949M : TinyExpressionP4Parser::e949C, K1144, K510, K225, K226, K226, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22601:22618:body/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e949M : TinyExpressionP4Parser::e949C, K1161, K526, K225, K226, K226, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22587:22604:body/1/ruleRef", false, false, "node", false, K227); } private static Match e949C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -10654,17 +10991,17 @@ private static Match e949M(Session s, Frame f) { } private static Match e950(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e950M(s, f) : e950C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e950M : TinyExpressionP4Parser::e950C, K216, K216, K216, K217, K217, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22630:22633:body/2/literal", false, true, "text", false, K511); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e950M : TinyExpressionP4Parser::e950C, K216, K216, K216, K217, K217, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22616:22619:body/2/literal", false, true, "text", false, K527); } private static Match e950C(Session s, Frame f) { - return s.literal(f, "?", true, false, K512); + return s.literal(f, "?", true, false, K528); } private static Match e950M(Session s, Frame f) { - return s.literal(f, "?", true, false, K512); + return s.literal(f, "?", true, false, K528); } private static Match e951(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e951M(s, f) : e951C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e951M : TinyExpressionP4Parser::e951C, K1145, K514, K225, K226, K226, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22634:22650:body/3/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e951M : TinyExpressionP4Parser::e951C, K1162, K530, K225, K226, K226, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22620:22636:body/3/ruleRef", false, false, "node", false, K227); } private static Match e951C(Session s, Frame f) { return parseBranchExpression_107(s, f); @@ -10674,17 +11011,17 @@ private static Match e951M(Session s, Frame f) { } private static Match e952(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e952M(s, f) : e952C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e952M : TinyExpressionP4Parser::e952C, K216, K216, K216, K217, K217, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22661:22664:body/4/literal", false, true, "text", false, K458); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e952M : TinyExpressionP4Parser::e952C, K216, K216, K216, K217, K217, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22647:22650:body/4/literal", false, true, "text", false, K473); } private static Match e952C(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e952M(Session s, Frame f) { - return s.literal(f, ":", true, false, K459); + return s.literal(f, ":", true, false, K474); } private static Match e953(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e953M(s, f) : e953C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e953M : TinyExpressionP4Parser::e953C, K1146, K516, K225, K226, K226, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22665:22681:body/5/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e953M : TinyExpressionP4Parser::e953C, K1163, K532, K225, K226, K226, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22651:22667:body/5/ruleRef", false, false, "node", false, K227); } private static Match e953C(Session s, Frame f) { return parseBranchExpression_107(s, f); @@ -10694,48 +11031,48 @@ private static Match e953M(Session s, Frame f) { } private static Match e954(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e954M(s, f) : e954C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e954M : TinyExpressionP4Parser::e954C, K216, K216, K216, K217, K217, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22692:22695:body/6/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e954M : TinyExpressionP4Parser::e954C, K216, K216, K216, K217, K217, "TinyExpressionP4::TernaryExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22678:22681:body/6/literal", false, true, "text", false, K401); } private static Match e954C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e954M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e955(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e955M(s, f) : e955C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e955M : TinyExpressionP4Parser::e955C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22885:23003:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e955M : TinyExpressionP4Parser::e955C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22871:22989:body/seq", false, false, "node", true, K4); } private static Match e955C(Session s, Frame f) { - return s.sequence(f, K1147, K220); + return s.sequence(f, K1164, K220); } private static Match e955M(Session s, Frame f) { - return s.sequence(f, K1147, K220); + return s.sequence(f, K1164, K220); } private static Match e956(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e956M(s, f) : e956C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e956M : TinyExpressionP4Parser::e956C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22885:22892:body/0/literal", false, true, "text", false, K1148); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e956M : TinyExpressionP4Parser::e956C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22871:22878:body/0/literal", false, true, "text", false, K1165); } private static Match e956C(Session s, Frame f) { - return s.literal(f, "match", true, false, K1149); + return s.literal(f, "match", true, false, K1166); } private static Match e956M(Session s, Frame f) { - return s.literal(f, "match", true, false, K1149); + return s.literal(f, "match", true, false, K1166); } private static Match e957(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e957M(s, f) : e957C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e957M : TinyExpressionP4Parser::e957C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22893:22896:body/1/literal", false, true, "text", false, K402); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e957M : TinyExpressionP4Parser::e957C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22879:22882:body/1/literal", false, true, "text", false, K417); } private static Match e957C(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e957M(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e958(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e958M(s, f) : e958C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e958M : TinyExpressionP4Parser::e958C, K1150, K1151, K225, K226, K226, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22903:22913:body/2/ruleRef", false, false, "node", false, K197); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e958M : TinyExpressionP4Parser::e958C, K1167, K1168, K225, K226, K226, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22889:22899:body/2/ruleRef", false, false, "node", false, K197); } private static Match e958C(Session s, Frame f) { return parseNumberCase_110(s, f); @@ -10745,7 +11082,7 @@ private static Match e958M(Session s, Frame f) { } private static Match e959(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e959M(s, f) : e959C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e959M : TinyExpressionP4Parser::e959C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22925:22954:body/3/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e959M : TinyExpressionP4Parser::e959C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22911:22940:body/3/repeat", true, false, "node", true, K404); } private static Match e959C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e960, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -10756,27 +11093,27 @@ private static Match e959M(Session s, Frame f) { private static Match e960(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e960M(s, f) : e960C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e960M : TinyExpressionP4Parser::e960C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22927:22941:body/3/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e960M : TinyExpressionP4Parser::e960C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22913:22927:body/3/0/seq", false, false, "node", false, K404); } private static Match e960C(Session s, Frame f) { - return s.sequence(f, K1152, K260); + return s.sequence(f, K1169, K271); } private static Match e960M(Session s, Frame f) { - return s.sequence(f, K1152, K260); + return s.sequence(f, K1169, K271); } private static Match e961(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e961M(s, f) : e961C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e961M : TinyExpressionP4Parser::e961C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22927:22930:body/3/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e961M : TinyExpressionP4Parser::e961C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22913:22916:body/3/0/0/literal", false, true, "text", false, K404); } private static Match e961C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e961M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e962(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e962M(s, f) : e962C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e962M : TinyExpressionP4Parser::e962C, K1153, K1154, K225, K226, K226, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22931:22941:body/3/0/1/ruleRef", false, false, "node", false, K197); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e962M : TinyExpressionP4Parser::e962C, K1170, K1171, K225, K226, K226, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22917:22927:body/3/0/1/ruleRef", false, false, "node", false, K197); } private static Match e962C(Session s, Frame f) { return parseNumberCase_110(s, f); @@ -10786,17 +11123,17 @@ private static Match e962M(Session s, Frame f) { } private static Match e963(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e963M(s, f) : e963C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e963M : TinyExpressionP4Parser::e963C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22961:22964:body/4/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e963M : TinyExpressionP4Parser::e963C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22947:22950:body/4/literal", false, true, "text", false, K404); } private static Match e963C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e963M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e964(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e964M(s, f) : e964C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e964M : TinyExpressionP4Parser::e964C, K1155, K1156, K225, K226, K226, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22965:22982:body/5/ruleRef", false, false, "node", false, K199); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e964M : TinyExpressionP4Parser::e964C, K1172, K1173, K225, K226, K226, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22951:22968:body/5/ruleRef", false, false, "node", false, K199); } private static Match e964C(Session s, Frame f) { return parseNumberDefaultCase_111(s, f); @@ -10806,28 +11143,28 @@ private static Match e964M(Session s, Frame f) { } private static Match e965(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e965M(s, f) : e965C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e965M : TinyExpressionP4Parser::e965C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23000:23003:body/6/literal", false, true, "text", false, K405); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e965M : TinyExpressionP4Parser::e965C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22986:22989:body/6/literal", false, true, "text", false, K420); } private static Match e965C(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e965M(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e966(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e966M(s, f) : e966C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e966M : TinyExpressionP4Parser::e966C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23078:23127:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e966M : TinyExpressionP4Parser::e966C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23064:23113:body/seq", false, false, "node", true, K4); } private static Match e966C(Session s, Frame f) { - return s.sequence(f, K1157, K248); + return s.sequence(f, K1174, K251); } private static Match e966M(Session s, Frame f) { - return s.sequence(f, K1157, K248); + return s.sequence(f, K1174, K251); } private static Match e967(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e967M(s, f) : e967C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e967M : TinyExpressionP4Parser::e967C, K1158, K510, K225, K226, K226, "TinyExpressionP4::NumberCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23078:23095:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e967M : TinyExpressionP4Parser::e967C, K1175, K526, K225, K226, K226, "TinyExpressionP4::NumberCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23064:23081:body/0/ruleRef", false, false, "node", false, K227); } private static Match e967C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -10837,17 +11174,17 @@ private static Match e967M(Session s, Frame f) { } private static Match e968(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e968M(s, f) : e968C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e968M : TinyExpressionP4Parser::e968C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23107:23111:body/1/literal", false, true, "text", false, K197); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e968M : TinyExpressionP4Parser::e968C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23093:23097:body/1/literal", false, true, "text", false, K197); } private static Match e968C(Session s, Frame f) { - return s.literal(f, "->", true, false, K1159); + return s.literal(f, "->", true, false, K1176); } private static Match e968M(Session s, Frame f) { - return s.literal(f, "->", true, false, K1159); + return s.literal(f, "->", true, false, K1176); } private static Match e969(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e969M(s, f) : e969C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e969M : TinyExpressionP4Parser::e969C, K1160, K311, K225, K226, K226, "TinyExpressionP4::NumberCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23112:23127:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e969M : TinyExpressionP4Parser::e969C, K1177, K323, K225, K226, K226, "TinyExpressionP4::NumberCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23098:23113:body/2/ruleRef", false, false, "node", false, K227); } private static Match e969C(Session s, Frame f) { return parseNumberCaseValue_112(s, f); @@ -10858,37 +11195,37 @@ private static Match e969M(Session s, Frame f) { private static Match e970(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e970M(s, f) : e970C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e970M : TinyExpressionP4Parser::e970C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23211:23241:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e970M : TinyExpressionP4Parser::e970C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23197:23227:body/seq", false, false, "node", false, K4); } private static Match e970C(Session s, Frame f) { - return s.sequence(f, K1161, K248); + return s.sequence(f, K1178, K251); } private static Match e970M(Session s, Frame f) { - return s.sequence(f, K1161, K248); + return s.sequence(f, K1178, K251); } private static Match e971(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e971M(s, f) : e971C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e971M : TinyExpressionP4Parser::e971C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23211:23220:body/0/literal", false, true, "text", false, K1162); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e971M : TinyExpressionP4Parser::e971C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23197:23206:body/0/literal", false, true, "text", false, K1179); } private static Match e971C(Session s, Frame f) { - return s.literal(f, "default", true, false, K1163); + return s.literal(f, "default", true, false, K1180); } private static Match e971M(Session s, Frame f) { - return s.literal(f, "default", true, false, K1163); + return s.literal(f, "default", true, false, K1180); } private static Match e972(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e972M(s, f) : e972C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e972M : TinyExpressionP4Parser::e972C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23221:23225:body/1/literal", false, true, "text", false, K197); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e972M : TinyExpressionP4Parser::e972C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23207:23211:body/1/literal", false, true, "text", false, K197); } private static Match e972C(Session s, Frame f) { - return s.literal(f, "->", true, false, K1159); + return s.literal(f, "->", true, false, K1176); } private static Match e972M(Session s, Frame f) { - return s.literal(f, "->", true, false, K1159); + return s.literal(f, "->", true, false, K1176); } private static Match e973(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e973M(s, f) : e973C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e973M : TinyExpressionP4Parser::e973C, K1164, K311, K225, K226, K226, "TinyExpressionP4::NumberDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23226:23241:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e973M : TinyExpressionP4Parser::e973C, K1181, K323, K225, K226, K226, "TinyExpressionP4::NumberDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23212:23227:body/2/ruleRef", false, false, "node", false, K227); } private static Match e973C(Session s, Frame f) { return parseNumberCaseValue_112(s, f); @@ -10899,17 +11236,17 @@ private static Match e973M(Session s, Frame f) { private static Match e974(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e974M(s, f) : e974C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e974M : TinyExpressionP4Parser::e974C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberCaseValue", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23321:23337:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e974M : TinyExpressionP4Parser::e974C, K216, K216, K216, K217, K217, "TinyExpressionP4::NumberCaseValue", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23307:23323:body/seq", false, false, "node", false, K4); } private static Match e974C(Session s, Frame f) { - return s.sequence(f, K1165, K240); + return s.sequence(f, K1182, K240); } private static Match e974M(Session s, Frame f) { - return s.sequence(f, K1165, K240); + return s.sequence(f, K1182, K240); } private static Match e975(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e975M(s, f) : e975C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e975M : TinyExpressionP4Parser::e975C, K1166, K311, K225, K226, K226, "TinyExpressionP4::NumberCaseValue", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23321:23337:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e975M : TinyExpressionP4Parser::e975C, K1183, K323, K225, K226, K226, "TinyExpressionP4::NumberCaseValue", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23307:23323:body/0/ruleRef", false, false, "node", false, K227); } private static Match e975C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -10920,37 +11257,37 @@ private static Match e975M(Session s, Frame f) { private static Match e976(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e976M(s, f) : e976C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e976M : TinyExpressionP4Parser::e976C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23452:23570:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e976M : TinyExpressionP4Parser::e976C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23438:23556:body/seq", false, false, "node", true, K4); } private static Match e976C(Session s, Frame f) { - return s.sequence(f, K1167, K220); + return s.sequence(f, K1184, K220); } private static Match e976M(Session s, Frame f) { - return s.sequence(f, K1167, K220); + return s.sequence(f, K1184, K220); } private static Match e977(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e977M(s, f) : e977C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e977M : TinyExpressionP4Parser::e977C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23452:23459:body/0/literal", false, true, "text", false, K1148); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e977M : TinyExpressionP4Parser::e977C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23438:23445:body/0/literal", false, true, "text", false, K1165); } private static Match e977C(Session s, Frame f) { - return s.literal(f, "match", true, false, K1149); + return s.literal(f, "match", true, false, K1166); } private static Match e977M(Session s, Frame f) { - return s.literal(f, "match", true, false, K1149); + return s.literal(f, "match", true, false, K1166); } private static Match e978(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e978M(s, f) : e978C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e978M : TinyExpressionP4Parser::e978C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23460:23463:body/1/literal", false, true, "text", false, K402); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e978M : TinyExpressionP4Parser::e978C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23446:23449:body/1/literal", false, true, "text", false, K417); } private static Match e978C(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e978M(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e979(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e979M(s, f) : e979C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e979M : TinyExpressionP4Parser::e979C, K1168, K1151, K225, K226, K226, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23470:23480:body/2/ruleRef", false, false, "node", false, K197); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e979M : TinyExpressionP4Parser::e979C, K1185, K1168, K225, K226, K226, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23456:23466:body/2/ruleRef", false, false, "node", false, K197); } private static Match e979C(Session s, Frame f) { return parseStringCase_114(s, f); @@ -10960,7 +11297,7 @@ private static Match e979M(Session s, Frame f) { } private static Match e980(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e980M(s, f) : e980C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e980M : TinyExpressionP4Parser::e980C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23492:23521:body/3/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e980M : TinyExpressionP4Parser::e980C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23478:23507:body/3/repeat", true, false, "node", true, K404); } private static Match e980C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e981, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -10971,27 +11308,27 @@ private static Match e980M(Session s, Frame f) { private static Match e981(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e981M(s, f) : e981C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e981M : TinyExpressionP4Parser::e981C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23494:23508:body/3/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e981M : TinyExpressionP4Parser::e981C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23480:23494:body/3/0/seq", false, false, "node", false, K404); } private static Match e981C(Session s, Frame f) { - return s.sequence(f, K1169, K260); + return s.sequence(f, K1186, K271); } private static Match e981M(Session s, Frame f) { - return s.sequence(f, K1169, K260); + return s.sequence(f, K1186, K271); } private static Match e982(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e982M(s, f) : e982C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e982M : TinyExpressionP4Parser::e982C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23494:23497:body/3/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e982M : TinyExpressionP4Parser::e982C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23480:23483:body/3/0/0/literal", false, true, "text", false, K404); } private static Match e982C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e982M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e983(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e983M(s, f) : e983C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e983M : TinyExpressionP4Parser::e983C, K1170, K1154, K225, K226, K226, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23498:23508:body/3/0/1/ruleRef", false, false, "node", false, K197); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e983M : TinyExpressionP4Parser::e983C, K1187, K1171, K225, K226, K226, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23484:23494:body/3/0/1/ruleRef", false, false, "node", false, K197); } private static Match e983C(Session s, Frame f) { return parseStringCase_114(s, f); @@ -11001,17 +11338,17 @@ private static Match e983M(Session s, Frame f) { } private static Match e984(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e984M(s, f) : e984C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e984M : TinyExpressionP4Parser::e984C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23528:23531:body/4/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e984M : TinyExpressionP4Parser::e984C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23514:23517:body/4/literal", false, true, "text", false, K404); } private static Match e984C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e984M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e985(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e985M(s, f) : e985C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e985M : TinyExpressionP4Parser::e985C, K1171, K1156, K225, K226, K226, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23532:23549:body/5/ruleRef", false, false, "node", false, K199); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e985M : TinyExpressionP4Parser::e985C, K1188, K1173, K225, K226, K226, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23518:23535:body/5/ruleRef", false, false, "node", false, K199); } private static Match e985C(Session s, Frame f) { return parseStringDefaultCase_115(s, f); @@ -11021,28 +11358,28 @@ private static Match e985M(Session s, Frame f) { } private static Match e986(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e986M(s, f) : e986C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e986M : TinyExpressionP4Parser::e986C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23567:23570:body/6/literal", false, true, "text", false, K405); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e986M : TinyExpressionP4Parser::e986C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23553:23556:body/6/literal", false, true, "text", false, K420); } private static Match e986C(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e986M(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e987(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e987M(s, f) : e987C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e987M : TinyExpressionP4Parser::e987C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23645:23694:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e987M : TinyExpressionP4Parser::e987C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23631:23680:body/seq", false, false, "node", true, K4); } private static Match e987C(Session s, Frame f) { - return s.sequence(f, K1172, K248); + return s.sequence(f, K1189, K251); } private static Match e987M(Session s, Frame f) { - return s.sequence(f, K1172, K248); + return s.sequence(f, K1189, K251); } private static Match e988(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e988M(s, f) : e988C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e988M : TinyExpressionP4Parser::e988C, K1173, K510, K225, K226, K226, "TinyExpressionP4::StringCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23645:23662:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e988M : TinyExpressionP4Parser::e988C, K1190, K526, K225, K226, K226, "TinyExpressionP4::StringCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23631:23648:body/0/ruleRef", false, false, "node", false, K227); } private static Match e988C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -11052,17 +11389,17 @@ private static Match e988M(Session s, Frame f) { } private static Match e989(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e989M(s, f) : e989C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e989M : TinyExpressionP4Parser::e989C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23674:23678:body/1/literal", false, true, "text", false, K197); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e989M : TinyExpressionP4Parser::e989C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23660:23664:body/1/literal", false, true, "text", false, K197); } private static Match e989C(Session s, Frame f) { - return s.literal(f, "->", true, false, K1159); + return s.literal(f, "->", true, false, K1176); } private static Match e989M(Session s, Frame f) { - return s.literal(f, "->", true, false, K1159); + return s.literal(f, "->", true, false, K1176); } private static Match e990(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e990M(s, f) : e990C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e990M : TinyExpressionP4Parser::e990C, K1174, K311, K225, K226, K226, "TinyExpressionP4::StringCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23679:23694:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e990M : TinyExpressionP4Parser::e990C, K1191, K323, K225, K226, K226, "TinyExpressionP4::StringCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23665:23680:body/2/ruleRef", false, false, "node", false, K227); } private static Match e990C(Session s, Frame f) { return parseStringCaseValue_116(s, f); @@ -11073,37 +11410,37 @@ private static Match e990M(Session s, Frame f) { private static Match e991(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e991M(s, f) : e991C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e991M : TinyExpressionP4Parser::e991C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23778:23808:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e991M : TinyExpressionP4Parser::e991C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23764:23794:body/seq", false, false, "node", false, K4); } private static Match e991C(Session s, Frame f) { - return s.sequence(f, K1175, K248); + return s.sequence(f, K1192, K251); } private static Match e991M(Session s, Frame f) { - return s.sequence(f, K1175, K248); + return s.sequence(f, K1192, K251); } private static Match e992(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e992M(s, f) : e992C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e992M : TinyExpressionP4Parser::e992C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23778:23787:body/0/literal", false, true, "text", false, K1162); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e992M : TinyExpressionP4Parser::e992C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23764:23773:body/0/literal", false, true, "text", false, K1179); } private static Match e992C(Session s, Frame f) { - return s.literal(f, "default", true, false, K1163); + return s.literal(f, "default", true, false, K1180); } private static Match e992M(Session s, Frame f) { - return s.literal(f, "default", true, false, K1163); + return s.literal(f, "default", true, false, K1180); } private static Match e993(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e993M(s, f) : e993C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e993M : TinyExpressionP4Parser::e993C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23788:23792:body/1/literal", false, true, "text", false, K197); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e993M : TinyExpressionP4Parser::e993C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23774:23778:body/1/literal", false, true, "text", false, K197); } private static Match e993C(Session s, Frame f) { - return s.literal(f, "->", true, false, K1159); + return s.literal(f, "->", true, false, K1176); } private static Match e993M(Session s, Frame f) { - return s.literal(f, "->", true, false, K1159); + return s.literal(f, "->", true, false, K1176); } private static Match e994(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e994M(s, f) : e994C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e994M : TinyExpressionP4Parser::e994C, K1176, K311, K225, K226, K226, "TinyExpressionP4::StringDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23793:23808:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e994M : TinyExpressionP4Parser::e994C, K1193, K323, K225, K226, K226, "TinyExpressionP4::StringDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23779:23794:body/2/ruleRef", false, false, "node", false, K227); } private static Match e994C(Session s, Frame f) { return parseStringCaseValue_116(s, f); @@ -11114,17 +11451,17 @@ private static Match e994M(Session s, Frame f) { private static Match e995(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e995M(s, f) : e995C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e995M : TinyExpressionP4Parser::e995C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCaseValue", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23888:23904:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e995M : TinyExpressionP4Parser::e995C, K216, K216, K216, K217, K217, "TinyExpressionP4::StringCaseValue", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23874:23890:body/seq", false, false, "node", false, K4); } private static Match e995C(Session s, Frame f) { - return s.sequence(f, K1177, K240); + return s.sequence(f, K1194, K240); } private static Match e995M(Session s, Frame f) { - return s.sequence(f, K1177, K240); + return s.sequence(f, K1194, K240); } private static Match e996(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e996M(s, f) : e996C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e996M : TinyExpressionP4Parser::e996C, K1178, K311, K225, K226, K226, "TinyExpressionP4::StringCaseValue", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23888:23904:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e996M : TinyExpressionP4Parser::e996C, K1195, K323, K225, K226, K226, "TinyExpressionP4::StringCaseValue", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23874:23890:body/0/ruleRef", false, false, "node", false, K227); } private static Match e996C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -11135,37 +11472,37 @@ private static Match e996M(Session s, Frame f) { private static Match e997(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e997M(s, f) : e997C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e997M : TinyExpressionP4Parser::e997C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24021:24142:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e997M : TinyExpressionP4Parser::e997C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24007:24128:body/seq", false, false, "node", true, K4); } private static Match e997C(Session s, Frame f) { - return s.sequence(f, K1179, K220); + return s.sequence(f, K1196, K220); } private static Match e997M(Session s, Frame f) { - return s.sequence(f, K1179, K220); + return s.sequence(f, K1196, K220); } private static Match e998(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e998M(s, f) : e998C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e998M : TinyExpressionP4Parser::e998C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24021:24028:body/0/literal", false, true, "text", false, K1148); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e998M : TinyExpressionP4Parser::e998C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24007:24014:body/0/literal", false, true, "text", false, K1165); } private static Match e998C(Session s, Frame f) { - return s.literal(f, "match", true, false, K1149); + return s.literal(f, "match", true, false, K1166); } private static Match e998M(Session s, Frame f) { - return s.literal(f, "match", true, false, K1149); + return s.literal(f, "match", true, false, K1166); } private static Match e999(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e999M(s, f) : e999C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e999M : TinyExpressionP4Parser::e999C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24029:24032:body/1/literal", false, true, "text", false, K402); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e999M : TinyExpressionP4Parser::e999C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24015:24018:body/1/literal", false, true, "text", false, K417); } private static Match e999C(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e999M(Session s, Frame f) { - return s.literal(f, "{", true, false, K403); + return s.literal(f, "{", true, false, K418); } private static Match e1000(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1000M(s, f) : e1000C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1000M : TinyExpressionP4Parser::e1000C, K1180, K1151, K225, K226, K226, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24039:24050:body/2/ruleRef", false, false, "node", false, K197); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1000M : TinyExpressionP4Parser::e1000C, K1197, K1168, K225, K226, K226, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24025:24036:body/2/ruleRef", false, false, "node", false, K197); } private static Match e1000C(Session s, Frame f) { return parseBooleanCase_118(s, f); @@ -11175,7 +11512,7 @@ private static Match e1000M(Session s, Frame f) { } private static Match e1001(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1001M(s, f) : e1001C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1001M : TinyExpressionP4Parser::e1001C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24062:24092:body/3/repeat", true, false, "node", true, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1001M : TinyExpressionP4Parser::e1001C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24048:24078:body/3/repeat", true, false, "node", true, K404); } private static Match e1001C(Session s, Frame f) { return s.repeat(f, TinyExpressionP4Parser::e1002, 0, Integer.MAX_VALUE, null, Trivia.NONE); @@ -11186,27 +11523,27 @@ private static Match e1001M(Session s, Frame f) { private static Match e1002(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e1002M(s, f) : e1002C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1002M : TinyExpressionP4Parser::e1002C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24064:24079:body/3/0/seq", false, false, "node", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1002M : TinyExpressionP4Parser::e1002C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24050:24065:body/3/0/seq", false, false, "node", false, K404); } private static Match e1002C(Session s, Frame f) { - return s.sequence(f, K1181, K260); + return s.sequence(f, K1198, K271); } private static Match e1002M(Session s, Frame f) { - return s.sequence(f, K1181, K260); + return s.sequence(f, K1198, K271); } private static Match e1003(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1003M(s, f) : e1003C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1003M : TinyExpressionP4Parser::e1003C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24064:24067:body/3/0/0/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1003M : TinyExpressionP4Parser::e1003C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24050:24053:body/3/0/0/literal", false, true, "text", false, K404); } private static Match e1003C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e1003M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e1004(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1004M(s, f) : e1004C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1004M : TinyExpressionP4Parser::e1004C, K1182, K1154, K225, K226, K226, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24068:24079:body/3/0/1/ruleRef", false, false, "node", false, K197); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1004M : TinyExpressionP4Parser::e1004C, K1199, K1171, K225, K226, K226, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24054:24065:body/3/0/1/ruleRef", false, false, "node", false, K197); } private static Match e1004C(Session s, Frame f) { return parseBooleanCase_118(s, f); @@ -11216,17 +11553,17 @@ private static Match e1004M(Session s, Frame f) { } private static Match e1005(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1005M(s, f) : e1005C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1005M : TinyExpressionP4Parser::e1005C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24099:24102:body/4/literal", false, true, "text", false, K389); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1005M : TinyExpressionP4Parser::e1005C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24085:24088:body/4/literal", false, true, "text", false, K404); } private static Match e1005C(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e1005M(Session s, Frame f) { - return s.literal(f, ",", true, false, K392); + return s.literal(f, ",", true, false, K407); } private static Match e1006(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1006M(s, f) : e1006C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1006M : TinyExpressionP4Parser::e1006C, K1183, K1156, K225, K226, K226, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24103:24121:body/5/ruleRef", false, false, "node", false, K199); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1006M : TinyExpressionP4Parser::e1006C, K1200, K1173, K225, K226, K226, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24089:24107:body/5/ruleRef", false, false, "node", false, K199); } private static Match e1006C(Session s, Frame f) { return parseBooleanDefaultCase_119(s, f); @@ -11236,28 +11573,28 @@ private static Match e1006M(Session s, Frame f) { } private static Match e1007(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1007M(s, f) : e1007C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1007M : TinyExpressionP4Parser::e1007C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24139:24142:body/6/literal", false, true, "text", false, K405); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1007M : TinyExpressionP4Parser::e1007C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanMatchExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24125:24128:body/6/literal", false, true, "text", false, K420); } private static Match e1007C(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e1007M(Session s, Frame f) { - return s.literal(f, "}", true, false, K406); + return s.literal(f, "}", true, false, K421); } private static Match e1008(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e1008M(s, f) : e1008C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1008M : TinyExpressionP4Parser::e1008C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24219:24269:body/seq", false, false, "node", true, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1008M : TinyExpressionP4Parser::e1008C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24205:24255:body/seq", false, false, "node", true, K4); } private static Match e1008C(Session s, Frame f) { - return s.sequence(f, K1184, K248); + return s.sequence(f, K1201, K251); } private static Match e1008M(Session s, Frame f) { - return s.sequence(f, K1184, K248); + return s.sequence(f, K1201, K251); } private static Match e1009(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1009M(s, f) : e1009C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1009M : TinyExpressionP4Parser::e1009C, K1185, K510, K225, K226, K226, "TinyExpressionP4::BooleanCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24219:24236:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1009M : TinyExpressionP4Parser::e1009C, K1202, K526, K225, K226, K226, "TinyExpressionP4::BooleanCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24205:24222:body/0/ruleRef", false, false, "node", false, K227); } private static Match e1009C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -11267,17 +11604,17 @@ private static Match e1009M(Session s, Frame f) { } private static Match e1010(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1010M(s, f) : e1010C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1010M : TinyExpressionP4Parser::e1010C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24248:24252:body/1/literal", false, true, "text", false, K197); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1010M : TinyExpressionP4Parser::e1010C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24234:24238:body/1/literal", false, true, "text", false, K197); } private static Match e1010C(Session s, Frame f) { - return s.literal(f, "->", true, false, K1159); + return s.literal(f, "->", true, false, K1176); } private static Match e1010M(Session s, Frame f) { - return s.literal(f, "->", true, false, K1159); + return s.literal(f, "->", true, false, K1176); } private static Match e1011(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1011M(s, f) : e1011C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1011M : TinyExpressionP4Parser::e1011C, K1186, K311, K225, K226, K226, "TinyExpressionP4::BooleanCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24253:24269:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1011M : TinyExpressionP4Parser::e1011C, K1203, K323, K225, K226, K226, "TinyExpressionP4::BooleanCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24239:24255:body/2/ruleRef", false, false, "node", false, K227); } private static Match e1011C(Session s, Frame f) { return parseBooleanCaseValue_120(s, f); @@ -11288,37 +11625,37 @@ private static Match e1011M(Session s, Frame f) { private static Match e1012(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e1012M(s, f) : e1012C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1012M : TinyExpressionP4Parser::e1012C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24355:24386:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1012M : TinyExpressionP4Parser::e1012C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24341:24372:body/seq", false, false, "node", false, K4); } private static Match e1012C(Session s, Frame f) { - return s.sequence(f, K1187, K248); + return s.sequence(f, K1204, K251); } private static Match e1012M(Session s, Frame f) { - return s.sequence(f, K1187, K248); + return s.sequence(f, K1204, K251); } private static Match e1013(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1013M(s, f) : e1013C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1013M : TinyExpressionP4Parser::e1013C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24355:24364:body/0/literal", false, true, "text", false, K1162); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1013M : TinyExpressionP4Parser::e1013C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24341:24350:body/0/literal", false, true, "text", false, K1179); } private static Match e1013C(Session s, Frame f) { - return s.literal(f, "default", true, false, K1163); + return s.literal(f, "default", true, false, K1180); } private static Match e1013M(Session s, Frame f) { - return s.literal(f, "default", true, false, K1163); + return s.literal(f, "default", true, false, K1180); } private static Match e1014(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1014M(s, f) : e1014C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1014M : TinyExpressionP4Parser::e1014C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24365:24369:body/1/literal", false, true, "text", false, K197); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1014M : TinyExpressionP4Parser::e1014C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24351:24355:body/1/literal", false, true, "text", false, K197); } private static Match e1014C(Session s, Frame f) { - return s.literal(f, "->", true, false, K1159); + return s.literal(f, "->", true, false, K1176); } private static Match e1014M(Session s, Frame f) { - return s.literal(f, "->", true, false, K1159); + return s.literal(f, "->", true, false, K1176); } private static Match e1015(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1015M(s, f) : e1015C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1015M : TinyExpressionP4Parser::e1015C, K1188, K311, K225, K226, K226, "TinyExpressionP4::BooleanDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24370:24386:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1015M : TinyExpressionP4Parser::e1015C, K1205, K323, K225, K226, K226, "TinyExpressionP4::BooleanDefaultCase", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24356:24372:body/2/ruleRef", false, false, "node", false, K227); } private static Match e1015C(Session s, Frame f) { return parseBooleanCaseValue_120(s, f); @@ -11329,17 +11666,17 @@ private static Match e1015M(Session s, Frame f) { private static Match e1016(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e1016M(s, f) : e1016C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1016M : TinyExpressionP4Parser::e1016C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanCaseValue", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24468:24485:body/seq", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1016M : TinyExpressionP4Parser::e1016C, K216, K216, K216, K217, K217, "TinyExpressionP4::BooleanCaseValue", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24454:24471:body/seq", false, false, "node", false, K4); } private static Match e1016C(Session s, Frame f) { - return s.sequence(f, K1189, K240); + return s.sequence(f, K1206, K240); } private static Match e1016M(Session s, Frame f) { - return s.sequence(f, K1189, K240); + return s.sequence(f, K1206, K240); } private static Match e1017(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1017M(s, f) : e1017C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1017M : TinyExpressionP4Parser::e1017C, K1190, K311, K225, K226, K226, "TinyExpressionP4::BooleanCaseValue", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24468:24485:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1017M : TinyExpressionP4Parser::e1017C, K1207, K323, K225, K226, K226, "TinyExpressionP4::BooleanCaseValue", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24454:24471:body/0/ruleRef", false, false, "node", false, K227); } private static Match e1017C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -11350,36 +11687,36 @@ private static Match e1017M(Session s, Frame f) { private static Match e1018(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e1018M(s, f) : e1018C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1018M : TinyExpressionP4Parser::e1018C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24698:24749:body/seq", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1018M : TinyExpressionP4Parser::e1018C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24684:24735:body/seq", false, false, "text", false, K4); } private static Match e1018C(Session s, Frame f) { - return s.sequence(f, K1191, K248); + return s.sequence(f, K1208, K251); } private static Match e1018M(Session s, Frame f) { - return s.sequence(f, K1191, K248); + return s.sequence(f, K1208, K251); } private static Match e1019(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1019M(s, f) : e1019C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1019M : TinyExpressionP4Parser::e1019C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24698:24701:body/0/literal", false, true, "text", false, K50); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1019M : TinyExpressionP4Parser::e1019C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24684:24687:body/0/literal", false, true, "text", false, K50); } private static Match e1019C(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e1019M(Session s, Frame f) { - return s.literal(f, "$", true, false, K300); + return s.literal(f, "$", true, false, K312); } private static Match e1020(Session s, Frame f) { - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1020M : TinyExpressionP4Parser::e1020C, K1192, K464, K225, K226, K303, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24702:24712:body/1/tokenRef", false, true, "text", false, K265); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1020M : TinyExpressionP4Parser::e1020C, K1209, K479, K225, K226, K315, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24688:24698:body/1/tokenRef", false, true, "text", false, K276); } private static Match e1020C(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e1020M(Session s, Frame f) { - return s.builtin(f,"Identifier",K237,K266); + return org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.parse(s,f,K277,K278); } private static Match e1021(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1021M(s, f) : e1021C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1021M : TinyExpressionP4Parser::e1021C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24719:24749:body/2/optional", true, false, "text", false, K304); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1021M : TinyExpressionP4Parser::e1021C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24705:24735:body/2/optional", true, false, "text", false, K316); } private static Match e1021C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e1022); @@ -11390,17 +11727,17 @@ private static Match e1021M(Session s, Frame f) { private static Match e1022(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e1022M(s, f) : e1022C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1022M : TinyExpressionP4Parser::e1022C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24721:24741:body/2/0/seq", false, false, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1022M : TinyExpressionP4Parser::e1022C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24707:24727:body/2/0/seq", false, false, "text", false, K279); } private static Match e1022C(Session s, Frame f) { - return s.sequence(f, K1193, K260); + return s.sequence(f, K1210, K271); } private static Match e1022M(Session s, Frame f) { - return s.sequence(f, K1193, K260); + return s.sequence(f, K1210, K271); } private static Match e1023(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1023M(s, f) : e1023C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1023M : TinyExpressionP4Parser::e1023C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24721:24729:body/2/0/0/optional", true, false, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1023M : TinyExpressionP4Parser::e1023C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24707:24715:body/2/0/0/optional", true, false, "text", false, K279); } private static Match e1023C(Session s, Frame f) { return s.optional(f, TinyExpressionP4Parser::e1024); @@ -11410,17 +11747,17 @@ private static Match e1023M(Session s, Frame f) { } private static Match e1024(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1024M(s, f) : e1024C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1024M : TinyExpressionP4Parser::e1024C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24723:24727:body/2/0/0/0/literal", false, true, "text", false, K267); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1024M : TinyExpressionP4Parser::e1024C, K216, K216, K216, K217, K217, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24709:24713:body/2/0/0/0/literal", false, true, "text", false, K279); } private static Match e1024C(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e1024M(Session s, Frame f) { - return s.literal(f, "as", true, false, K268); + return s.literal(f, "as", true, false, K280); } private static Match e1025(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1025M(s, f) : e1025C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1025M : TinyExpressionP4Parser::e1025C, K1194, K429, K225, K226, K226, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24730:24741:body/2/0/1/ruleRef", false, false, "text", false, K214); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1025M : TinyExpressionP4Parser::e1025C, K1211, K444, K225, K226, K226, "TinyExpressionP4::VariableRef", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24716:24727:body/2/0/1/ruleRef", false, false, "text", false, K214); } private static Match e1025C(Session s, Frame f) { return parseTypeKeyword_122(s, f); @@ -11430,127 +11767,127 @@ private static Match e1025M(Session s, Frame f) { } private static Match e1026(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1026M(s, f) : e1026C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1026M : TinyExpressionP4Parser::e1026C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24771:24882:body/choice", false, false, "text", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1026M : TinyExpressionP4Parser::e1026C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24757:24868:body/choice", false, false, "text", false, K4); } private static Match e1026C(Session s, Frame f) { - return s.choice(f,K1195,false,null,false); + return s.choice(f,K1212,false,null,false); } private static Match e1026M(Session s, Frame f) { - return s.choice(f,K1195,false,null,false); + return s.choice(f,K1212,false,null,false); } private static Match e1027(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1027M(s, f) : e1027C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1027M : TinyExpressionP4Parser::e1027C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24771:24779:body/0/literal", false, true, "text", false, K338); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1027M : TinyExpressionP4Parser::e1027C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24757:24765:body/0/literal", false, true, "text", false, K350); } private static Match e1027C(Session s, Frame f) { - return s.literal(f, "number", true, false, K339); + return s.literal(f, "number", true, false, K351); } private static Match e1027M(Session s, Frame f) { - return s.literal(f, "number", true, false, K339); + return s.literal(f, "number", true, false, K351); } private static Match e1028(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1028M(s, f) : e1028C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1028M : TinyExpressionP4Parser::e1028C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24782:24790:body/1/literal", false, true, "text", false, K340); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1028M : TinyExpressionP4Parser::e1028C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24768:24776:body/1/literal", false, true, "text", false, K352); } private static Match e1028C(Session s, Frame f) { - return s.literal(f, "Number", true, false, K341); + return s.literal(f, "Number", true, false, K353); } private static Match e1028M(Session s, Frame f) { - return s.literal(f, "Number", true, false, K341); + return s.literal(f, "Number", true, false, K353); } private static Match e1029(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1029M(s, f) : e1029C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1029M : TinyExpressionP4Parser::e1029C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24793:24800:body/2/literal", false, true, "text", false, K354); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1029M : TinyExpressionP4Parser::e1029C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24779:24786:body/2/literal", false, true, "text", false, K366); } private static Match e1029C(Session s, Frame f) { - return s.literal(f, "float", true, false, K355); + return s.literal(f, "float", true, false, K367); } private static Match e1029M(Session s, Frame f) { - return s.literal(f, "float", true, false, K355); + return s.literal(f, "float", true, false, K367); } private static Match e1030(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1030M(s, f) : e1030C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1030M : TinyExpressionP4Parser::e1030C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24803:24810:body/3/literal", false, true, "text", false, K356); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1030M : TinyExpressionP4Parser::e1030C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24789:24796:body/3/literal", false, true, "text", false, K368); } private static Match e1030C(Session s, Frame f) { - return s.literal(f, "Float", true, false, K357); + return s.literal(f, "Float", true, false, K369); } private static Match e1030M(Session s, Frame f) { - return s.literal(f, "Float", true, false, K357); + return s.literal(f, "Float", true, false, K369); } private static Match e1031(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1031M(s, f) : e1031C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1031M : TinyExpressionP4Parser::e1031C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24817:24825:body/4/literal", false, true, "text", false, K52); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1031M : TinyExpressionP4Parser::e1031C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24803:24811:body/4/literal", false, true, "text", false, K52); } private static Match e1031C(Session s, Frame f) { - return s.literal(f, "string", true, false, K342); + return s.literal(f, "string", true, false, K354); } private static Match e1031M(Session s, Frame f) { - return s.literal(f, "string", true, false, K342); + return s.literal(f, "string", true, false, K354); } private static Match e1032(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1032M(s, f) : e1032C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1032M : TinyExpressionP4Parser::e1032C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24828:24836:body/5/literal", false, true, "text", false, K343); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1032M : TinyExpressionP4Parser::e1032C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24814:24822:body/5/literal", false, true, "text", false, K355); } private static Match e1032C(Session s, Frame f) { - return s.literal(f, "String", true, false, K344); + return s.literal(f, "String", true, false, K356); } private static Match e1032M(Session s, Frame f) { - return s.literal(f, "String", true, false, K344); + return s.literal(f, "String", true, false, K356); } private static Match e1033(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1033M(s, f) : e1033C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1033M : TinyExpressionP4Parser::e1033C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24839:24848:body/6/literal", false, true, "text", false, K53); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1033M : TinyExpressionP4Parser::e1033C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24825:24834:body/6/literal", false, true, "text", false, K53); } private static Match e1033C(Session s, Frame f) { - return s.literal(f, "boolean", true, false, K345); + return s.literal(f, "boolean", true, false, K357); } private static Match e1033M(Session s, Frame f) { - return s.literal(f, "boolean", true, false, K345); + return s.literal(f, "boolean", true, false, K357); } private static Match e1034(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1034M(s, f) : e1034C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1034M : TinyExpressionP4Parser::e1034C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24851:24860:body/7/literal", false, true, "text", false, K346); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1034M : TinyExpressionP4Parser::e1034C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24837:24846:body/7/literal", false, true, "text", false, K358); } private static Match e1034C(Session s, Frame f) { - return s.literal(f, "Boolean", true, false, K347); + return s.literal(f, "Boolean", true, false, K359); } private static Match e1034M(Session s, Frame f) { - return s.literal(f, "Boolean", true, false, K347); + return s.literal(f, "Boolean", true, false, K359); } private static Match e1035(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1035M(s, f) : e1035C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1035M : TinyExpressionP4Parser::e1035C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24863:24871:body/8/literal", false, true, "text", false, K54); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1035M : TinyExpressionP4Parser::e1035C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24849:24857:body/8/literal", false, true, "text", false, K54); } private static Match e1035C(Session s, Frame f) { - return s.literal(f, "object", true, false, K348); + return s.literal(f, "object", true, false, K360); } private static Match e1035M(Session s, Frame f) { - return s.literal(f, "object", true, false, K348); + return s.literal(f, "object", true, false, K360); } private static Match e1036(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1036M(s, f) : e1036C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1036M : TinyExpressionP4Parser::e1036C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24874:24882:body/9/literal", false, true, "text", false, K349); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1036M : TinyExpressionP4Parser::e1036C, K216, K216, K216, K217, K217, "TinyExpressionP4::TypeKeyword", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24860:24868:body/9/literal", false, true, "text", false, K361); } private static Match e1036C(Session s, Frame f) { - return s.literal(f, "Object", true, false, K350); + return s.literal(f, "Object", true, false, K362); } private static Match e1036M(Session s, Frame f) { - return s.literal(f, "Object", true, false, K350); + return s.literal(f, "Object", true, false, K362); } private static Match e1037(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1037M(s, f) : e1037C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1037M : TinyExpressionP4Parser::e1037C, K216, K216, K216, K217, K217, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25201:25377:body/choice", false, false, "node", false, K4); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1037M : TinyExpressionP4Parser::e1037C, K216, K216, K216, K217, K217, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25187:25363:body/choice", false, false, "node", false, K4); } private static Match e1037C(Session s, Frame f) { - return s.choice(f,K1197,false,null,false,K1196); + return s.choice(f,K1214,false,null,false,K1213); } private static Match e1037M(Session s, Frame f) { - return s.choice(f,K1197,false,null,false,K1196); + return s.choice(f,K1214,false,null,false,K1213); } private static Match e1038(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1038M(s, f) : e1038C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1038M : TinyExpressionP4Parser::e1038C, K1198, K311, K225, K226, K226, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25201:25217:body/0/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1038M : TinyExpressionP4Parser::e1038C, K1215, K323, K225, K226, K226, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25187:25203:body/0/ruleRef", false, false, "node", false, K227); } private static Match e1038C(Session s, Frame f) { return parseNumberExpression_40(s, f); @@ -11560,7 +11897,7 @@ private static Match e1038M(Session s, Frame f) { } private static Match e1039(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1039M(s, f) : e1039C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1039M : TinyExpressionP4Parser::e1039C, K1199, K311, K225, K226, K226, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25231:25248:body/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1039M : TinyExpressionP4Parser::e1039C, K1216, K323, K225, K226, K226, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25217:25234:body/1/ruleRef", false, false, "node", false, K227); } private static Match e1039C(Session s, Frame f) { return parseBooleanExpression_94(s, f); @@ -11570,7 +11907,7 @@ private static Match e1039M(Session s, Frame f) { } private static Match e1040(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1040M(s, f) : e1040C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1040M : TinyExpressionP4Parser::e1040C, K1200, K311, K225, K226, K226, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25262:25278:body/2/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1040M : TinyExpressionP4Parser::e1040C, K1217, K323, K225, K226, K226, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25248:25264:body/2/ruleRef", false, false, "node", false, K227); } private static Match e1040C(Session s, Frame f) { return parseStringExpression_89(s, f); @@ -11580,7 +11917,7 @@ private static Match e1040M(Session s, Frame f) { } private static Match e1041(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1041M(s, f) : e1041C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1041M : TinyExpressionP4Parser::e1041C, K1201, K311, K225, K226, K226, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25292:25308:body/3/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1041M : TinyExpressionP4Parser::e1041C, K1218, K323, K225, K226, K226, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25278:25294:body/3/ruleRef", false, false, "node", false, K227); } private static Match e1041C(Session s, Frame f) { return parseObjectExpression_105(s, f); @@ -11590,7 +11927,7 @@ private static Match e1041M(Session s, Frame f) { } private static Match e1042(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1042M(s, f) : e1042C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1042M : TinyExpressionP4Parser::e1042C, K1202, K311, K225, K226, K226, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25322:25338:body/4/ruleRef", false, false, "node", false, K161); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1042M : TinyExpressionP4Parser::e1042C, K1219, K323, K225, K226, K226, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25308:25324:body/4/ruleRef", false, false, "node", false, K161); } private static Match e1042C(Session s, Frame f) { return parseMethodInvocation_36(s, f); @@ -11601,27 +11938,27 @@ private static Match e1042M(Session s, Frame f) { private static Match e1043(Session s, Frame f) { f.reset = false; if (s.bypassWrap) { Match r = f.matched ? e1043M(s, f) : e1043C(s, f); s.progress(f); return s.tree ? s.project(r, false) : r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1043M : TinyExpressionP4Parser::e1043C, K216, K216, K216, K217, K217, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25352:25377:body/5/seq", false, false, "node", false, K161); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1043M : TinyExpressionP4Parser::e1043C, K216, K216, K216, K217, K217, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25338:25363:body/5/seq", false, false, "node", false, K161); } private static Match e1043C(Session s, Frame f) { - return s.sequence(f, K1203, K248); + return s.sequence(f, K1220, K251); } private static Match e1043M(Session s, Frame f) { - return s.sequence(f, K1203, K248); + return s.sequence(f, K1220, K251); } private static Match e1044(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1044M(s, f) : e1044C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1044M : TinyExpressionP4Parser::e1044C, K216, K216, K216, K217, K217, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25352:25355:body/5/0/literal", false, true, "text", false, K384); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1044M : TinyExpressionP4Parser::e1044C, K216, K216, K216, K217, K217, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25338:25341:body/5/0/literal", false, true, "text", false, K399); } private static Match e1044C(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e1044M(Session s, Frame f) { - return s.literal(f, "(", true, false, K385); + return s.literal(f, "(", true, false, K400); } private static Match e1045(Session s, Frame f) { if (s.bypassCapture) { Match r = f.matched ? e1045M(s, f) : e1045C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1045M : TinyExpressionP4Parser::e1045C, K1204, K311, K225, K226, K226, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25356:25366:body/5/1/ruleRef", false, false, "node", false, K227); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1045M : TinyExpressionP4Parser::e1045C, K1221, K323, K225, K226, K226, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25342:25352:body/5/1/ruleRef", false, false, "node", false, K227); } private static Match e1045C(Session s, Frame f) { return parseExpression_123(s, f); @@ -11631,38 +11968,38 @@ private static Match e1045M(Session s, Frame f) { } private static Match e1046(Session s, Frame f) { if (s.bypassWrap) { Match r = f.matched ? e1046M(s, f) : e1046C(s, f); s.progress(f); return r; } - return s.capture(f, f.matched ? TinyExpressionP4Parser::e1046M : TinyExpressionP4Parser::e1046C, K216, K216, K216, K217, K217, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25374:25377:body/5/2/literal", false, true, "text", false, K386); + return s.capture(f, f.matched ? TinyExpressionP4Parser::e1046M : TinyExpressionP4Parser::e1046C, K216, K216, K216, K217, K217, "TinyExpressionP4::Expression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25360:25363:body/5/2/literal", false, true, "text", false, K401); } private static Match e1046C(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static Match e1046M(Session s, Frame f) { - return s.literal(f, ")", true, false, K387); + return s.literal(f, ")", true, false, K402); } private static final String[] K0 = new String[]{"Formula","CodeBlock","ImportDeclaration","ClassName","VariableDeclaration","NumberVariableDeclaration","StringVariableDeclaration","BooleanVariableDeclaration","ObjectVariableDeclaration","TypeHint","NumberTypeHint","StringTypeHint","BooleanTypeHint","ObjectTypeHint","OnlyIfAbsent","Description","Annotation","AnnotationParameters","AnnotationParameter","MethodDeclaration","NumberMethodDeclaration","StringMethodDeclaration","BooleanMethodDeclaration","ObjectMethodDeclaration","MethodParameters","MethodParameter","NumberReturnType","StringReturnType","BooleanReturnType","ObjectReturnType","ReturnType","ExternalBooleanInvocation","ExternalNumberInvocation","ExternalStringInvocation","ExternalObjectInvocation","MethodInvocationHeader","MethodInvocation","ArgumentTernary","ArgumentExpression","Arguments","NumberExpression","NumberTerm","AddOp","MulOp","MathFunction","SinFunction","CosFunction","TanFunction","SqrtFunction","MinFunction","MaxFunction","RandomFunction","AbsFunction","RoundFunction","CeilFunction","FloorFunction","PowFunction","LogFunction","ExpFunction","ToNumFunction","NumberFactor","ToUpperCaseFunction","ToLowerCaseFunction","TrimFunction","LengthFunction","LenFunction","ToUpperCaseDotMethod","ToLowerCaseDotMethod","TrimDotMethod","LengthDotMethod","StartsWithFunction","EndsWithFunction","ContainsFunction","InMethod","StartsWithDotMethod","EndsWithDotMethod","ContainsDotMethod","StringPredicateReceiver","IsPresentFunction","InTimeRangeFunction","InDayTimeRangeFunction","DayOfWeek","SliceBaseReceiver","SliceStartIndex","SliceEndIndex","SliceStepIndex","SliceBaseExpression","SliceNestedExpression","SliceExpression","StringExpression","ParenthesizedStringExpression","StringTerm","StringCastVariable","StringTypedVariable","BooleanExpression","BooleanAndExpression","BooleanXorExpression","NotExpression","BooleanComparable","BooleanEqualityExpression","BooleanFactor","StringComparisonExpression","EqualityOp","ComparisonExpression","CompareOp","ObjectExpression","IfExpression","BranchExpression","TernaryExpression","NumberMatchExpression","NumberCase","NumberDefaultCase","NumberCaseValue","StringMatchExpression","StringCase","StringDefaultCase","StringCaseValue","BooleanMatchExpression","BooleanCase","BooleanDefaultCase","BooleanCaseValue","VariableRef","TypeKeyword","Expression"}; - private static final Map K1 = Map.ofEntries(Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24702:24712:body/1/tokenRef/capture/0","variable"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24730:24741:body/2/0/1/ruleRef/capture/0","variable")); - private static final Fields K2 = new Fields(new Field("imports",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1049:1066:body/1/0/ruleRef/capture/0"},"node","list"),new Field("declarations",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1080:1099:body/2/0/ruleRef/capture/0"},"mixed","list"),new Field("expression",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1135:1145:body/4/ruleRef/capture/0"},"node","scalar"),new Field("methods",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1160:1177:body/5/0/ruleRef/capture/0"},"mixed","list"),new Field("codeBlocks",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1023:1032:body/0/0/ruleRef/capture/0"},"node","list")); + private static final Map K1 = Map.ofEntries(Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24688:24698:body/1/tokenRef/capture/0","variable"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24716:24727:body/2/0/1/ruleRef/capture/0","variable")); + private static final Fields K2 = new Fields(new Field("imports",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1035:1052:body/1/0/ruleRef/capture/0"},"node","list"),new Field("declarations",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1066:1085:body/2/0/ruleRef/capture/0"},"mixed","list"),new Field("expression",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1121:1131:body/4/ruleRef/capture/0"},"node","scalar"),new Field("methods",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1146:1163:body/5/0/ruleRef/capture/0"},"mixed","list"),new Field("codeBlocks",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1009:1018:body/0/0/ruleRef/capture/0"},"node","list")); private static final Effect[] K3 = new Effect[]{new Effect("entry","enter",null,"Formula","lexical"),new Effect("successBeforeLeave","leave",null,"Formula","lexical")}; private static final Label[] K4 = new Label[]{}; private static final Label[] K5 = new Label[]{Label.of("FormulaParser")}; - private static final Fields K6 = new Fields(new Field("source",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1625:1676:body/0/group/capture/0"},"text","scalar")); + private static final Fields K6 = new Fields(new Field("source",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1611:1662:body/0/group/capture/0"},"text","scalar")); private static final Effect[] K7 = new Effect[]{}; private static final Label[] K8 = new Label[]{Label.of("CodeBlockParser")}; - private static final Fields K9 = new Fields(new Field("className",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2141:2150:body/1/ruleRef/capture/0"},"node","scalar"),new Field("method",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2168:2178:body/2/0/1/tokenRef/capture/0"},"text","optional"),new Field("alias",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2194:2204:body/4/tokenRef/capture/0"},"text","scalar")); + private static final Fields K9 = new Fields(new Field("className",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2127:2136:body/1/ruleRef/capture/0"},"node","scalar"),new Field("method",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2154:2164:body/2/0/1/tokenRef/capture/0"},"text","optional"),new Field("alias",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2180:2190:body/4/tokenRef/capture/0"},"text","scalar")); private static final Label[] K10 = new Label[]{Label.of("'import'"),Label.of("'as'"),Label.of("';'")}; - private static final Fields K11 = new Fields(new Field("head",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2286:2296:body/0/tokenRef/capture/0"},"text","scalar"),new Field("tail",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2309:2319:body/1/0/1/tokenRef/capture/0"},"text","list")); + private static final Fields K11 = new Fields(new Field("head",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2272:2282:body/0/tokenRef/capture/0"},"text","scalar"),new Field("tail",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2295:2305:body/1/0/1/tokenRef/capture/0"},"text","list")); private static final Label[] K12 = new Label[]{Label.of("ClassNameParser")}; private static final Fields K13 = Fields.NONE; private static final Label[] K14 = new Label[]{Label.of("'$'"),Label.of("';'")}; - private static final Fields K15 = new Fields(new Field("varName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2804:2814:body/2/tokenRef/capture/0"},"text","scalar"),new Field("onlyIfAbsent",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2861:2873:body/4/0/1/0/ruleRef/capture/0"},"node","optional"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2890:2906:body/4/0/2/ruleRef/capture/0"},"node","optional"),new Field("desc",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2922:2933:body/5/0/ruleRef/capture/0"},"text","optional")); - private static final Effect[] K16 = new Effect[]{new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2804:2814:body/2/tokenRef/capture/0","varName","lexical")}; + private static final Fields K15 = new Fields(new Field("varName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2790:2800:body/2/tokenRef/capture/0"},"text","scalar"),new Field("onlyIfAbsent",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2847:2859:body/4/0/1/0/ruleRef/capture/0"},"node","optional"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2876:2892:body/4/0/2/ruleRef/capture/0"},"node","optional"),new Field("desc",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2908:2919:body/5/0/ruleRef/capture/0"},"text","optional")); + private static final Effect[] K16 = new Effect[]{new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2790:2800:body/2/tokenRef/capture/0","varName","lexical")}; private static final Label[] K17 = new Label[]{Label.of("'variable'"),Label.of("'var'"),Label.of("'$'"),Label.of("';'")}; - private static final Fields K18 = new Fields(new Field("varName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3153:3163:body/2/tokenRef/capture/0"},"text","scalar"),new Field("onlyIfAbsent",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3210:3222:body/4/0/1/0/ruleRef/capture/0"},"node","optional"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3239:3255:body/4/0/2/ruleRef/capture/0"},"node","optional"),new Field("desc",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3271:3282:body/5/0/ruleRef/capture/0"},"text","optional")); - private static final Effect[] K19 = new Effect[]{new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3153:3163:body/2/tokenRef/capture/0","varName","lexical")}; - private static final Fields K20 = new Fields(new Field("varName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3504:3514:body/2/tokenRef/capture/0"},"text","scalar"),new Field("onlyIfAbsent",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3562:3574:body/4/0/1/0/ruleRef/capture/0"},"node","optional"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3591:3608:body/4/0/2/ruleRef/capture/0"},"node","optional"),new Field("desc",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3624:3635:body/5/0/ruleRef/capture/0"},"text","optional")); - private static final Effect[] K21 = new Effect[]{new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3504:3514:body/2/tokenRef/capture/0","varName","lexical")}; - private static final Fields K22 = new Fields(new Field("varName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3855:3865:body/2/tokenRef/capture/0"},"text","scalar"),new Field("onlyIfAbsent",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3912:3924:body/4/0/1/0/ruleRef/capture/0"},"node","optional"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3941:3957:body/4/0/2/ruleRef/capture/0"},"node","optional"),new Field("desc",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3973:3984:body/5/0/ruleRef/capture/0"},"text","optional")); - private static final Effect[] K23 = new Effect[]{new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3855:3865:body/2/tokenRef/capture/0","varName","lexical")}; + private static final Fields K18 = new Fields(new Field("varName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3139:3149:body/2/tokenRef/capture/0"},"text","scalar"),new Field("onlyIfAbsent",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3196:3208:body/4/0/1/0/ruleRef/capture/0"},"node","optional"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3225:3241:body/4/0/2/ruleRef/capture/0"},"node","optional"),new Field("desc",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3257:3268:body/5/0/ruleRef/capture/0"},"text","optional")); + private static final Effect[] K19 = new Effect[]{new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3139:3149:body/2/tokenRef/capture/0","varName","lexical")}; + private static final Fields K20 = new Fields(new Field("varName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3490:3500:body/2/tokenRef/capture/0"},"text","scalar"),new Field("onlyIfAbsent",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3548:3560:body/4/0/1/0/ruleRef/capture/0"},"node","optional"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3577:3594:body/4/0/2/ruleRef/capture/0"},"node","optional"),new Field("desc",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3610:3621:body/5/0/ruleRef/capture/0"},"text","optional")); + private static final Effect[] K21 = new Effect[]{new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3490:3500:body/2/tokenRef/capture/0","varName","lexical")}; + private static final Fields K22 = new Fields(new Field("varName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3841:3851:body/2/tokenRef/capture/0"},"text","scalar"),new Field("onlyIfAbsent",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3898:3910:body/4/0/1/0/ruleRef/capture/0"},"node","optional"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3927:3943:body/4/0/2/ruleRef/capture/0"},"node","optional"),new Field("desc",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3959:3970:body/5/0/ruleRef/capture/0"},"text","optional")); + private static final Effect[] K23 = new Effect[]{new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3841:3851:body/2/tokenRef/capture/0","varName","lexical")}; private static final Label[] K24 = new Label[]{Label.of("'as'"),Label.of("'number'"),Label.of("'Number'"),Label.of("'string'"),Label.of("'String'"),Label.of("'boolean'"),Label.of("'Boolean'"),Label.of("'object'"),Label.of("'Object'")}; private static final Label[] K25 = new Label[]{Label.of("'as'"),Label.of("'number'"),Label.of("'Number'"),Label.of("'float'"),Label.of("'Float'")}; private static final Label[] K26 = new Label[]{Label.of("'as'"),Label.of("'string'"),Label.of("'String'")}; @@ -11673,188 +12010,188 @@ private static Match e1046M(Session s, Frame f) { private static final Label[] K31 = new Label[]{Label.of("'@'"),Label.of("'('"),Label.of("')'")}; private static final Label[] K32 = new Label[]{Label.of("'='")}; private static final Label[] K33 = new Label[]{Label.of("'('"),Label.of("')'"),Label.of("'{'"),Label.of("'}'")}; - private static final Fields K34 = new Fields(new Field("methodName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5033:5043:body/1/tokenRef/capture/0"},"text","scalar"),new Field("parameters",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5072:5088:body/3/0/ruleRef/capture/0"},"node","optional"),new Field("expression",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5125:5141:body/6/ruleRef/capture/0"},"node","scalar")); - private static final Effect[] K35 = new Effect[]{new Effect("entry","enter",null,"NumberMethodDeclaration","lexical"),new Effect("successBeforeLeave","leave",null,"NumberMethodDeclaration","lexical"),new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5033:5043:body/1/tokenRef/capture/0","methodName","lexical")}; + private static final Fields K34 = new Fields(new Field("methodName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5019:5029:body/1/tokenRef/capture/0"},"text","scalar"),new Field("parameters",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5058:5074:body/3/0/ruleRef/capture/0"},"node","optional"),new Field("expression",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5111:5127:body/6/ruleRef/capture/0"},"node","scalar")); + private static final Effect[] K35 = new Effect[]{new Effect("entry","enter",null,"NumberMethodDeclaration","lexical"),new Effect("successBeforeLeave","leave",null,"NumberMethodDeclaration","lexical"),new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5019:5029:body/1/tokenRef/capture/0","methodName","lexical")}; private static final Label[] K36 = new Label[]{Label.of("'number'"),Label.of("'float'"),Label.of("'('"),Label.of("')'"),Label.of("'{'"),Label.of("'}'")}; - private static final Fields K37 = new Fields(new Field("methodName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5359:5369:body/1/tokenRef/capture/0"},"text","scalar"),new Field("parameters",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5398:5414:body/3/0/ruleRef/capture/0"},"node","optional"),new Field("expression",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5451:5467:body/6/ruleRef/capture/0"},"node","scalar")); - private static final Effect[] K38 = new Effect[]{new Effect("entry","enter",null,"StringMethodDeclaration","lexical"),new Effect("successBeforeLeave","leave",null,"StringMethodDeclaration","lexical"),new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5359:5369:body/1/tokenRef/capture/0","methodName","lexical")}; + private static final Fields K37 = new Fields(new Field("methodName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5345:5355:body/1/tokenRef/capture/0"},"text","scalar"),new Field("parameters",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5384:5400:body/3/0/ruleRef/capture/0"},"node","optional"),new Field("expression",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5437:5453:body/6/ruleRef/capture/0"},"node","scalar")); + private static final Effect[] K38 = new Effect[]{new Effect("entry","enter",null,"StringMethodDeclaration","lexical"),new Effect("successBeforeLeave","leave",null,"StringMethodDeclaration","lexical"),new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5345:5355:body/1/tokenRef/capture/0","methodName","lexical")}; private static final Label[] K39 = new Label[]{Label.of("'string'"),Label.of("'('"),Label.of("')'"),Label.of("'{'"),Label.of("'}'")}; - private static final Fields K40 = new Fields(new Field("methodName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5688:5698:body/1/tokenRef/capture/0"},"text","scalar"),new Field("parameters",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5727:5743:body/3/0/ruleRef/capture/0"},"node","optional"),new Field("expression",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5780:5797:body/6/ruleRef/capture/0"},"node","scalar")); - private static final Effect[] K41 = new Effect[]{new Effect("entry","enter",null,"BooleanMethodDeclaration","lexical"),new Effect("successBeforeLeave","leave",null,"BooleanMethodDeclaration","lexical"),new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5688:5698:body/1/tokenRef/capture/0","methodName","lexical")}; + private static final Fields K40 = new Fields(new Field("methodName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5674:5684:body/1/tokenRef/capture/0"},"text","scalar"),new Field("parameters",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5713:5729:body/3/0/ruleRef/capture/0"},"node","optional"),new Field("expression",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5766:5783:body/6/ruleRef/capture/0"},"node","scalar")); + private static final Effect[] K41 = new Effect[]{new Effect("entry","enter",null,"BooleanMethodDeclaration","lexical"),new Effect("successBeforeLeave","leave",null,"BooleanMethodDeclaration","lexical"),new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5674:5684:body/1/tokenRef/capture/0","methodName","lexical")}; private static final Label[] K42 = new Label[]{Label.of("'boolean'"),Label.of("'('"),Label.of("')'"),Label.of("'{'"),Label.of("'}'")}; - private static final Fields K43 = new Fields(new Field("methodName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6015:6025:body/1/tokenRef/capture/0"},"text","scalar"),new Field("parameters",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6054:6070:body/3/0/ruleRef/capture/0"},"node","optional"),new Field("expression",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6107:6123:body/6/ruleRef/capture/0"},"node","scalar")); - private static final Effect[] K44 = new Effect[]{new Effect("entry","enter",null,"ObjectMethodDeclaration","lexical"),new Effect("successBeforeLeave","leave",null,"ObjectMethodDeclaration","lexical"),new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6015:6025:body/1/tokenRef/capture/0","methodName","lexical")}; + private static final Fields K43 = new Fields(new Field("methodName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6001:6011:body/1/tokenRef/capture/0"},"text","scalar"),new Field("parameters",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6040:6056:body/3/0/ruleRef/capture/0"},"node","optional"),new Field("expression",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6093:6109:body/6/ruleRef/capture/0"},"node","scalar")); + private static final Effect[] K44 = new Effect[]{new Effect("entry","enter",null,"ObjectMethodDeclaration","lexical"),new Effect("successBeforeLeave","leave",null,"ObjectMethodDeclaration","lexical"),new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6001:6011:body/1/tokenRef/capture/0","methodName","lexical")}; private static final Label[] K45 = new Label[]{Label.of("'object'"),Label.of("'('"),Label.of("')'"),Label.of("'{'"),Label.of("'}'")}; - private static final Fields K46 = new Fields(new Field("values",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6220:6235:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6250:6265:body/1/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K46 = new Fields(new Field("values",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6206:6221:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6236:6251:body/1/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K47 = new Label[]{Label.of("MethodParametersParser")}; - private static final Fields K48 = new Fields(new Field("paramName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6393:6403:body/1/tokenRef/capture/0"},"text","scalar"),new Field("type",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6422:6432:body/2/0/1/ruleRef/capture/0"},"text","optional")); - private static final Effect[] K49 = new Effect[]{new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6393:6403:body/1/tokenRef/capture/0","paramName","lexical")}; + private static final Fields K48 = new Fields(new Field("paramName",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6379:6389:body/1/tokenRef/capture/0"},"text","scalar"),new Field("type",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6408:6418:body/2/0/1/ruleRef/capture/0"},"text","optional")); + private static final Effect[] K49 = new Effect[]{new Effect("successAfterLeave","declare","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6379:6389:body/1/tokenRef/capture/0","paramName","lexical")}; private static final Label[] K50 = new Label[]{Label.of("'$'")}; private static final Label[] K51 = new Label[]{Label.of("'number'"),Label.of("'float'")}; private static final Label[] K52 = new Label[]{Label.of("'string'")}; private static final Label[] K53 = new Label[]{Label.of("'boolean'")}; private static final Label[] K54 = new Label[]{Label.of("'object'")}; private static final Label[] K55 = new Label[]{Label.of("'number'"),Label.of("'float'"),Label.of("'string'"),Label.of("'boolean'"),Label.of("'object'")}; - private static final Fields K56 = new Fields(new Field("className",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7081:7090:body/4/0/0/0/ruleRef/capture/0"},"node","optional"),new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7106:7116:body/4/0/0/2/tokenRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7125:7135:body/4/0/1/tokenRef/capture/0"},"text","scalar"),new Field("args",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7154:7163:body/6/0/ruleRef/capture/0"},"node","optional")); + private static final Fields K56 = new Fields(new Field("className",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7067:7076:body/4/0/0/0/ruleRef/capture/0"},"node","optional"),new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7092:7102:body/4/0/0/2/tokenRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7111:7121:body/4/0/1/tokenRef/capture/0"},"text","scalar"),new Field("args",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7140:7149:body/6/0/ruleRef/capture/0"},"node","optional")); private static final Label[] K57 = new Label[]{Label.of("'external'"),Label.of("'boolean'"),Label.of("':'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K58 = new Fields(new Field("className",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7372:7381:body/2/0/0/0/ruleRef/capture/0"},"node","optional"),new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7397:7407:body/2/0/0/2/tokenRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7416:7426:body/2/0/1/tokenRef/capture/0"},"text","scalar"),new Field("args",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7445:7454:body/4/0/ruleRef/capture/0"},"node","optional")); + private static final Fields K58 = new Fields(new Field("className",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7358:7367:body/2/0/0/0/ruleRef/capture/0"},"node","optional"),new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7383:7393:body/2/0/0/2/tokenRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7402:7412:body/2/0/1/tokenRef/capture/0"},"text","scalar"),new Field("args",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7431:7440:body/4/0/ruleRef/capture/0"},"node","optional")); private static final Label[] K59 = new Label[]{Label.of("'external'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K60 = new Fields(new Field("className",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7649:7658:body/4/0/0/0/ruleRef/capture/0"},"node","optional"),new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7674:7684:body/4/0/0/2/tokenRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7693:7703:body/4/0/1/tokenRef/capture/0"},"text","scalar"),new Field("args",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7722:7731:body/6/0/ruleRef/capture/0"},"node","optional")); + private static final Fields K60 = new Fields(new Field("className",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7635:7644:body/4/0/0/0/ruleRef/capture/0"},"node","optional"),new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7660:7670:body/4/0/0/2/tokenRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7679:7689:body/4/0/1/tokenRef/capture/0"},"text","scalar"),new Field("args",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7708:7717:body/6/0/ruleRef/capture/0"},"node","optional")); private static final Label[] K61 = new Label[]{Label.of("'external'"),Label.of("'string'"),Label.of("':'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K62 = new Fields(new Field("className",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7926:7935:body/4/0/0/0/ruleRef/capture/0"},"node","optional"),new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7951:7961:body/4/0/0/2/tokenRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7970:7980:body/4/0/1/tokenRef/capture/0"},"text","scalar"),new Field("args",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7999:8008:body/6/0/ruleRef/capture/0"},"node","optional")); + private static final Fields K62 = new Fields(new Field("className",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7912:7921:body/4/0/0/0/ruleRef/capture/0"},"node","optional"),new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7937:7947:body/4/0/0/2/tokenRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7956:7966:body/4/0/1/tokenRef/capture/0"},"text","scalar"),new Field("args",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7985:7994:body/6/0/ruleRef/capture/0"},"node","optional")); private static final Label[] K63 = new Label[]{Label.of("'external'"),Label.of("'object'"),Label.of("':'"),Label.of("'('"),Label.of("')'")}; private static final Label[] K64 = new Label[]{Label.of("'call'"),Label.of("'internal'")}; - private static final Fields K65 = new Fields(new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8385:8395:body/1/tokenRef/capture/0"},"text","scalar"),new Field("args",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8408:8417:body/3/0/ruleRef/capture/0"},"node","optional")); - private static final Effect[] K66 = new Effect[]{new Effect("afterDeclarations","use","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8385:8395:body/1/tokenRef/capture/0","name","lexical")}; + private static final Fields K65 = new Fields(new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8371:8381:body/1/tokenRef/capture/0"},"text","scalar"),new Field("args",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8394:8403:body/3/0/ruleRef/capture/0"},"node","optional")); + private static final Effect[] K66 = new Effect[]{new Effect("afterDeclarations","use","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8371:8381:body/1/tokenRef/capture/0","name","lexical")}; private static final Label[] K67 = new Label[]{Label.of("'internal'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K68 = new Fields(new Field("condition",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8596:8613:body/0/ruleRef/capture/0"},"node","scalar"),new Field("thenExpr",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8629:8645:body/2/ruleRef/capture/0"},"node","scalar"),new Field("elseExpr",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8660:8676:body/4/ruleRef/capture/0"},"node","scalar")); + private static final Fields K68 = new Fields(new Field("condition",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8582:8599:body/0/ruleRef/capture/0"},"node","scalar"),new Field("thenExpr",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8615:8631:body/2/ruleRef/capture/0"},"node","scalar"),new Field("elseExpr",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8646:8662:body/4/ruleRef/capture/0"},"node","scalar")); private static final Label[] K69 = new Label[]{Label.of("'?'"),Label.of("':'")}; - private static final Fields K70 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8772:8787:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8801:8821:body/1/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8835:8861:body/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8875:8885:body/3/ruleRef/capture/0"},"mixed","scalar")); + private static final Fields K70 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8758:8773:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8787:8807:body/1/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8821:8847:body/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8861:8871:body/3/ruleRef/capture/0"},"mixed","scalar")); private static final Label[] K71 = new Label[]{Label.of("ArgumentExpressionParser")}; - private static final Fields K72 = new Fields(new Field("values",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8955:8973:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8988:9006:body/1/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K72 = new Fields(new Field("values",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8941:8959:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8974:8992:body/1/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K73 = new Label[]{Label.of("ArgumentsParser")}; - private static final Fields K74 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9211:9221:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9230:9235:body/1/0/0/ruleRef/capture/0"},"text","list"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9240:9250:body/1/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K74 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9197:9207:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9216:9221:body/1/0/0/ruleRef/capture/0"},"text","list"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9226:9236:body/1/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K75 = new Label[]{Label.of("NumberExpressionParser")}; - private static final Fields K76 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9366:9378:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9387:9392:body/1/0/0/ruleRef/capture/0"},"text","list"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9397:9409:body/1/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K76 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9352:9364:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9373:9378:body/1/0/0/ruleRef/capture/0"},"text","list"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9383:9395:body/1/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K77 = new Label[]{Label.of("NumberTermParser")}; private static final Label[] K78 = new Label[]{Label.of("'+'"),Label.of("'-'")}; private static final Label[] K79 = new Label[]{Label.of("'*'"),Label.of("'/'")}; private static final Label[] K80 = new Label[]{Label.of("'sin'"),Label.of("'('"),Label.of("')'"),Label.of("'cos'"),Label.of("'tan'"),Label.of("'sqrt'"),Label.of("'min'"),Label.of("'max'"),Label.of("'random'"),Label.of("'abs'"),Label.of("'round'"),Label.of("'ceil'"),Label.of("'floor'"),Label.of("'pow'"),Label.of("','"),Label.of("'log'"),Label.of("'exp'")}; - private static final Fields K81 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9895:9913:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K81 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9881:9899:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K82 = new Label[]{Label.of("'sin'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K83 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9988:10006:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K83 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9974:9992:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K84 = new Label[]{Label.of("'cos'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K85 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10081:10099:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K85 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10067:10085:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K86 = new Label[]{Label.of("'tan'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K87 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10177:10195:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K87 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10163:10181:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K88 = new Label[]{Label.of("'sqrt'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K89 = new Fields(new Field("first",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10278:10296:body/2/ruleRef/capture/0"},"node","scalar"),new Field("rest",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10310:10328:body/3/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K89 = new Fields(new Field("first",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10264:10282:body/2/ruleRef/capture/0"},"node","scalar"),new Field("rest",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10296:10314:body/3/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K90 = new Label[]{Label.of("'min'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K91 = new Fields(new Field("first",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10414:10432:body/2/ruleRef/capture/0"},"node","scalar"),new Field("rest",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10446:10464:body/3/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K91 = new Fields(new Field("first",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10400:10418:body/2/ruleRef/capture/0"},"node","scalar"),new Field("rest",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10432:10450:body/3/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K92 = new Label[]{Label.of("'max'"),Label.of("'('"),Label.of("')'")}; private static final Label[] K93 = new Label[]{Label.of("'random'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K94 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10606:10624:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K94 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10592:10610:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K95 = new Label[]{Label.of("'abs'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K96 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10705:10723:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K96 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10691:10709:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K97 = new Label[]{Label.of("'round'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K98 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10801:10819:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K98 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10787:10805:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K99 = new Label[]{Label.of("'ceil'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K100 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10900:10918:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K100 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10886:10904:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K101 = new Label[]{Label.of("'floor'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K102 = new Fields(new Field("base",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11004:11022:body/2/ruleRef/capture/0"},"node","scalar"),new Field("exponent",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11033:11051:body/4/ruleRef/capture/0"},"node","scalar")); + private static final Fields K102 = new Fields(new Field("base",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10990:11008:body/2/ruleRef/capture/0"},"node","scalar"),new Field("exponent",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11019:11037:body/4/ruleRef/capture/0"},"node","scalar")); private static final Label[] K103 = new Label[]{Label.of("'pow'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; - private static final Fields K104 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11131:11149:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K104 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11117:11135:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K105 = new Label[]{Label.of("'log'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K106 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11224:11242:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K106 = new Fields(new Field("arg",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11210:11228:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K107 = new Label[]{Label.of("'exp'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K108 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11417:11433:body/2/ruleRef/capture/0"},"node","scalar"),new Field("defaultValue",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11445:11463:body/4/ruleRef/capture/0"},"node","scalar")); + private static final Fields K108 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11403:11419:body/2/ruleRef/capture/0"},"node","scalar"),new Field("defaultValue",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11431:11449:body/4/ruleRef/capture/0"},"node","scalar")); private static final Label[] K109 = new Label[]{Label.of("'toNum'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; private static final Label[] K110 = new Label[]{Label.of("'('"),Label.of("'?'"),Label.of("':'"),Label.of("')'"),Label.of("'match'"),Label.of("'{'"),Label.of("','"),Label.of("'}'"),Label.of("'if'"),Label.of("'else'"),Label.of("'toNum'"),Label.of("'.length'"),Label.of("'len'"),Label.of("'length'"),Label.of("'external'"),Label.of("'$'")}; - private static final Fields K111 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11961:11977:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K111 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11947:11963:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K112 = new Label[]{Label.of("'toUpperCase'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K113 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12080:12096:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K113 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12066:12082:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K114 = new Label[]{Label.of("'toLowerCase'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K115 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12178:12194:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K115 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12164:12180:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K116 = new Label[]{Label.of("'trim'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K117 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12282:12298:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K117 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12268:12284:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K118 = new Label[]{Label.of("'length'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K119 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12380:12396:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K119 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12366:12382:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K120 = new Label[]{Label.of("'len'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K121 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12732:12743:body/0/ruleRef/capture/0"},"node","scalar")); + private static final Fields K121 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12718:12729:body/0/ruleRef/capture/0"},"node","scalar")); private static final Label[] K122 = new Label[]{Label.of("'.toUpperCase'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K123 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12851:12862:body/0/ruleRef/capture/0"},"node","scalar")); + private static final Fields K123 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12837:12848:body/0/ruleRef/capture/0"},"node","scalar")); private static final Label[] K124 = new Label[]{Label.of("'.toLowerCase'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K125 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12956:12967:body/0/ruleRef/capture/0"},"node","scalar")); + private static final Fields K125 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12942:12953:body/0/ruleRef/capture/0"},"node","scalar")); private static final Label[] K126 = new Label[]{Label.of("'.trim'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K127 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13058:13069:body/0/ruleRef/capture/0"},"node","scalar")); + private static final Fields K127 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13044:13055:body/0/ruleRef/capture/0"},"node","scalar")); private static final Label[] K128 = new Label[]{Label.of("'.length'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K129 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13331:13347:body/2/ruleRef/capture/0"},"node","scalar"),new Field("patterns",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13359:13375:body/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13396:13412:body/5/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K129 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13317:13333:body/2/ruleRef/capture/0"},"node","scalar"),new Field("patterns",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13345:13361:body/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13382:13398:body/5/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K130 = new Label[]{Label.of("'startsWith'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; - private static final Fields K131 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13521:13537:body/2/ruleRef/capture/0"},"node","scalar"),new Field("patterns",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13549:13565:body/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13586:13602:body/5/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K131 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13507:13523:body/2/ruleRef/capture/0"},"node","scalar"),new Field("patterns",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13535:13551:body/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13572:13588:body/5/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K132 = new Label[]{Label.of("'endsWith'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; - private static final Fields K133 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13711:13727:body/2/ruleRef/capture/0"},"node","scalar"),new Field("patterns",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13739:13755:body/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13776:13792:body/5/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K133 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13697:13713:body/2/ruleRef/capture/0"},"node","scalar"),new Field("patterns",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13725:13741:body/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13762:13778:body/5/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K134 = new Label[]{Label.of("'contains'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; - private static final Fields K135 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13874:13890:body/0/ruleRef/capture/0"},"node","scalar"),new Field("candidates",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13908:13924:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13943:13959:body/4/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K135 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13860:13876:body/0/ruleRef/capture/0"},"node","scalar"),new Field("candidates",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13894:13910:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13929:13945:body/4/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K136 = new Label[]{Label.of("'.in'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K137 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14142:14165:body/0/ruleRef/capture/0"},"mixed","scalar"),new Field("patterns",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14191:14207:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14228:14244:body/4/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K137 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14128:14151:body/0/ruleRef/capture/0"},"mixed","scalar"),new Field("patterns",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14177:14193:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14214:14230:body/4/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K138 = new Label[]{Label.of("'.startsWith'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K139 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14342:14365:body/0/ruleRef/capture/0"},"mixed","scalar"),new Field("patterns",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14389:14405:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14426:14442:body/4/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K139 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14328:14351:body/0/ruleRef/capture/0"},"mixed","scalar"),new Field("patterns",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14375:14391:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14412:14428:body/4/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K140 = new Label[]{Label.of("'.endsWith'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K141 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14540:14563:body/0/ruleRef/capture/0"},"mixed","scalar"),new Field("patterns",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14587:14603:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14624:14640:body/4/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K141 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14526:14549:body/0/ruleRef/capture/0"},"mixed","scalar"),new Field("patterns",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14573:14589:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14610:14626:body/4/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K142 = new Label[]{Label.of("'.contains'"),Label.of("'('"),Label.of("')'")}; private static final Label[] K143 = new Label[]{Label.of("'toLowerCase'"),Label.of("'('"),Label.of("')'"),Label.of("'toUpperCase'"),Label.of("'trim'"),Label.of("'$'")}; - private static final Fields K144 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14925:14936:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K144 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14911:14922:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K145 = new Label[]{Label.of("'isPresent'"),Label.of("'('"),Label.of("')'")}; - private static final Fields K146 = new Fields(new Field("startHour",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15129:15145:body/2/ruleRef/capture/0"},"node","scalar"),new Field("endHour",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15161:15177:body/4/ruleRef/capture/0"},"node","scalar")); + private static final Fields K146 = new Fields(new Field("startHour",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15115:15131:body/2/ruleRef/capture/0"},"node","scalar"),new Field("endHour",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15147:15163:body/4/ruleRef/capture/0"},"node","scalar")); private static final Label[] K147 = new Label[]{Label.of("'inTimeRange'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; - private static final Fields K148 = new Fields(new Field("startDay",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15322:15331:body/2/ruleRef/capture/0"},"text","scalar"),new Field("startHour",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15346:15362:body/4/ruleRef/capture/0"},"node","scalar"),new Field("endDay",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15378:15387:body/6/ruleRef/capture/0"},"text","scalar"),new Field("endHour",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15400:15416:body/8/ruleRef/capture/0"},"node","scalar")); + private static final Fields K148 = new Fields(new Field("startDay",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15308:15317:body/2/ruleRef/capture/0"},"text","scalar"),new Field("startHour",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15332:15348:body/4/ruleRef/capture/0"},"node","scalar"),new Field("endDay",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15364:15373:body/6/ruleRef/capture/0"},"text","scalar"),new Field("endHour",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15386:15402:body/8/ruleRef/capture/0"},"node","scalar")); private static final Label[] K149 = new Label[]{Label.of("'inDayTimeRange'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; private static final Label[] K150 = new Label[]{Label.of("'MONDAY'"),Label.of("'TUESDAY'"),Label.of("'WEDNESDAY'"),Label.of("'THURSDAY'"),Label.of("'FRIDAY'"),Label.of("'SATURDAY'"),Label.of("'SUNDAY'")}; private static final Label[] K151 = new Label[]{Label.of("'external'"),Label.of("'('"),Label.of("')'"),Label.of("'toUpperCase'"),Label.of("'toLowerCase'"),Label.of("'trim'"),Label.of("'.toUpperCase'"),Label.of("'.toLowerCase'"),Label.of("'.trim'"),Label.of("'$'")}; private static final Label[] K152 = new Label[]{Label.of("SliceStartIndexParser")}; private static final Label[] K153 = new Label[]{Label.of("SliceEndIndexParser")}; private static final Label[] K154 = new Label[]{Label.of("SliceStepIndexParser")}; - private static final Fields K155 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16674:16691:body/0/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16784:16801:body/1/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16869:16886:body/2/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16960:16977:body/3/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17026:17043:body/4/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17113:17130:body/5/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17175:17192:body/6/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17243:17260:body/7/0/ruleRef/capture/0"},"mixed","scalar"),new Field("start",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16703:16718:body/0/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16813:16828:body/1/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16898:16913:body/2/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16989:17004:body/3/2/ruleRef/capture/0"},"node","optional"),new Field("end",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16730:16743:body/0/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16840:16853:body/1/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17059:17072:body/4/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17146:17159:body/5/3/ruleRef/capture/0"},"node","optional"),new Field("step",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16753:16767:body/0/6/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16929:16943:body/2/5/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17082:17096:body/4/5/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17212:17226:body/6/4/ruleRef/capture/0"},"node","optional")); + private static final Fields K155 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16660:16677:body/0/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16770:16787:body/1/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16855:16872:body/2/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16946:16963:body/3/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17012:17029:body/4/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17099:17116:body/5/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17161:17178:body/6/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17229:17246:body/7/0/ruleRef/capture/0"},"mixed","scalar"),new Field("start",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16689:16704:body/0/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16799:16814:body/1/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16884:16899:body/2/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16975:16990:body/3/2/ruleRef/capture/0"},"node","optional"),new Field("end",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16716:16729:body/0/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16826:16839:body/1/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17045:17058:body/4/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17132:17145:body/5/3/ruleRef/capture/0"},"node","optional"),new Field("step",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16739:16753:body/0/6/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16915:16929:body/2/5/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17068:17082:body/4/5/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17198:17212:body/6/4/ruleRef/capture/0"},"node","optional")); private static final Label[] K156 = new Label[]{Label.of("'['"),Label.of("':'"),Label.of("']'")}; - private static final Fields K157 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17373:17392:body/0/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17485:17504:body/1/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17572:17591:body/2/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17665:17684:body/3/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17733:17752:body/4/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17822:17841:body/5/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17886:17905:body/6/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17956:17975:body/7/0/ruleRef/capture/0"},"mixed","scalar"),new Field("start",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17404:17419:body/0/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17516:17531:body/1/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17603:17618:body/2/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17696:17711:body/3/2/ruleRef/capture/0"},"node","optional"),new Field("end",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17431:17444:body/0/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17543:17556:body/1/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17768:17781:body/4/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17857:17870:body/5/3/ruleRef/capture/0"},"node","optional"),new Field("step",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17454:17468:body/0/6/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17634:17648:body/2/5/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17791:17805:body/4/5/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17925:17939:body/6/4/ruleRef/capture/0"},"node","optional")); + private static final Fields K157 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17359:17378:body/0/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17471:17490:body/1/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17558:17577:body/2/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17651:17670:body/3/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17719:17738:body/4/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17808:17827:body/5/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17872:17891:body/6/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17942:17961:body/7/0/ruleRef/capture/0"},"mixed","scalar"),new Field("start",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17390:17405:body/0/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17502:17517:body/1/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17589:17604:body/2/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17682:17697:body/3/2/ruleRef/capture/0"},"node","optional"),new Field("end",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17417:17430:body/0/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17529:17542:body/1/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17754:17767:body/4/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17843:17856:body/5/3/ruleRef/capture/0"},"node","optional"),new Field("step",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17440:17454:body/0/6/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17620:17634:body/2/5/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17777:17791:body/4/5/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17911:17925:body/6/4/ruleRef/capture/0"},"node","optional")); private static final Label[] K158 = new Label[]{Label.of("SliceExpressionParser")}; - private static final Fields K159 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18264:18274:body/0/ruleRef/capture/0"},"mixed","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18283:18286:body/1/0/0/literal/capture/0"},"text","list"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18291:18301:body/1/0/1/ruleRef/capture/0"},"mixed","list")); + private static final Fields K159 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18250:18260:body/0/ruleRef/capture/0"},"mixed","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18269:18272:body/1/0/0/literal/capture/0"},"text","list"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18277:18287:body/1/0/1/ruleRef/capture/0"},"mixed","list")); private static final Label[] K160 = new Label[]{Label.of("StringExpressionParser")}; private static final Label[] K161 = new Label[]{Label.of("'('"),Label.of("')'")}; private static final Label[] K162 = new Label[]{Label.of("'match'"),Label.of("'{'"),Label.of("','"),Label.of("'}'"),Label.of("'if'"),Label.of("'('"),Label.of("')'"),Label.of("'else'"),Label.of("'$'"),Label.of("'as'"),Label.of("'external'"),Label.of("'toUpperCase'"),Label.of("'toLowerCase'"),Label.of("'trim'"),Label.of("'.toUpperCase'"),Label.of("'.toLowerCase'"),Label.of("'.trim'")}; - private static final Fields K163 = new Fields(new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19062:19072:body/4/tokenRef/capture/0"},"text","scalar")); + private static final Fields K163 = new Fields(new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19048:19058:body/4/tokenRef/capture/0"},"text","scalar")); private static final Label[] K164 = new Label[]{Label.of("'('"),Label.of("'string'"),Label.of("'String'"),Label.of("')'"),Label.of("'$'")}; - private static final Fields K165 = new Fields(new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19166:19176:body/1/tokenRef/capture/0"},"text","scalar")); + private static final Fields K165 = new Fields(new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19152:19162:body/1/tokenRef/capture/0"},"text","scalar")); private static final Label[] K166 = new Label[]{Label.of("'$'"),Label.of("'as'"),Label.of("'string'"),Label.of("'String'")}; - private static final Fields K167 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19442:19462:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19471:19474:body/1/0/0/literal/capture/0"},"text","list"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19479:19499:body/1/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K167 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19428:19448:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19457:19460:body/1/0/0/literal/capture/0"},"text","list"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19465:19485:body/1/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K168 = new Label[]{Label.of("BooleanExpressionParser")}; - private static final Fields K169 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19645:19665:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19674:19677:body/1/0/0/literal/capture/0"},"text","list"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19682:19702:body/1/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K169 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19631:19651:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19660:19663:body/1/0/0/literal/capture/0"},"text","list"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19668:19688:body/1/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K170 = new Label[]{Label.of("BooleanAndExpressionParser")}; - private static final Fields K171 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19848:19861:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19870:19873:body/1/0/0/literal/capture/0"},"text","list"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19878:19891:body/1/0/1/ruleRef/capture/0"},"node","list")); + private static final Fields K171 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19834:19847:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19856:19859:body/1/0/0/literal/capture/0"},"text","list"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19864:19877:body/1/0/1/ruleRef/capture/0"},"node","list")); private static final Label[] K172 = new Label[]{Label.of("BooleanXorExpressionParser")}; - private static final Fields K173 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20048:20065:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K173 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20034:20051:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K174 = new Label[]{Label.of("'not'"),Label.of("'('"),Label.of("')'")}; private static final Label[] K175 = new Label[]{Label.of("'not'"),Label.of("'('"),Label.of("')'"),Label.of("'if'"),Label.of("'{'"),Label.of("'}'"),Label.of("'else'"),Label.of("'match'"),Label.of("','"),Label.of("'external'"),Label.of("'.in'"),Label.of("'.startsWith'"),Label.of("'.endsWith'"),Label.of("'.contains'"),Label.of("'startsWith'"),Label.of("'endsWith'"),Label.of("'contains'"),Label.of("'isPresent'"),Label.of("'inTimeRange'"),Label.of("'inDayTimeRange'"),Label.of("'true'"),Label.of("'false'"),Label.of("'$'")}; - private static final Fields K176 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20636:20653:body/0/ruleRef/capture/0"},"mixed","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20660:20670:body/1/ruleRef/capture/0"},"text","scalar"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20675:20692:body/2/ruleRef/capture/0"},"mixed","scalar")); + private static final Fields K176 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20622:20639:body/0/ruleRef/capture/0"},"mixed","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20646:20656:body/1/ruleRef/capture/0"},"text","scalar"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20661:20678:body/2/ruleRef/capture/0"},"mixed","scalar")); private static final Label[] K177 = new Label[]{Label.of("BooleanEqualityExpressionParser")}; - private static final Fields K178 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20775:20800:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20814:20834:body/1/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20848:20874:body/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20888:20905:body/3/ruleRef/capture/0"},"mixed","scalar")); + private static final Fields K178 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20761:20786:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20800:20820:body/1/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20834:20860:body/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20874:20891:body/3/ruleRef/capture/0"},"mixed","scalar")); private static final Label[] K179 = new Label[]{Label.of("BooleanFactorParser")}; - private static final Fields K180 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21169:21185:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21192:21202:body/1/ruleRef/capture/0"},"text","scalar"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21207:21223:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K180 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21155:21171:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21178:21188:body/1/ruleRef/capture/0"},"text","scalar"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21193:21209:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K181 = new Label[]{Label.of("StringComparisonExpressionParser")}; private static final Label[] K182 = new Label[]{Label.of("'=='"),Label.of("'!='")}; - private static final Fields K183 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21345:21361:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21368:21377:body/1/ruleRef/capture/0"},"text","scalar"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21382:21398:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K183 = new Fields(new Field("left",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21331:21347:body/0/ruleRef/capture/0"},"node","scalar"),new Field("op",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21354:21363:body/1/ruleRef/capture/0"},"text","scalar"),new Field("right",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21368:21384:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K184 = new Label[]{Label.of("ComparisonExpressionParser")}; private static final Label[] K185 = new Label[]{Label.of("'=='"),Label.of("'!='"),Label.of("'<='"),Label.of("'>='"),Label.of("'<'"),Label.of("'>'")}; - private static final Fields K186 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21615:21631:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21645:21661:body/1/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21675:21692:body/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21706:21730:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21744:21755:body/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21769:21785:body/5/ruleRef/capture/0"},"mixed","scalar")); + private static final Fields K186 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21601:21617:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21631:21647:body/1/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21661:21678:body/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21692:21716:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21730:21741:body/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21755:21771:body/5/ruleRef/capture/0"},"mixed","scalar")); private static final Label[] K187 = new Label[]{Label.of("ObjectExpressionParser")}; - private static final Fields K188 = new Fields(new Field("condition",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21969:21986:body/2/ruleRef/capture/0"},"node","scalar"),new Field("thenExpr",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22010:22026:body/5/ruleRef/capture/0"},"node","scalar"),new Field("elseExpr",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22060:22076:body/9/ruleRef/capture/0"},"node","scalar")); + private static final Fields K188 = new Fields(new Field("condition",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21955:21972:body/2/ruleRef/capture/0"},"node","scalar"),new Field("thenExpr",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21996:22012:body/5/ruleRef/capture/0"},"node","scalar"),new Field("elseExpr",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22046:22062:body/9/ruleRef/capture/0"},"node","scalar")); private static final Label[] K189 = new Label[]{Label.of("'if'"),Label.of("'('"),Label.of("')'"),Label.of("'{'"),Label.of("'}'"),Label.of("'else'")}; - private static final Fields K190 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22172:22192:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22206:22232:body/1/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22246:22271:body/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22285:22301:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22315:22332:body/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22346:22362:body/5/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22376:22392:body/6/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22406:22422:body/7/ruleRef/capture/0"},"mixed","scalar")); + private static final Fields K190 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22158:22178:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22192:22218:body/1/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22232:22257:body/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22271:22287:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22301:22318:body/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22332:22348:body/5/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22362:22378:body/6/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22392:22408:body/7/ruleRef/capture/0"},"mixed","scalar")); private static final Label[] K191 = new Label[]{Label.of("BranchExpressionParser")}; - private static final Fields K192 = new Fields(new Field("condition",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22601:22618:body/1/ruleRef/capture/0"},"node","scalar"),new Field("thenExpr",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22634:22650:body/3/ruleRef/capture/0"},"node","scalar"),new Field("elseExpr",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22665:22681:body/5/ruleRef/capture/0"},"node","scalar")); + private static final Fields K192 = new Fields(new Field("condition",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22587:22604:body/1/ruleRef/capture/0"},"node","scalar"),new Field("thenExpr",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22620:22636:body/3/ruleRef/capture/0"},"node","scalar"),new Field("elseExpr",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22651:22667:body/5/ruleRef/capture/0"},"node","scalar")); private static final Label[] K193 = new Label[]{Label.of("'('"),Label.of("'?'"),Label.of("':'"),Label.of("')'")}; - private static final Fields K194 = new Fields(new Field("firstCase",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22903:22913:body/2/ruleRef/capture/0"},"node","scalar"),new Field("moreCases",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22931:22941:body/3/0/1/ruleRef/capture/0"},"node","list"),new Field("defaultCase",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22965:22982:body/5/ruleRef/capture/0"},"node","scalar")); + private static final Fields K194 = new Fields(new Field("firstCase",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22889:22899:body/2/ruleRef/capture/0"},"node","scalar"),new Field("moreCases",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22917:22927:body/3/0/1/ruleRef/capture/0"},"node","list"),new Field("defaultCase",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22951:22968:body/5/ruleRef/capture/0"},"node","scalar")); private static final Label[] K195 = new Label[]{Label.of("'match'"),Label.of("'{'"),Label.of("','"),Label.of("'}'")}; - private static final Fields K196 = new Fields(new Field("condition",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23078:23095:body/0/ruleRef/capture/0"},"node","scalar"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23112:23127:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K196 = new Fields(new Field("condition",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23064:23081:body/0/ruleRef/capture/0"},"node","scalar"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23098:23113:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K197 = new Label[]{Label.of("'->'")}; - private static final Fields K198 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23226:23241:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K198 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23212:23227:body/2/ruleRef/capture/0"},"node","scalar")); private static final Label[] K199 = new Label[]{Label.of("'default'"),Label.of("'->'")}; - private static final Fields K200 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23321:23337:body/0/ruleRef/capture/0"},"node","scalar")); + private static final Fields K200 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23307:23323:body/0/ruleRef/capture/0"},"node","scalar")); private static final Label[] K201 = new Label[]{Label.of("NumberCaseValueParser")}; - private static final Fields K202 = new Fields(new Field("firstCase",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23470:23480:body/2/ruleRef/capture/0"},"node","scalar"),new Field("moreCases",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23498:23508:body/3/0/1/ruleRef/capture/0"},"node","list"),new Field("defaultCase",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23532:23549:body/5/ruleRef/capture/0"},"node","scalar")); - private static final Fields K203 = new Fields(new Field("condition",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23645:23662:body/0/ruleRef/capture/0"},"node","scalar"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23679:23694:body/2/ruleRef/capture/0"},"node","scalar")); - private static final Fields K204 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23793:23808:body/2/ruleRef/capture/0"},"node","scalar")); - private static final Fields K205 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23888:23904:body/0/ruleRef/capture/0"},"node","scalar")); + private static final Fields K202 = new Fields(new Field("firstCase",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23456:23466:body/2/ruleRef/capture/0"},"node","scalar"),new Field("moreCases",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23484:23494:body/3/0/1/ruleRef/capture/0"},"node","list"),new Field("defaultCase",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23518:23535:body/5/ruleRef/capture/0"},"node","scalar")); + private static final Fields K203 = new Fields(new Field("condition",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23631:23648:body/0/ruleRef/capture/0"},"node","scalar"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23665:23680:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K204 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23779:23794:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K205 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23874:23890:body/0/ruleRef/capture/0"},"node","scalar")); private static final Label[] K206 = new Label[]{Label.of("StringCaseValueParser")}; - private static final Fields K207 = new Fields(new Field("firstCase",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24039:24050:body/2/ruleRef/capture/0"},"node","scalar"),new Field("moreCases",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24068:24079:body/3/0/1/ruleRef/capture/0"},"node","list"),new Field("defaultCase",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24103:24121:body/5/ruleRef/capture/0"},"node","scalar")); - private static final Fields K208 = new Fields(new Field("condition",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24219:24236:body/0/ruleRef/capture/0"},"node","scalar"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24253:24269:body/2/ruleRef/capture/0"},"node","scalar")); - private static final Fields K209 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24370:24386:body/2/ruleRef/capture/0"},"node","scalar")); - private static final Fields K210 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24468:24485:body/0/ruleRef/capture/0"},"node","scalar")); + private static final Fields K207 = new Fields(new Field("firstCase",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24025:24036:body/2/ruleRef/capture/0"},"node","scalar"),new Field("moreCases",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24054:24065:body/3/0/1/ruleRef/capture/0"},"node","list"),new Field("defaultCase",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24089:24107:body/5/ruleRef/capture/0"},"node","scalar")); + private static final Fields K208 = new Fields(new Field("condition",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24205:24222:body/0/ruleRef/capture/0"},"node","scalar"),new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24239:24255:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K209 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24356:24372:body/2/ruleRef/capture/0"},"node","scalar")); + private static final Fields K210 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24454:24471:body/0/ruleRef/capture/0"},"node","scalar")); private static final Label[] K211 = new Label[]{Label.of("BooleanCaseValueParser")}; - private static final Fields K212 = new Fields(new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24702:24712:body/1/tokenRef/capture/0"},"text","scalar"),new Field("type",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24730:24741:body/2/0/1/ruleRef/capture/0"},"text","optional")); - private static final Effect[] K213 = new Effect[]{new Effect("afterDeclarations","use","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24702:24712:body/1/tokenRef/capture/0","name","lexical")}; + private static final Fields K212 = new Fields(new Field("name",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24688:24698:body/1/tokenRef/capture/0"},"text","scalar"),new Field("type",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24716:24727:body/2/0/1/ruleRef/capture/0"},"text","optional")); + private static final Effect[] K213 = new Effect[]{new Effect("afterDeclarations","use","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24688:24698:body/1/tokenRef/capture/0","name","lexical")}; private static final Label[] K214 = new Label[]{Label.of("'number'"),Label.of("'Number'"),Label.of("'float'"),Label.of("'Float'"),Label.of("'string'"),Label.of("'String'"),Label.of("'boolean'"),Label.of("'Boolean'"),Label.of("'object'"),Label.of("'Object'")}; - private static final Fields K215 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25201:25217:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25231:25248:body/1/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25262:25278:body/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25292:25308:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25322:25338:body/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25356:25366:body/5/1/ruleRef/capture/0"},"mixed","scalar")); + private static final Fields K215 = new Fields(new Field("value",new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25187:25203:body/0/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25217:25234:body/1/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25248:25264:body/2/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25278:25294:body/3/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25308:25324:body/4/ruleRef/capture/0","expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25342:25352:body/5/1/ruleRef/capture/0"},"mixed","scalar")); private static final String[] K216 = new String[]{}; private static final boolean[] K217 = new boolean[]{}; private static final Delimiters K218 = new Delimiters(new Delimiter("characters",null,null,new int[]{9,10,11,12,13,32}),new Delimiter("lineComment","//",null,new int[]{}),new Delimiter("blockComment","/*","*/",new int[]{})); @@ -11862,986 +12199,1003 @@ private static Match e1046M(Session s, Frame f) { private static final Trivia K220 = new Trivia(K218,null,K219,null,null); private static final Call[] K221 = new Call[]{TinyExpressionP4Parser::e1,TinyExpressionP4Parser::e3,TinyExpressionP4Parser::e5,TinyExpressionP4Parser::e7,TinyExpressionP4Parser::e9,TinyExpressionP4Parser::e10,TinyExpressionP4Parser::e12}; private static final Label[] K222 = new Label[]{Label.of("Repeat")}; - private static final String[] K223 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1023:1032:body/0/0/ruleRef/capture/0"}; + private static final String[] K223 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1009:1018:body/0/0/ruleRef/capture/0"}; private static final String[] K224 = new String[]{"codeBlocks"}; private static final String[] K225 = new String[]{"consumedExtent"}; private static final boolean[] K226 = new boolean[]{false}; private static final Label[] K227 = new Label[]{Label.of("__CaptureSite")}; - private static final String[] K228 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1049:1066:body/1/0/ruleRef/capture/0"}; + private static final String[] K228 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1035:1052:body/1/0/ruleRef/capture/0"}; private static final String[] K229 = new String[]{"imports"}; - private static final String[] K230 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1080:1099:body/2/0/ruleRef/capture/0"}; + private static final String[] K230 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1066:1085:body/2/0/ruleRef/capture/0"}; private static final String[] K231 = new String[]{"declarations"}; - private static final String[] K232 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1135:1145:body/4/ruleRef/capture/0"}; + private static final String[] K232 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1121:1131:body/4/ruleRef/capture/0"}; private static final String[] K233 = new String[]{"expression"}; - private static final String[] K234 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1160:1177:body/5/0/ruleRef/capture/0"}; + private static final String[] K234 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1146:1163:body/5/0/ruleRef/capture/0"}; private static final String[] K235 = new String[]{"methods"}; - private static final Label[] K236 = new Label[]{Label.of("EndOfSourceParser")}; - private static final int[] K237 = new int[]{}; - private static final Label K238 = Label.of("EndOfSourceParser"); + private static final Label[] K236 = new Label[]{Label.of("EOFParser")}; + private static final org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression K237 = new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.EOF,"",0,0,List.of()))))))); + private static final Label K238 = Label.of("EOFParser"); private static final Delimiters[] K239 = new Delimiters[]{K218}; private static final Trivia K240 = new Trivia(K218,null,K239,null,null); private static final Call[] K241 = new Call[]{TinyExpressionP4Parser::e14}; - private static final String[] K242 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1625:1676:body/0/group/capture/0"}; + private static final String[] K242 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1611:1662:body/0/group/capture/0"}; private static final String[] K243 = new String[]{"source"}; private static final Label[] K244 = new Label[]{Label.of("CodeBlockGroup0Parser"),Label.of("__CaptureSite")}; private static final Label[] K245 = new Label[]{Label.of("CodeBlockGroup0Parser")}; private static final Call[] K246 = new Call[]{TinyExpressionP4Parser::e16,TinyExpressionP4Parser::e17}; - private static final Delimiters[] K247 = new Delimiters[]{K218,K218,K218}; - private static final Trivia K248 = new Trivia(K218,null,K247,null,null); - private static final Call[] K249 = new Call[]{TinyExpressionP4Parser::e18,TinyExpressionP4Parser::e19,TinyExpressionP4Parser::e20}; - private static final Label[] K250 = new Label[]{Label.of("WildCardStringTerminatorParser")}; - private static final Delimiters[] K251 = new Delimiters[]{K218,K218,K218,K218,K218,K218}; - private static final Trivia K252 = new Trivia(K218,null,K251,null,null); - private static final Call[] K253 = new Call[]{TinyExpressionP4Parser::e22,TinyExpressionP4Parser::e23,TinyExpressionP4Parser::e24,TinyExpressionP4Parser::e28,TinyExpressionP4Parser::e29,TinyExpressionP4Parser::e30}; - private static final Label[] K254 = new Label[]{Label.of("'import'")}; - private static final Label K255 = Label.of("'import'"); - private static final String[] K256 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2141:2150:body/1/ruleRef/capture/0"}; - private static final String[] K257 = new String[]{"className"}; - private static final Label[] K258 = new Label[]{Label.of("'#'")}; - private static final Delimiters[] K259 = new Delimiters[]{K218,K218}; - private static final Trivia K260 = new Trivia(K218,null,K259,null,null); - private static final Call[] K261 = new Call[]{TinyExpressionP4Parser::e26,TinyExpressionP4Parser::e27}; - private static final Label K262 = Label.of("'#'"); - private static final String[] K263 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2168:2178:body/2/0/1/tokenRef/capture/0"}; - private static final String[] K264 = new String[]{"method"}; - private static final Label[] K265 = new Label[]{Label.of("IdentifierParser"),Label.of("__CaptureSite")}; - private static final Label K266 = Label.of("IdentifierParser"); - private static final Label[] K267 = new Label[]{Label.of("'as'")}; - private static final Label K268 = Label.of("'as'"); - private static final String[] K269 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2194:2204:body/4/tokenRef/capture/0"}; - private static final String[] K270 = new String[]{"alias"}; - private static final Label[] K271 = new Label[]{Label.of("';'")}; - private static final Label K272 = Label.of("';'"); - private static final Call[] K273 = new Call[]{TinyExpressionP4Parser::e32,TinyExpressionP4Parser::e33}; - private static final String[] K274 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2286:2296:body/0/tokenRef/capture/0"}; - private static final String[] K275 = new String[]{"head"}; - private static final Label[] K276 = new Label[]{Label.of("'.'")}; - private static final Call[] K277 = new Call[]{TinyExpressionP4Parser::e35,TinyExpressionP4Parser::e36}; - private static final Label K278 = Label.of("'.'"); - private static final String[] K279 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2309:2319:body/1/0/1/tokenRef/capture/0"}; - private static final String[] K280 = new String[]{"tail"}; - private static final int[] K281 = new int[]{9,13,32,32,47,47,118,118}; - private static final Label[] K282 = new Label[]{null,Label.of("'variable'"),Label.of("'var'"),Label.of("'$'"),Label.of("';'")}; - private static final int[] K283 = new int[]{5}; - private static final Guard K284 = new Guard(K281,K282,K218,K283,1); - private static final int[] K285 = new int[]{6}; - private static final Guard K286 = new Guard(K281,K282,K218,K285,1); - private static final int[] K287 = new int[]{7}; - private static final Guard K288 = new Guard(K281,K282,K218,K287,1); - private static final int[] K289 = new int[]{8}; - private static final Guard K290 = new Guard(K281,K282,K218,K289,1); - private static final Guard[] K291 = new Guard[]{K284,K286,K288,K290}; - private static final Call[] K292 = new Call[]{TinyExpressionP4Parser::e38,TinyExpressionP4Parser::e39,TinyExpressionP4Parser::e40,TinyExpressionP4Parser::e41}; - private static final Call[] K293 = new Call[]{TinyExpressionP4Parser::e43,TinyExpressionP4Parser::e47,TinyExpressionP4Parser::e48,TinyExpressionP4Parser::e49,TinyExpressionP4Parser::e51,TinyExpressionP4Parser::e57,TinyExpressionP4Parser::e59}; - private static final Label[] K294 = new Label[]{Label.of("'variable'"),Label.of("'var'")}; - private static final Call[] K295 = new Call[]{TinyExpressionP4Parser::e45,TinyExpressionP4Parser::e46}; - private static final Label[] K296 = new Label[]{Label.of("'variable'")}; - private static final Label K297 = Label.of("'variable'"); - private static final Label[] K298 = new Label[]{Label.of("'var'")}; - private static final Label K299 = Label.of("'var'"); - private static final Label K300 = Label.of("'$'"); - private static final String[] K301 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2804:2814:body/2/tokenRef/capture/0"}; - private static final String[] K302 = new String[]{"varName"}; - private static final boolean[] K303 = new boolean[]{true}; - private static final Label[] K304 = new Label[]{Label.of("Optional")}; - private static final Label[] K305 = new Label[]{Label.of("'set'")}; - private static final Call[] K306 = new Call[]{TinyExpressionP4Parser::e53,TinyExpressionP4Parser::e54,TinyExpressionP4Parser::e56}; - private static final Label K307 = Label.of("'set'"); - private static final String[] K308 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2861:2873:body/4/0/1/0/ruleRef/capture/0"}; - private static final String[] K309 = new String[]{"onlyIfAbsent"}; - private static final String[] K310 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2890:2906:body/4/0/2/ruleRef/capture/0"}; - private static final String[] K311 = new String[]{"value"}; - private static final String[] K312 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2922:2933:body/5/0/ruleRef/capture/0"}; - private static final String[] K313 = new String[]{"desc"}; - private static final Call[] K314 = new Call[]{TinyExpressionP4Parser::e61,TinyExpressionP4Parser::e65,TinyExpressionP4Parser::e66,TinyExpressionP4Parser::e67,TinyExpressionP4Parser::e69,TinyExpressionP4Parser::e75,TinyExpressionP4Parser::e77}; - private static final Call[] K315 = new Call[]{TinyExpressionP4Parser::e63,TinyExpressionP4Parser::e64}; - private static final String[] K316 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3153:3163:body/2/tokenRef/capture/0"}; - private static final Call[] K317 = new Call[]{TinyExpressionP4Parser::e71,TinyExpressionP4Parser::e72,TinyExpressionP4Parser::e74}; - private static final String[] K318 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3210:3222:body/4/0/1/0/ruleRef/capture/0"}; - private static final String[] K319 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3239:3255:body/4/0/2/ruleRef/capture/0"}; - private static final String[] K320 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3271:3282:body/5/0/ruleRef/capture/0"}; - private static final Call[] K321 = new Call[]{TinyExpressionP4Parser::e79,TinyExpressionP4Parser::e83,TinyExpressionP4Parser::e84,TinyExpressionP4Parser::e85,TinyExpressionP4Parser::e87,TinyExpressionP4Parser::e93,TinyExpressionP4Parser::e95}; - private static final Call[] K322 = new Call[]{TinyExpressionP4Parser::e81,TinyExpressionP4Parser::e82}; - private static final String[] K323 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3504:3514:body/2/tokenRef/capture/0"}; - private static final Call[] K324 = new Call[]{TinyExpressionP4Parser::e89,TinyExpressionP4Parser::e90,TinyExpressionP4Parser::e92}; - private static final String[] K325 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3562:3574:body/4/0/1/0/ruleRef/capture/0"}; - private static final String[] K326 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3591:3608:body/4/0/2/ruleRef/capture/0"}; - private static final String[] K327 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3624:3635:body/5/0/ruleRef/capture/0"}; - private static final Call[] K328 = new Call[]{TinyExpressionP4Parser::e97,TinyExpressionP4Parser::e101,TinyExpressionP4Parser::e102,TinyExpressionP4Parser::e103,TinyExpressionP4Parser::e105,TinyExpressionP4Parser::e111,TinyExpressionP4Parser::e113}; - private static final Call[] K329 = new Call[]{TinyExpressionP4Parser::e99,TinyExpressionP4Parser::e100}; - private static final String[] K330 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3855:3865:body/2/tokenRef/capture/0"}; - private static final Call[] K331 = new Call[]{TinyExpressionP4Parser::e107,TinyExpressionP4Parser::e108,TinyExpressionP4Parser::e110}; - private static final String[] K332 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3912:3924:body/4/0/1/0/ruleRef/capture/0"}; - private static final String[] K333 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3941:3957:body/4/0/2/ruleRef/capture/0"}; - private static final String[] K334 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3973:3984:body/5/0/ruleRef/capture/0"}; - private static final Call[] K335 = new Call[]{TinyExpressionP4Parser::e115,TinyExpressionP4Parser::e117}; - private static final Label[] K336 = new Label[]{Label.of("'number'"),Label.of("'Number'"),Label.of("'string'"),Label.of("'String'"),Label.of("'boolean'"),Label.of("'Boolean'"),Label.of("'object'"),Label.of("'Object'")}; - private static final Call[] K337 = new Call[]{TinyExpressionP4Parser::e119,TinyExpressionP4Parser::e120,TinyExpressionP4Parser::e121,TinyExpressionP4Parser::e122,TinyExpressionP4Parser::e123,TinyExpressionP4Parser::e124,TinyExpressionP4Parser::e125,TinyExpressionP4Parser::e126}; - private static final Label[] K338 = new Label[]{Label.of("'number'")}; - private static final Label K339 = Label.of("'number'"); - private static final Label[] K340 = new Label[]{Label.of("'Number'")}; - private static final Label K341 = Label.of("'Number'"); - private static final Label K342 = Label.of("'string'"); - private static final Label[] K343 = new Label[]{Label.of("'String'")}; - private static final Label K344 = Label.of("'String'"); - private static final Label K345 = Label.of("'boolean'"); - private static final Label[] K346 = new Label[]{Label.of("'Boolean'")}; - private static final Label K347 = Label.of("'Boolean'"); - private static final Label K348 = Label.of("'object'"); - private static final Label[] K349 = new Label[]{Label.of("'Object'")}; - private static final Label K350 = Label.of("'Object'"); - private static final Call[] K351 = new Call[]{TinyExpressionP4Parser::e128,TinyExpressionP4Parser::e130}; - private static final Label[] K352 = new Label[]{Label.of("'number'"),Label.of("'Number'"),Label.of("'float'"),Label.of("'Float'")}; - private static final Call[] K353 = new Call[]{TinyExpressionP4Parser::e132,TinyExpressionP4Parser::e133,TinyExpressionP4Parser::e134,TinyExpressionP4Parser::e135}; - private static final Label[] K354 = new Label[]{Label.of("'float'")}; - private static final Label K355 = Label.of("'float'"); - private static final Label[] K356 = new Label[]{Label.of("'Float'")}; - private static final Label K357 = Label.of("'Float'"); - private static final Call[] K358 = new Call[]{TinyExpressionP4Parser::e137,TinyExpressionP4Parser::e139}; - private static final Label[] K359 = new Label[]{Label.of("'string'"),Label.of("'String'")}; - private static final Call[] K360 = new Call[]{TinyExpressionP4Parser::e141,TinyExpressionP4Parser::e142}; - private static final Call[] K361 = new Call[]{TinyExpressionP4Parser::e144,TinyExpressionP4Parser::e146}; - private static final Label[] K362 = new Label[]{Label.of("'boolean'"),Label.of("'Boolean'")}; - private static final Call[] K363 = new Call[]{TinyExpressionP4Parser::e148,TinyExpressionP4Parser::e149}; - private static final Call[] K364 = new Call[]{TinyExpressionP4Parser::e151,TinyExpressionP4Parser::e153}; - private static final Label[] K365 = new Label[]{Label.of("'object'"),Label.of("'Object'")}; - private static final Call[] K366 = new Call[]{TinyExpressionP4Parser::e155,TinyExpressionP4Parser::e156}; - private static final Call[] K367 = new Call[]{TinyExpressionP4Parser::e158,TinyExpressionP4Parser::e159,TinyExpressionP4Parser::e160}; - private static final Label[] K368 = new Label[]{Label.of("'if'")}; - private static final Label K369 = Label.of("'if'"); - private static final Label[] K370 = new Label[]{Label.of("'not'")}; - private static final Label K371 = Label.of("'not'"); - private static final Label[] K372 = new Label[]{Label.of("'exists'")}; - private static final Label K373 = Label.of("'exists'"); - private static final Call[] K374 = new Call[]{TinyExpressionP4Parser::e162,TinyExpressionP4Parser::e163,TinyExpressionP4Parser::e164}; - private static final Label[] K375 = new Label[]{Label.of("'description'")}; - private static final Label K376 = Label.of("'description'"); - private static final Label K377 = Label.of("'='"); - private static final Delimiters[] K378 = new Delimiters[]{K218,K218,K218,K218,K218}; - private static final Trivia K379 = new Trivia(K218,null,K378,null,null); - private static final Call[] K380 = new Call[]{TinyExpressionP4Parser::e166,TinyExpressionP4Parser::e167,TinyExpressionP4Parser::e168,TinyExpressionP4Parser::e169,TinyExpressionP4Parser::e171}; - private static final Label[] K381 = new Label[]{Label.of("'@'")}; - private static final Label K382 = Label.of("'@'"); - private static final Label[] K383 = new Label[]{Label.of("IdentifierParser")}; - private static final Label[] K384 = new Label[]{Label.of("'('")}; - private static final Label K385 = Label.of("'('"); - private static final Label[] K386 = new Label[]{Label.of("')'")}; - private static final Label K387 = Label.of("')'"); - private static final Call[] K388 = new Call[]{TinyExpressionP4Parser::e173,TinyExpressionP4Parser::e174}; - private static final Label[] K389 = new Label[]{Label.of("','")}; - private static final Label[] K390 = new Label[]{Label.of("','"),Label.of("'='")}; - private static final Call[] K391 = new Call[]{TinyExpressionP4Parser::e176,TinyExpressionP4Parser::e177}; - private static final Label K392 = Label.of("','"); - private static final Call[] K393 = new Call[]{TinyExpressionP4Parser::e179,TinyExpressionP4Parser::e180,TinyExpressionP4Parser::e181}; - private static final Call[] K394 = new Call[]{TinyExpressionP4Parser::e183,TinyExpressionP4Parser::e184,TinyExpressionP4Parser::e185,TinyExpressionP4Parser::e186}; - private static final Delimiters[] K395 = new Delimiters[]{K218,K218,K218,K218,K218,K218,K218,K218}; - private static final Trivia K396 = new Trivia(K218,null,K395,null,null); - private static final Call[] K397 = new Call[]{TinyExpressionP4Parser::e188,TinyExpressionP4Parser::e189,TinyExpressionP4Parser::e190,TinyExpressionP4Parser::e191,TinyExpressionP4Parser::e193,TinyExpressionP4Parser::e194,TinyExpressionP4Parser::e195,TinyExpressionP4Parser::e196}; - private static final String[] K398 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5033:5043:body/1/tokenRef/capture/0"}; - private static final String[] K399 = new String[]{"methodName"}; - private static final String[] K400 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5072:5088:body/3/0/ruleRef/capture/0"}; - private static final String[] K401 = new String[]{"parameters"}; - private static final Label[] K402 = new Label[]{Label.of("'{'")}; - private static final Label K403 = Label.of("'{'"); - private static final String[] K404 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5125:5141:body/6/ruleRef/capture/0"}; - private static final Label[] K405 = new Label[]{Label.of("'}'")}; - private static final Label K406 = Label.of("'}'"); - private static final Call[] K407 = new Call[]{TinyExpressionP4Parser::e198,TinyExpressionP4Parser::e199,TinyExpressionP4Parser::e200,TinyExpressionP4Parser::e201,TinyExpressionP4Parser::e203,TinyExpressionP4Parser::e204,TinyExpressionP4Parser::e205,TinyExpressionP4Parser::e206}; - private static final String[] K408 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5359:5369:body/1/tokenRef/capture/0"}; - private static final String[] K409 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5398:5414:body/3/0/ruleRef/capture/0"}; - private static final String[] K410 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5451:5467:body/6/ruleRef/capture/0"}; - private static final Call[] K411 = new Call[]{TinyExpressionP4Parser::e208,TinyExpressionP4Parser::e209,TinyExpressionP4Parser::e210,TinyExpressionP4Parser::e211,TinyExpressionP4Parser::e213,TinyExpressionP4Parser::e214,TinyExpressionP4Parser::e215,TinyExpressionP4Parser::e216}; - private static final String[] K412 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5688:5698:body/1/tokenRef/capture/0"}; - private static final String[] K413 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5727:5743:body/3/0/ruleRef/capture/0"}; - private static final String[] K414 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5780:5797:body/6/ruleRef/capture/0"}; - private static final Call[] K415 = new Call[]{TinyExpressionP4Parser::e218,TinyExpressionP4Parser::e219,TinyExpressionP4Parser::e220,TinyExpressionP4Parser::e221,TinyExpressionP4Parser::e223,TinyExpressionP4Parser::e224,TinyExpressionP4Parser::e225,TinyExpressionP4Parser::e226}; - private static final String[] K416 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6015:6025:body/1/tokenRef/capture/0"}; - private static final String[] K417 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6054:6070:body/3/0/ruleRef/capture/0"}; - private static final String[] K418 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6107:6123:body/6/ruleRef/capture/0"}; - private static final Call[] K419 = new Call[]{TinyExpressionP4Parser::e228,TinyExpressionP4Parser::e229}; - private static final String[] K420 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6220:6235:body/0/ruleRef/capture/0"}; - private static final String[] K421 = new String[]{"values"}; - private static final Call[] K422 = new Call[]{TinyExpressionP4Parser::e231,TinyExpressionP4Parser::e232}; - private static final String[] K423 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6250:6265:body/1/0/1/ruleRef/capture/0"}; - private static final Call[] K424 = new Call[]{TinyExpressionP4Parser::e234,TinyExpressionP4Parser::e235,TinyExpressionP4Parser::e236}; - private static final String[] K425 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6393:6403:body/1/tokenRef/capture/0"}; - private static final String[] K426 = new String[]{"paramName"}; - private static final Call[] K427 = new Call[]{TinyExpressionP4Parser::e238,TinyExpressionP4Parser::e239}; - private static final String[] K428 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6422:6432:body/2/0/1/ruleRef/capture/0"}; - private static final String[] K429 = new String[]{"type"}; - private static final Call[] K430 = new Call[]{TinyExpressionP4Parser::e241,TinyExpressionP4Parser::e242}; - private static final Call[] K431 = new Call[]{TinyExpressionP4Parser::e244}; - private static final Call[] K432 = new Call[]{TinyExpressionP4Parser::e246}; - private static final Call[] K433 = new Call[]{TinyExpressionP4Parser::e248}; - private static final int[] K434 = new int[]{9,13,32,32,47,47,102,102,110,110}; - private static final int[] K435 = new int[]{26}; - private static final Guard K436 = new Guard(K434,K51,null,K435,1); - private static final int[] K437 = new int[]{9,13,32,32,47,47,115,115}; - private static final Label[] K438 = new Label[]{null,Label.of("'string'")}; - private static final int[] K439 = new int[]{27}; - private static final Guard K440 = new Guard(K437,K438,K218,K439,1); - private static final int[] K441 = new int[]{9,13,32,32,47,47,98,98}; - private static final Label[] K442 = new Label[]{null,Label.of("'boolean'")}; - private static final int[] K443 = new int[]{28}; - private static final Guard K444 = new Guard(K441,K442,K218,K443,1); - private static final int[] K445 = new int[]{9,13,32,32,47,47,111,111}; - private static final Label[] K446 = new Label[]{null,Label.of("'object'")}; - private static final int[] K447 = new int[]{29}; - private static final Guard K448 = new Guard(K445,K446,K218,K447,1); - private static final Guard[] K449 = new Guard[]{K436,K440,K444,K448}; - private static final Call[] K450 = new Call[]{TinyExpressionP4Parser::e250,TinyExpressionP4Parser::e251,TinyExpressionP4Parser::e252,TinyExpressionP4Parser::e253}; - private static final Call[] K451 = new Call[]{TinyExpressionP4Parser::e255,TinyExpressionP4Parser::e256,TinyExpressionP4Parser::e261,TinyExpressionP4Parser::e262,TinyExpressionP4Parser::e264,TinyExpressionP4Parser::e271,TinyExpressionP4Parser::e272,TinyExpressionP4Parser::e274}; - private static final Label[] K452 = new Label[]{Label.of("'external'")}; - private static final Label K453 = Label.of("'external'"); - private static final Label[] K454 = new Label[]{Label.of("'returning'")}; - private static final Label[] K455 = new Label[]{Label.of("'returning'"),Label.of("'as'")}; - private static final Call[] K456 = new Call[]{TinyExpressionP4Parser::e258,TinyExpressionP4Parser::e259}; - private static final Label K457 = Label.of("'returning'"); - private static final Label[] K458 = new Label[]{Label.of("':'")}; - private static final Label K459 = Label.of("':'"); - private static final Call[] K460 = new Call[]{TinyExpressionP4Parser::e266,TinyExpressionP4Parser::e270}; - private static final Call[] K461 = new Call[]{TinyExpressionP4Parser::e267,TinyExpressionP4Parser::e268,TinyExpressionP4Parser::e269}; - private static final String[] K462 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7081:7090:body/4/0/0/0/ruleRef/capture/0"}; - private static final String[] K463 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7106:7116:body/4/0/0/2/tokenRef/capture/0"}; - private static final String[] K464 = new String[]{"name"}; - private static final String[] K465 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7125:7135:body/4/0/1/tokenRef/capture/0"}; - private static final String[] K466 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7154:7163:body/6/0/ruleRef/capture/0"}; - private static final String[] K467 = new String[]{"args"}; - private static final Call[] K468 = new Call[]{TinyExpressionP4Parser::e276,TinyExpressionP4Parser::e277,TinyExpressionP4Parser::e290,TinyExpressionP4Parser::e297,TinyExpressionP4Parser::e298,TinyExpressionP4Parser::e300}; - private static final Call[] K469 = new Call[]{TinyExpressionP4Parser::e279,TinyExpressionP4Parser::e288}; - private static final Label[] K470 = new Label[]{Label.of("'number'"),Label.of("'float'"),Label.of("':'")}; - private static final Call[] K471 = new Call[]{TinyExpressionP4Parser::e280,TinyExpressionP4Parser::e285,TinyExpressionP4Parser::e286}; - private static final Call[] K472 = new Call[]{TinyExpressionP4Parser::e282,TinyExpressionP4Parser::e283}; - private static final Call[] K473 = new Call[]{TinyExpressionP4Parser::e292,TinyExpressionP4Parser::e296}; - private static final Call[] K474 = new Call[]{TinyExpressionP4Parser::e293,TinyExpressionP4Parser::e294,TinyExpressionP4Parser::e295}; - private static final String[] K475 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7372:7381:body/2/0/0/0/ruleRef/capture/0"}; - private static final String[] K476 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7397:7407:body/2/0/0/2/tokenRef/capture/0"}; - private static final String[] K477 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7416:7426:body/2/0/1/tokenRef/capture/0"}; - private static final String[] K478 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7445:7454:body/4/0/ruleRef/capture/0"}; - private static final Call[] K479 = new Call[]{TinyExpressionP4Parser::e302,TinyExpressionP4Parser::e303,TinyExpressionP4Parser::e308,TinyExpressionP4Parser::e309,TinyExpressionP4Parser::e311,TinyExpressionP4Parser::e318,TinyExpressionP4Parser::e319,TinyExpressionP4Parser::e321}; - private static final Call[] K480 = new Call[]{TinyExpressionP4Parser::e305,TinyExpressionP4Parser::e306}; - private static final Call[] K481 = new Call[]{TinyExpressionP4Parser::e313,TinyExpressionP4Parser::e317}; - private static final Call[] K482 = new Call[]{TinyExpressionP4Parser::e314,TinyExpressionP4Parser::e315,TinyExpressionP4Parser::e316}; - private static final String[] K483 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7649:7658:body/4/0/0/0/ruleRef/capture/0"}; - private static final String[] K484 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7674:7684:body/4/0/0/2/tokenRef/capture/0"}; - private static final String[] K485 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7693:7703:body/4/0/1/tokenRef/capture/0"}; - private static final String[] K486 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7722:7731:body/6/0/ruleRef/capture/0"}; - private static final Call[] K487 = new Call[]{TinyExpressionP4Parser::e323,TinyExpressionP4Parser::e324,TinyExpressionP4Parser::e329,TinyExpressionP4Parser::e330,TinyExpressionP4Parser::e332,TinyExpressionP4Parser::e339,TinyExpressionP4Parser::e340,TinyExpressionP4Parser::e342}; - private static final Call[] K488 = new Call[]{TinyExpressionP4Parser::e326,TinyExpressionP4Parser::e327}; - private static final Call[] K489 = new Call[]{TinyExpressionP4Parser::e334,TinyExpressionP4Parser::e338}; - private static final Call[] K490 = new Call[]{TinyExpressionP4Parser::e335,TinyExpressionP4Parser::e336,TinyExpressionP4Parser::e337}; - private static final String[] K491 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7926:7935:body/4/0/0/0/ruleRef/capture/0"}; - private static final String[] K492 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7951:7961:body/4/0/0/2/tokenRef/capture/0"}; - private static final String[] K493 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7970:7980:body/4/0/1/tokenRef/capture/0"}; - private static final String[] K494 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7999:8008:body/6/0/ruleRef/capture/0"}; - private static final int[] K495 = new int[]{9,13,32,32,47,47,99,99}; - private static final Label[] K496 = new Label[]{null,Label.of("'call'"),Label.of("'internal'")}; - private static final Guard K497 = new Guard(K495,K496,K218,K237,0); - private static final Guard[] K498 = new Guard[]{K497,null}; - private static final Call[] K499 = new Call[]{TinyExpressionP4Parser::e344,TinyExpressionP4Parser::e348}; - private static final Call[] K500 = new Call[]{TinyExpressionP4Parser::e345,TinyExpressionP4Parser::e346}; - private static final Label[] K501 = new Label[]{Label.of("'call'")}; - private static final Label K502 = Label.of("'call'"); - private static final Label[] K503 = new Label[]{Label.of("'internal'")}; - private static final Label K504 = Label.of("'internal'"); - private static final Call[] K505 = new Call[]{TinyExpressionP4Parser::e350,TinyExpressionP4Parser::e351,TinyExpressionP4Parser::e352,TinyExpressionP4Parser::e353,TinyExpressionP4Parser::e355}; - private static final String[] K506 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8385:8395:body/1/tokenRef/capture/0"}; - private static final String[] K507 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8408:8417:body/3/0/ruleRef/capture/0"}; - private static final Call[] K508 = new Call[]{TinyExpressionP4Parser::e357,TinyExpressionP4Parser::e358,TinyExpressionP4Parser::e359,TinyExpressionP4Parser::e360,TinyExpressionP4Parser::e361}; - private static final String[] K509 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8596:8613:body/0/ruleRef/capture/0"}; - private static final String[] K510 = new String[]{"condition"}; - private static final Label[] K511 = new Label[]{Label.of("'?'")}; - private static final Label K512 = Label.of("'?'"); - private static final String[] K513 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8629:8645:body/2/ruleRef/capture/0"}; - private static final String[] K514 = new String[]{"thenExpr"}; - private static final String[] K515 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8660:8676:body/4/ruleRef/capture/0"}; - private static final String[] K516 = new String[]{"elseExpr"}; - private static final Call[] K517 = new Call[]{TinyExpressionP4Parser::e363,TinyExpressionP4Parser::e364,TinyExpressionP4Parser::e365,TinyExpressionP4Parser::e366}; - private static final String[] K518 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8772:8787:body/0/ruleRef/capture/0"}; - private static final String[] K519 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8801:8821:body/1/ruleRef/capture/0"}; - private static final String[] K520 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8835:8861:body/2/ruleRef/capture/0"}; - private static final String[] K521 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8875:8885:body/3/ruleRef/capture/0"}; - private static final Call[] K522 = new Call[]{TinyExpressionP4Parser::e368,TinyExpressionP4Parser::e369}; - private static final String[] K523 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8955:8973:body/0/ruleRef/capture/0"}; - private static final Call[] K524 = new Call[]{TinyExpressionP4Parser::e371,TinyExpressionP4Parser::e372}; - private static final String[] K525 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8988:9006:body/1/0/1/ruleRef/capture/0"}; - private static final Call[] K526 = new Call[]{TinyExpressionP4Parser::e374,TinyExpressionP4Parser::e375}; - private static final String[] K527 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9211:9221:body/0/ruleRef/capture/0"}; - private static final String[] K528 = new String[]{"left"}; - private static final Label[] K529 = new Label[]{Label.of("NumberExpressionRepeat0Parser")}; - private static final Call[] K530 = new Call[]{TinyExpressionP4Parser::e377,TinyExpressionP4Parser::e378}; - private static final String[] K531 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9230:9235:body/1/0/0/ruleRef/capture/0"}; - private static final String[] K532 = new String[]{"op"}; - private static final String[] K533 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9240:9250:body/1/0/1/ruleRef/capture/0"}; - private static final String[] K534 = new String[]{"right"}; - private static final Call[] K535 = new Call[]{TinyExpressionP4Parser::e380,TinyExpressionP4Parser::e381}; - private static final String[] K536 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9366:9378:body/0/ruleRef/capture/0"}; - private static final Label[] K537 = new Label[]{Label.of("NumberTermRepeat0Parser")}; - private static final Call[] K538 = new Call[]{TinyExpressionP4Parser::e383,TinyExpressionP4Parser::e384}; - private static final String[] K539 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9387:9392:body/1/0/0/ruleRef/capture/0"}; - private static final String[] K540 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9397:9409:body/1/0/1/ruleRef/capture/0"}; - private static final Call[] K541 = new Call[]{TinyExpressionP4Parser::e386,TinyExpressionP4Parser::e387}; - private static final Label[] K542 = new Label[]{Label.of("'+'")}; - private static final Label K543 = Label.of("'+'"); - private static final Label[] K544 = new Label[]{Label.of("'-'")}; - private static final Label K545 = Label.of("'-'"); - private static final Call[] K546 = new Call[]{TinyExpressionP4Parser::e389,TinyExpressionP4Parser::e390}; - private static final Label[] K547 = new Label[]{Label.of("'*'")}; - private static final Label K548 = Label.of("'*'"); - private static final Label[] K549 = new Label[]{Label.of("'/'")}; - private static final Label K550 = Label.of("'/'"); - private static final Label[] K551 = new Label[]{null,Label.of("'sin'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K552 = new int[]{45}; - private static final Guard K553 = new Guard(K437,K551,K218,K552,1); - private static final Label[] K554 = new Label[]{null,Label.of("'cos'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K555 = new int[]{46}; - private static final Guard K556 = new Guard(K495,K554,K218,K555,1); - private static final int[] K557 = new int[]{9,13,32,32,47,47,116,116}; - private static final Label[] K558 = new Label[]{null,Label.of("'tan'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K559 = new int[]{47}; - private static final Guard K560 = new Guard(K557,K558,K218,K559,1); - private static final Label[] K561 = new Label[]{null,Label.of("'sqrt'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K562 = new int[]{48}; - private static final Guard K563 = new Guard(K437,K561,K218,K562,1); - private static final int[] K564 = new int[]{9,13,32,32,47,47,109,109}; - private static final Label[] K565 = new Label[]{null,Label.of("'min'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K566 = new int[]{49}; - private static final Guard K567 = new Guard(K564,K565,K218,K566,1); - private static final Label[] K568 = new Label[]{null,Label.of("'max'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K569 = new int[]{50}; - private static final Guard K570 = new Guard(K564,K568,K218,K569,1); - private static final int[] K571 = new int[]{9,13,32,32,47,47,114,114}; - private static final Label[] K572 = new Label[]{null,Label.of("'random'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K573 = new int[]{51}; - private static final Guard K574 = new Guard(K571,K572,K218,K573,1); - private static final int[] K575 = new int[]{9,13,32,32,47,47,97,97}; - private static final Label[] K576 = new Label[]{null,Label.of("'abs'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K577 = new int[]{52}; - private static final Guard K578 = new Guard(K575,K576,K218,K577,1); - private static final Label[] K579 = new Label[]{null,Label.of("'round'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K580 = new int[]{53}; - private static final Guard K581 = new Guard(K571,K579,K218,K580,1); - private static final Label[] K582 = new Label[]{null,Label.of("'ceil'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K583 = new int[]{54}; - private static final Guard K584 = new Guard(K495,K582,K218,K583,1); - private static final int[] K585 = new int[]{9,13,32,32,47,47,102,102}; - private static final Label[] K586 = new Label[]{null,Label.of("'floor'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K587 = new int[]{55}; - private static final Guard K588 = new Guard(K585,K586,K218,K587,1); - private static final int[] K589 = new int[]{9,13,32,32,47,47,112,112}; - private static final Label[] K590 = new Label[]{null,Label.of("'pow'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; - private static final int[] K591 = new int[]{56}; - private static final Guard K592 = new Guard(K589,K590,K218,K591,1); - private static final int[] K593 = new int[]{9,13,32,32,47,47,108,108}; - private static final Label[] K594 = new Label[]{null,Label.of("'log'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K595 = new int[]{57}; - private static final Guard K596 = new Guard(K593,K594,K218,K595,1); - private static final int[] K597 = new int[]{9,13,32,32,47,47,101,101}; - private static final Label[] K598 = new Label[]{null,Label.of("'exp'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K599 = new int[]{58}; - private static final Guard K600 = new Guard(K597,K598,K218,K599,1); - private static final Guard[] K601 = new Guard[]{K553,K556,K560,K563,K567,K570,K574,K578,K581,K584,K588,K592,K596,K600}; - private static final Call[] K602 = new Call[]{TinyExpressionP4Parser::e392,TinyExpressionP4Parser::e393,TinyExpressionP4Parser::e394,TinyExpressionP4Parser::e395,TinyExpressionP4Parser::e396,TinyExpressionP4Parser::e397,TinyExpressionP4Parser::e398,TinyExpressionP4Parser::e399,TinyExpressionP4Parser::e400,TinyExpressionP4Parser::e401,TinyExpressionP4Parser::e402,TinyExpressionP4Parser::e403,TinyExpressionP4Parser::e404,TinyExpressionP4Parser::e405}; - private static final Delimiters[] K603 = new Delimiters[]{K218,K218,K218,K218}; - private static final Trivia K604 = new Trivia(K218,null,K603,null,null); - private static final Call[] K605 = new Call[]{TinyExpressionP4Parser::e407,TinyExpressionP4Parser::e408,TinyExpressionP4Parser::e409,TinyExpressionP4Parser::e410}; - private static final Label[] K606 = new Label[]{Label.of("'sin'")}; - private static final Label K607 = Label.of("'sin'"); - private static final String[] K608 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9895:9913:body/2/ruleRef/capture/0"}; - private static final String[] K609 = new String[]{"arg"}; - private static final Call[] K610 = new Call[]{TinyExpressionP4Parser::e412,TinyExpressionP4Parser::e413,TinyExpressionP4Parser::e414,TinyExpressionP4Parser::e415}; - private static final Label[] K611 = new Label[]{Label.of("'cos'")}; - private static final Label K612 = Label.of("'cos'"); - private static final String[] K613 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9988:10006:body/2/ruleRef/capture/0"}; - private static final Call[] K614 = new Call[]{TinyExpressionP4Parser::e417,TinyExpressionP4Parser::e418,TinyExpressionP4Parser::e419,TinyExpressionP4Parser::e420}; - private static final Label[] K615 = new Label[]{Label.of("'tan'")}; - private static final Label K616 = Label.of("'tan'"); - private static final String[] K617 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10081:10099:body/2/ruleRef/capture/0"}; - private static final Call[] K618 = new Call[]{TinyExpressionP4Parser::e422,TinyExpressionP4Parser::e423,TinyExpressionP4Parser::e424,TinyExpressionP4Parser::e425}; - private static final Label[] K619 = new Label[]{Label.of("'sqrt'")}; - private static final Label K620 = Label.of("'sqrt'"); - private static final String[] K621 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10177:10195:body/2/ruleRef/capture/0"}; - private static final Call[] K622 = new Call[]{TinyExpressionP4Parser::e427,TinyExpressionP4Parser::e428,TinyExpressionP4Parser::e429,TinyExpressionP4Parser::e430,TinyExpressionP4Parser::e434}; - private static final Label[] K623 = new Label[]{Label.of("'min'")}; - private static final Label K624 = Label.of("'min'"); - private static final String[] K625 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10278:10296:body/2/ruleRef/capture/0"}; - private static final String[] K626 = new String[]{"first"}; - private static final Call[] K627 = new Call[]{TinyExpressionP4Parser::e432,TinyExpressionP4Parser::e433}; - private static final String[] K628 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10310:10328:body/3/0/1/ruleRef/capture/0"}; - private static final String[] K629 = new String[]{"rest"}; - private static final Call[] K630 = new Call[]{TinyExpressionP4Parser::e436,TinyExpressionP4Parser::e437,TinyExpressionP4Parser::e438,TinyExpressionP4Parser::e439,TinyExpressionP4Parser::e443}; - private static final Label[] K631 = new Label[]{Label.of("'max'")}; - private static final Label K632 = Label.of("'max'"); - private static final String[] K633 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10414:10432:body/2/ruleRef/capture/0"}; - private static final Call[] K634 = new Call[]{TinyExpressionP4Parser::e441,TinyExpressionP4Parser::e442}; - private static final String[] K635 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10446:10464:body/3/0/1/ruleRef/capture/0"}; - private static final Call[] K636 = new Call[]{TinyExpressionP4Parser::e445,TinyExpressionP4Parser::e446,TinyExpressionP4Parser::e447}; - private static final Label[] K637 = new Label[]{Label.of("'random'")}; - private static final Label K638 = Label.of("'random'"); - private static final Call[] K639 = new Call[]{TinyExpressionP4Parser::e449,TinyExpressionP4Parser::e450,TinyExpressionP4Parser::e451,TinyExpressionP4Parser::e452}; - private static final Label[] K640 = new Label[]{Label.of("'abs'")}; - private static final Label K641 = Label.of("'abs'"); - private static final String[] K642 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10606:10624:body/2/ruleRef/capture/0"}; - private static final Call[] K643 = new Call[]{TinyExpressionP4Parser::e454,TinyExpressionP4Parser::e455,TinyExpressionP4Parser::e456,TinyExpressionP4Parser::e457}; - private static final Label[] K644 = new Label[]{Label.of("'round'")}; - private static final Label K645 = Label.of("'round'"); - private static final String[] K646 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10705:10723:body/2/ruleRef/capture/0"}; - private static final Call[] K647 = new Call[]{TinyExpressionP4Parser::e459,TinyExpressionP4Parser::e460,TinyExpressionP4Parser::e461,TinyExpressionP4Parser::e462}; - private static final Label[] K648 = new Label[]{Label.of("'ceil'")}; - private static final Label K649 = Label.of("'ceil'"); - private static final String[] K650 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10801:10819:body/2/ruleRef/capture/0"}; - private static final Call[] K651 = new Call[]{TinyExpressionP4Parser::e464,TinyExpressionP4Parser::e465,TinyExpressionP4Parser::e466,TinyExpressionP4Parser::e467}; - private static final Label[] K652 = new Label[]{Label.of("'floor'")}; - private static final Label K653 = Label.of("'floor'"); - private static final String[] K654 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10900:10918:body/2/ruleRef/capture/0"}; - private static final Call[] K655 = new Call[]{TinyExpressionP4Parser::e469,TinyExpressionP4Parser::e470,TinyExpressionP4Parser::e471,TinyExpressionP4Parser::e472,TinyExpressionP4Parser::e473,TinyExpressionP4Parser::e474}; - private static final Label[] K656 = new Label[]{Label.of("'pow'")}; - private static final Label K657 = Label.of("'pow'"); - private static final String[] K658 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11004:11022:body/2/ruleRef/capture/0"}; - private static final String[] K659 = new String[]{"base"}; - private static final String[] K660 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11033:11051:body/4/ruleRef/capture/0"}; - private static final String[] K661 = new String[]{"exponent"}; - private static final Call[] K662 = new Call[]{TinyExpressionP4Parser::e476,TinyExpressionP4Parser::e477,TinyExpressionP4Parser::e478,TinyExpressionP4Parser::e479}; - private static final Label[] K663 = new Label[]{Label.of("'log'")}; - private static final Label K664 = Label.of("'log'"); - private static final String[] K665 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11131:11149:body/2/ruleRef/capture/0"}; - private static final Call[] K666 = new Call[]{TinyExpressionP4Parser::e481,TinyExpressionP4Parser::e482,TinyExpressionP4Parser::e483,TinyExpressionP4Parser::e484}; - private static final Label[] K667 = new Label[]{Label.of("'exp'")}; - private static final Label K668 = Label.of("'exp'"); - private static final String[] K669 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11224:11242:body/2/ruleRef/capture/0"}; - private static final Call[] K670 = new Call[]{TinyExpressionP4Parser::e486,TinyExpressionP4Parser::e487,TinyExpressionP4Parser::e488,TinyExpressionP4Parser::e489,TinyExpressionP4Parser::e490,TinyExpressionP4Parser::e491}; - private static final Label[] K671 = new Label[]{Label.of("'toNum'")}; - private static final Label K672 = Label.of("'toNum'"); - private static final String[] K673 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11417:11433:body/2/ruleRef/capture/0"}; - private static final String[] K674 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11445:11463:body/4/ruleRef/capture/0"}; - private static final String[] K675 = new String[]{"defaultValue"}; - private static final int[] K676 = new int[]{9,13,32,32,40,40,47,47}; - private static final Label[] K677 = new Label[]{null,Label.of("'('"),Label.of("'?'"),Label.of("':'"),Label.of("')'")}; - private static final int[] K678 = new int[]{108}; - private static final Guard K679 = new Guard(K676,K677,K218,K678,1); - private static final Label[] K680 = new Label[]{null,Label.of("'match'"),Label.of("'{'"),Label.of("','"),Label.of("'}'")}; - private static final int[] K681 = new int[]{109}; - private static final Guard K682 = new Guard(K564,K680,K218,K681,1); - private static final int[] K683 = new int[]{9,13,32,32,47,47,105,105}; - private static final Label[] K684 = new Label[]{null,Label.of("'if'"),Label.of("'('"),Label.of("')'"),Label.of("'{'"),Label.of("'}'"),Label.of("'else'")}; - private static final int[] K685 = new int[]{106}; - private static final Guard K686 = new Guard(K683,K684,K218,K685,1); - private static final int[] K687 = new int[]{9,13,32,32,47,47,97,97,99,99,101,102,108,109,112,112,114,116}; - private static final Label[] K688 = new Label[]{null,Label.of("'sin'"),Label.of("'('"),Label.of("')'"),Label.of("'cos'"),Label.of("'tan'"),Label.of("'sqrt'"),Label.of("'min'"),Label.of("'max'"),Label.of("'random'"),Label.of("'abs'"),Label.of("'round'"),Label.of("'ceil'"),Label.of("'floor'"),Label.of("'pow'"),Label.of("','"),Label.of("'log'"),Label.of("'exp'")}; - private static final int[] K689 = new int[]{44,45}; - private static final Guard K690 = new Guard(K687,K688,K218,K689,2); - private static final Label[] K691 = new Label[]{null,Label.of("'toNum'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; - private static final int[] K692 = new int[]{59}; - private static final Guard K693 = new Guard(K557,K691,K218,K692,1); - private static final int[] K694 = new int[]{9,13,32,32,36,36,47,47}; - private static final Label[] K695 = new Label[]{null,Label.of("'$'"),Label.of("'.length'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K696 = new int[]{69,121}; - private static final Guard K697 = new Guard(K694,K695,K218,K696,2); - private static final Label[] K698 = new Label[]{null,Label.of("'len'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K699 = new int[]{65}; - private static final Guard K700 = new Guard(K593,K698,K218,K699,1); - private static final Label[] K701 = new Label[]{null,Label.of("'length'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K702 = new int[]{64}; - private static final Guard K703 = new Guard(K593,K701,K218,K702,1); - private static final Label[] K704 = new Label[]{null,Label.of("'external'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K705 = new int[]{32}; - private static final Guard K706 = new Guard(K597,K704,K218,K705,1); - private static final Label[] K707 = new Label[]{null,Label.of("'$'")}; - private static final int[] K708 = new int[]{121}; - private static final Guard K709 = new Guard(K694,K707,K218,K708,1); - private static final int[] K710 = new int[]{9,13,32,32,47,47,99,99,105,105}; - private static final Label[] K711 = new Label[]{null,Label.of("'call'"),Label.of("'internal'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K712 = new int[]{36,35}; + private static final Label[] K247 = new Label[]{Label.of("LONG_CODE_BLOCKParser")}; + private static final org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression K248 = new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.BOL,"",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CAPTURE,"fence",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",4,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"`",0,0,List.of()))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",48,57,List.of()))))))))))))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,":",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",48,57,List.of()))))))))))))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,".",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",48,57,List.of()))))))))))))))))))))))))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\r\n",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\r",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\n",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.NOT,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.BOL,"",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.BACKREF,"fence",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.EOL,"",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.ANY,"",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.BOL,"",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.BACKREF,"fence",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\r\n",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\r",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\n",0,0,List.of()))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.EOF,"",0,0,List.of()))))))))))))))))); + private static final Label K249 = Label.of("LONG_CODE_BLOCKParser"); + private static final Delimiters[] K250 = new Delimiters[]{K218,K218,K218}; + private static final Trivia K251 = new Trivia(K218,null,K250,null,null); + private static final Call[] K252 = new Call[]{TinyExpressionP4Parser::e18,TinyExpressionP4Parser::e19,TinyExpressionP4Parser::e20}; + private static final Label[] K253 = new Label[]{Label.of("CODE_STARTParser")}; + private static final org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression K254 = new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.BOL,"",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"```",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",48,57,List.of()))))))))))))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,":",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",48,57,List.of()))))))))))))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,".",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",48,57,List.of()))))))))))))))))))))))))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\r\n",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\r",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\n",0,0,List.of()))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.EOF,"",0,0,List.of()))))))))))))))))); + private static final Label K255 = Label.of("CODE_STARTParser"); + private static final Label[] K256 = new Label[]{Label.of("CODE_BODYParser")}; + private static final org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression K257 = new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.NOT,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"```",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.ANY,"",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LOOK,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"```",0,0,List.of()))))))))))))))))))); + private static final Label K258 = Label.of("CODE_BODYParser"); + private static final Label[] K259 = new Label[]{Label.of("CODE_ENDParser")}; + private static final org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression K260 = new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.BOL,"",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"```",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\r\n",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\r",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\n",0,0,List.of()))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.EOF,"",0,0,List.of()))))))))))))))))); + private static final Label K261 = Label.of("CODE_ENDParser"); + private static final Delimiters[] K262 = new Delimiters[]{K218,K218,K218,K218,K218,K218}; + private static final Trivia K263 = new Trivia(K218,null,K262,null,null); + private static final Call[] K264 = new Call[]{TinyExpressionP4Parser::e22,TinyExpressionP4Parser::e23,TinyExpressionP4Parser::e24,TinyExpressionP4Parser::e28,TinyExpressionP4Parser::e29,TinyExpressionP4Parser::e30}; + private static final Label[] K265 = new Label[]{Label.of("'import'")}; + private static final Label K266 = Label.of("'import'"); + private static final String[] K267 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2127:2136:body/1/ruleRef/capture/0"}; + private static final String[] K268 = new String[]{"className"}; + private static final Label[] K269 = new Label[]{Label.of("'#'")}; + private static final Delimiters[] K270 = new Delimiters[]{K218,K218}; + private static final Trivia K271 = new Trivia(K218,null,K270,null,null); + private static final Call[] K272 = new Call[]{TinyExpressionP4Parser::e26,TinyExpressionP4Parser::e27}; + private static final Label K273 = Label.of("'#'"); + private static final String[] K274 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2154:2164:body/2/0/1/tokenRef/capture/0"}; + private static final String[] K275 = new String[]{"method"}; + private static final Label[] K276 = new Label[]{Label.of("IDENTIFIERParser"),Label.of("__CaptureSite")}; + private static final org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression K277 = new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",97,122,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",65,90,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"_",0,0,List.of()))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",48,57,List.of()))))))))))))))))))))))))); + private static final Label K278 = Label.of("IDENTIFIERParser"); + private static final Label[] K279 = new Label[]{Label.of("'as'")}; + private static final Label K280 = Label.of("'as'"); + private static final String[] K281 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2180:2190:body/4/tokenRef/capture/0"}; + private static final String[] K282 = new String[]{"alias"}; + private static final Label[] K283 = new Label[]{Label.of("';'")}; + private static final Label K284 = Label.of("';'"); + private static final Call[] K285 = new Call[]{TinyExpressionP4Parser::e32,TinyExpressionP4Parser::e33}; + private static final String[] K286 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2272:2282:body/0/tokenRef/capture/0"}; + private static final String[] K287 = new String[]{"head"}; + private static final Label[] K288 = new Label[]{Label.of("'.'")}; + private static final Call[] K289 = new Call[]{TinyExpressionP4Parser::e35,TinyExpressionP4Parser::e36}; + private static final Label K290 = Label.of("'.'"); + private static final String[] K291 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2295:2305:body/1/0/1/tokenRef/capture/0"}; + private static final String[] K292 = new String[]{"tail"}; + private static final int[] K293 = new int[]{9,13,32,32,47,47,118,118}; + private static final Label[] K294 = new Label[]{null,Label.of("'variable'"),Label.of("'var'"),Label.of("'$'"),Label.of("';'")}; + private static final int[] K295 = new int[]{5}; + private static final Guard K296 = new Guard(K293,K294,K218,K295,1); + private static final int[] K297 = new int[]{6}; + private static final Guard K298 = new Guard(K293,K294,K218,K297,1); + private static final int[] K299 = new int[]{7}; + private static final Guard K300 = new Guard(K293,K294,K218,K299,1); + private static final int[] K301 = new int[]{8}; + private static final Guard K302 = new Guard(K293,K294,K218,K301,1); + private static final Guard[] K303 = new Guard[]{K296,K298,K300,K302}; + private static final Call[] K304 = new Call[]{TinyExpressionP4Parser::e38,TinyExpressionP4Parser::e39,TinyExpressionP4Parser::e40,TinyExpressionP4Parser::e41}; + private static final Call[] K305 = new Call[]{TinyExpressionP4Parser::e43,TinyExpressionP4Parser::e47,TinyExpressionP4Parser::e48,TinyExpressionP4Parser::e49,TinyExpressionP4Parser::e51,TinyExpressionP4Parser::e57,TinyExpressionP4Parser::e59}; + private static final Label[] K306 = new Label[]{Label.of("'variable'"),Label.of("'var'")}; + private static final Call[] K307 = new Call[]{TinyExpressionP4Parser::e45,TinyExpressionP4Parser::e46}; + private static final Label[] K308 = new Label[]{Label.of("'variable'")}; + private static final Label K309 = Label.of("'variable'"); + private static final Label[] K310 = new Label[]{Label.of("'var'")}; + private static final Label K311 = Label.of("'var'"); + private static final Label K312 = Label.of("'$'"); + private static final String[] K313 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2790:2800:body/2/tokenRef/capture/0"}; + private static final String[] K314 = new String[]{"varName"}; + private static final boolean[] K315 = new boolean[]{true}; + private static final Label[] K316 = new Label[]{Label.of("Optional")}; + private static final Label[] K317 = new Label[]{Label.of("'set'")}; + private static final Call[] K318 = new Call[]{TinyExpressionP4Parser::e53,TinyExpressionP4Parser::e54,TinyExpressionP4Parser::e56}; + private static final Label K319 = Label.of("'set'"); + private static final String[] K320 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2847:2859:body/4/0/1/0/ruleRef/capture/0"}; + private static final String[] K321 = new String[]{"onlyIfAbsent"}; + private static final String[] K322 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2876:2892:body/4/0/2/ruleRef/capture/0"}; + private static final String[] K323 = new String[]{"value"}; + private static final String[] K324 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2908:2919:body/5/0/ruleRef/capture/0"}; + private static final String[] K325 = new String[]{"desc"}; + private static final Call[] K326 = new Call[]{TinyExpressionP4Parser::e61,TinyExpressionP4Parser::e65,TinyExpressionP4Parser::e66,TinyExpressionP4Parser::e67,TinyExpressionP4Parser::e69,TinyExpressionP4Parser::e75,TinyExpressionP4Parser::e77}; + private static final Call[] K327 = new Call[]{TinyExpressionP4Parser::e63,TinyExpressionP4Parser::e64}; + private static final String[] K328 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3139:3149:body/2/tokenRef/capture/0"}; + private static final Call[] K329 = new Call[]{TinyExpressionP4Parser::e71,TinyExpressionP4Parser::e72,TinyExpressionP4Parser::e74}; + private static final String[] K330 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3196:3208:body/4/0/1/0/ruleRef/capture/0"}; + private static final String[] K331 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3225:3241:body/4/0/2/ruleRef/capture/0"}; + private static final String[] K332 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3257:3268:body/5/0/ruleRef/capture/0"}; + private static final Call[] K333 = new Call[]{TinyExpressionP4Parser::e79,TinyExpressionP4Parser::e83,TinyExpressionP4Parser::e84,TinyExpressionP4Parser::e85,TinyExpressionP4Parser::e87,TinyExpressionP4Parser::e93,TinyExpressionP4Parser::e95}; + private static final Call[] K334 = new Call[]{TinyExpressionP4Parser::e81,TinyExpressionP4Parser::e82}; + private static final String[] K335 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3490:3500:body/2/tokenRef/capture/0"}; + private static final Call[] K336 = new Call[]{TinyExpressionP4Parser::e89,TinyExpressionP4Parser::e90,TinyExpressionP4Parser::e92}; + private static final String[] K337 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3548:3560:body/4/0/1/0/ruleRef/capture/0"}; + private static final String[] K338 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3577:3594:body/4/0/2/ruleRef/capture/0"}; + private static final String[] K339 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3610:3621:body/5/0/ruleRef/capture/0"}; + private static final Call[] K340 = new Call[]{TinyExpressionP4Parser::e97,TinyExpressionP4Parser::e101,TinyExpressionP4Parser::e102,TinyExpressionP4Parser::e103,TinyExpressionP4Parser::e105,TinyExpressionP4Parser::e111,TinyExpressionP4Parser::e113}; + private static final Call[] K341 = new Call[]{TinyExpressionP4Parser::e99,TinyExpressionP4Parser::e100}; + private static final String[] K342 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3841:3851:body/2/tokenRef/capture/0"}; + private static final Call[] K343 = new Call[]{TinyExpressionP4Parser::e107,TinyExpressionP4Parser::e108,TinyExpressionP4Parser::e110}; + private static final String[] K344 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3898:3910:body/4/0/1/0/ruleRef/capture/0"}; + private static final String[] K345 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3927:3943:body/4/0/2/ruleRef/capture/0"}; + private static final String[] K346 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3959:3970:body/5/0/ruleRef/capture/0"}; + private static final Call[] K347 = new Call[]{TinyExpressionP4Parser::e115,TinyExpressionP4Parser::e117}; + private static final Label[] K348 = new Label[]{Label.of("'number'"),Label.of("'Number'"),Label.of("'string'"),Label.of("'String'"),Label.of("'boolean'"),Label.of("'Boolean'"),Label.of("'object'"),Label.of("'Object'")}; + private static final Call[] K349 = new Call[]{TinyExpressionP4Parser::e119,TinyExpressionP4Parser::e120,TinyExpressionP4Parser::e121,TinyExpressionP4Parser::e122,TinyExpressionP4Parser::e123,TinyExpressionP4Parser::e124,TinyExpressionP4Parser::e125,TinyExpressionP4Parser::e126}; + private static final Label[] K350 = new Label[]{Label.of("'number'")}; + private static final Label K351 = Label.of("'number'"); + private static final Label[] K352 = new Label[]{Label.of("'Number'")}; + private static final Label K353 = Label.of("'Number'"); + private static final Label K354 = Label.of("'string'"); + private static final Label[] K355 = new Label[]{Label.of("'String'")}; + private static final Label K356 = Label.of("'String'"); + private static final Label K357 = Label.of("'boolean'"); + private static final Label[] K358 = new Label[]{Label.of("'Boolean'")}; + private static final Label K359 = Label.of("'Boolean'"); + private static final Label K360 = Label.of("'object'"); + private static final Label[] K361 = new Label[]{Label.of("'Object'")}; + private static final Label K362 = Label.of("'Object'"); + private static final Call[] K363 = new Call[]{TinyExpressionP4Parser::e128,TinyExpressionP4Parser::e130}; + private static final Label[] K364 = new Label[]{Label.of("'number'"),Label.of("'Number'"),Label.of("'float'"),Label.of("'Float'")}; + private static final Call[] K365 = new Call[]{TinyExpressionP4Parser::e132,TinyExpressionP4Parser::e133,TinyExpressionP4Parser::e134,TinyExpressionP4Parser::e135}; + private static final Label[] K366 = new Label[]{Label.of("'float'")}; + private static final Label K367 = Label.of("'float'"); + private static final Label[] K368 = new Label[]{Label.of("'Float'")}; + private static final Label K369 = Label.of("'Float'"); + private static final Call[] K370 = new Call[]{TinyExpressionP4Parser::e137,TinyExpressionP4Parser::e139}; + private static final Label[] K371 = new Label[]{Label.of("'string'"),Label.of("'String'")}; + private static final Call[] K372 = new Call[]{TinyExpressionP4Parser::e141,TinyExpressionP4Parser::e142}; + private static final Call[] K373 = new Call[]{TinyExpressionP4Parser::e144,TinyExpressionP4Parser::e146}; + private static final Label[] K374 = new Label[]{Label.of("'boolean'"),Label.of("'Boolean'")}; + private static final Call[] K375 = new Call[]{TinyExpressionP4Parser::e148,TinyExpressionP4Parser::e149}; + private static final Call[] K376 = new Call[]{TinyExpressionP4Parser::e151,TinyExpressionP4Parser::e153}; + private static final Label[] K377 = new Label[]{Label.of("'object'"),Label.of("'Object'")}; + private static final Call[] K378 = new Call[]{TinyExpressionP4Parser::e155,TinyExpressionP4Parser::e156}; + private static final Call[] K379 = new Call[]{TinyExpressionP4Parser::e158,TinyExpressionP4Parser::e159,TinyExpressionP4Parser::e160}; + private static final Label[] K380 = new Label[]{Label.of("'if'")}; + private static final Label K381 = Label.of("'if'"); + private static final Label[] K382 = new Label[]{Label.of("'not'")}; + private static final Label K383 = Label.of("'not'"); + private static final Label[] K384 = new Label[]{Label.of("'exists'")}; + private static final Label K385 = Label.of("'exists'"); + private static final Call[] K386 = new Call[]{TinyExpressionP4Parser::e162,TinyExpressionP4Parser::e163,TinyExpressionP4Parser::e164}; + private static final Label[] K387 = new Label[]{Label.of("'description'")}; + private static final Label K388 = Label.of("'description'"); + private static final Label K389 = Label.of("'='"); + private static final Label[] K390 = new Label[]{Label.of("STRINGParser")}; + private static final org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression K391 = new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\"",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\\",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.ANY,"",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.EXCEPT,"\"\\",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\"",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"'",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"\\",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.ANY,"",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.EXCEPT,"'\\",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"'",0,0,List.of()))))))))))))); + private static final Label K392 = Label.of("STRINGParser"); + private static final Delimiters[] K393 = new Delimiters[]{K218,K218,K218,K218,K218}; + private static final Trivia K394 = new Trivia(K218,null,K393,null,null); + private static final Call[] K395 = new Call[]{TinyExpressionP4Parser::e166,TinyExpressionP4Parser::e167,TinyExpressionP4Parser::e168,TinyExpressionP4Parser::e169,TinyExpressionP4Parser::e171}; + private static final Label[] K396 = new Label[]{Label.of("'@'")}; + private static final Label K397 = Label.of("'@'"); + private static final Label[] K398 = new Label[]{Label.of("IDENTIFIERParser")}; + private static final Label[] K399 = new Label[]{Label.of("'('")}; + private static final Label K400 = Label.of("'('"); + private static final Label[] K401 = new Label[]{Label.of("')'")}; + private static final Label K402 = Label.of("')'"); + private static final Call[] K403 = new Call[]{TinyExpressionP4Parser::e173,TinyExpressionP4Parser::e174}; + private static final Label[] K404 = new Label[]{Label.of("','")}; + private static final Label[] K405 = new Label[]{Label.of("','"),Label.of("'='")}; + private static final Call[] K406 = new Call[]{TinyExpressionP4Parser::e176,TinyExpressionP4Parser::e177}; + private static final Label K407 = Label.of("','"); + private static final Call[] K408 = new Call[]{TinyExpressionP4Parser::e179,TinyExpressionP4Parser::e180,TinyExpressionP4Parser::e181}; + private static final Call[] K409 = new Call[]{TinyExpressionP4Parser::e183,TinyExpressionP4Parser::e184,TinyExpressionP4Parser::e185,TinyExpressionP4Parser::e186}; + private static final Delimiters[] K410 = new Delimiters[]{K218,K218,K218,K218,K218,K218,K218,K218}; + private static final Trivia K411 = new Trivia(K218,null,K410,null,null); + private static final Call[] K412 = new Call[]{TinyExpressionP4Parser::e188,TinyExpressionP4Parser::e189,TinyExpressionP4Parser::e190,TinyExpressionP4Parser::e191,TinyExpressionP4Parser::e193,TinyExpressionP4Parser::e194,TinyExpressionP4Parser::e195,TinyExpressionP4Parser::e196}; + private static final String[] K413 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5019:5029:body/1/tokenRef/capture/0"}; + private static final String[] K414 = new String[]{"methodName"}; + private static final String[] K415 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5058:5074:body/3/0/ruleRef/capture/0"}; + private static final String[] K416 = new String[]{"parameters"}; + private static final Label[] K417 = new Label[]{Label.of("'{'")}; + private static final Label K418 = Label.of("'{'"); + private static final String[] K419 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5111:5127:body/6/ruleRef/capture/0"}; + private static final Label[] K420 = new Label[]{Label.of("'}'")}; + private static final Label K421 = Label.of("'}'"); + private static final Call[] K422 = new Call[]{TinyExpressionP4Parser::e198,TinyExpressionP4Parser::e199,TinyExpressionP4Parser::e200,TinyExpressionP4Parser::e201,TinyExpressionP4Parser::e203,TinyExpressionP4Parser::e204,TinyExpressionP4Parser::e205,TinyExpressionP4Parser::e206}; + private static final String[] K423 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5345:5355:body/1/tokenRef/capture/0"}; + private static final String[] K424 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5384:5400:body/3/0/ruleRef/capture/0"}; + private static final String[] K425 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5437:5453:body/6/ruleRef/capture/0"}; + private static final Call[] K426 = new Call[]{TinyExpressionP4Parser::e208,TinyExpressionP4Parser::e209,TinyExpressionP4Parser::e210,TinyExpressionP4Parser::e211,TinyExpressionP4Parser::e213,TinyExpressionP4Parser::e214,TinyExpressionP4Parser::e215,TinyExpressionP4Parser::e216}; + private static final String[] K427 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5674:5684:body/1/tokenRef/capture/0"}; + private static final String[] K428 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5713:5729:body/3/0/ruleRef/capture/0"}; + private static final String[] K429 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5766:5783:body/6/ruleRef/capture/0"}; + private static final Call[] K430 = new Call[]{TinyExpressionP4Parser::e218,TinyExpressionP4Parser::e219,TinyExpressionP4Parser::e220,TinyExpressionP4Parser::e221,TinyExpressionP4Parser::e223,TinyExpressionP4Parser::e224,TinyExpressionP4Parser::e225,TinyExpressionP4Parser::e226}; + private static final String[] K431 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6001:6011:body/1/tokenRef/capture/0"}; + private static final String[] K432 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6040:6056:body/3/0/ruleRef/capture/0"}; + private static final String[] K433 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6093:6109:body/6/ruleRef/capture/0"}; + private static final Call[] K434 = new Call[]{TinyExpressionP4Parser::e228,TinyExpressionP4Parser::e229}; + private static final String[] K435 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6206:6221:body/0/ruleRef/capture/0"}; + private static final String[] K436 = new String[]{"values"}; + private static final Call[] K437 = new Call[]{TinyExpressionP4Parser::e231,TinyExpressionP4Parser::e232}; + private static final String[] K438 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6236:6251:body/1/0/1/ruleRef/capture/0"}; + private static final Call[] K439 = new Call[]{TinyExpressionP4Parser::e234,TinyExpressionP4Parser::e235,TinyExpressionP4Parser::e236}; + private static final String[] K440 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6379:6389:body/1/tokenRef/capture/0"}; + private static final String[] K441 = new String[]{"paramName"}; + private static final Call[] K442 = new Call[]{TinyExpressionP4Parser::e238,TinyExpressionP4Parser::e239}; + private static final String[] K443 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6408:6418:body/2/0/1/ruleRef/capture/0"}; + private static final String[] K444 = new String[]{"type"}; + private static final Call[] K445 = new Call[]{TinyExpressionP4Parser::e241,TinyExpressionP4Parser::e242}; + private static final Call[] K446 = new Call[]{TinyExpressionP4Parser::e244}; + private static final Call[] K447 = new Call[]{TinyExpressionP4Parser::e246}; + private static final Call[] K448 = new Call[]{TinyExpressionP4Parser::e248}; + private static final int[] K449 = new int[]{9,13,32,32,47,47,102,102,110,110}; + private static final int[] K450 = new int[]{26}; + private static final Guard K451 = new Guard(K449,K51,null,K450,1); + private static final int[] K452 = new int[]{9,13,32,32,47,47,115,115}; + private static final Label[] K453 = new Label[]{null,Label.of("'string'")}; + private static final int[] K454 = new int[]{27}; + private static final Guard K455 = new Guard(K452,K453,K218,K454,1); + private static final int[] K456 = new int[]{9,13,32,32,47,47,98,98}; + private static final Label[] K457 = new Label[]{null,Label.of("'boolean'")}; + private static final int[] K458 = new int[]{28}; + private static final Guard K459 = new Guard(K456,K457,K218,K458,1); + private static final int[] K460 = new int[]{9,13,32,32,47,47,111,111}; + private static final Label[] K461 = new Label[]{null,Label.of("'object'")}; + private static final int[] K462 = new int[]{29}; + private static final Guard K463 = new Guard(K460,K461,K218,K462,1); + private static final Guard[] K464 = new Guard[]{K451,K455,K459,K463}; + private static final Call[] K465 = new Call[]{TinyExpressionP4Parser::e250,TinyExpressionP4Parser::e251,TinyExpressionP4Parser::e252,TinyExpressionP4Parser::e253}; + private static final Call[] K466 = new Call[]{TinyExpressionP4Parser::e255,TinyExpressionP4Parser::e256,TinyExpressionP4Parser::e261,TinyExpressionP4Parser::e262,TinyExpressionP4Parser::e264,TinyExpressionP4Parser::e271,TinyExpressionP4Parser::e272,TinyExpressionP4Parser::e274}; + private static final Label[] K467 = new Label[]{Label.of("'external'")}; + private static final Label K468 = Label.of("'external'"); + private static final Label[] K469 = new Label[]{Label.of("'returning'")}; + private static final Label[] K470 = new Label[]{Label.of("'returning'"),Label.of("'as'")}; + private static final Call[] K471 = new Call[]{TinyExpressionP4Parser::e258,TinyExpressionP4Parser::e259}; + private static final Label K472 = Label.of("'returning'"); + private static final Label[] K473 = new Label[]{Label.of("':'")}; + private static final Label K474 = Label.of("':'"); + private static final Call[] K475 = new Call[]{TinyExpressionP4Parser::e266,TinyExpressionP4Parser::e270}; + private static final Call[] K476 = new Call[]{TinyExpressionP4Parser::e267,TinyExpressionP4Parser::e268,TinyExpressionP4Parser::e269}; + private static final String[] K477 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7067:7076:body/4/0/0/0/ruleRef/capture/0"}; + private static final String[] K478 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7092:7102:body/4/0/0/2/tokenRef/capture/0"}; + private static final String[] K479 = new String[]{"name"}; + private static final String[] K480 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7111:7121:body/4/0/1/tokenRef/capture/0"}; + private static final String[] K481 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7140:7149:body/6/0/ruleRef/capture/0"}; + private static final String[] K482 = new String[]{"args"}; + private static final Call[] K483 = new Call[]{TinyExpressionP4Parser::e276,TinyExpressionP4Parser::e277,TinyExpressionP4Parser::e290,TinyExpressionP4Parser::e297,TinyExpressionP4Parser::e298,TinyExpressionP4Parser::e300}; + private static final Call[] K484 = new Call[]{TinyExpressionP4Parser::e279,TinyExpressionP4Parser::e288}; + private static final Label[] K485 = new Label[]{Label.of("'number'"),Label.of("'float'"),Label.of("':'")}; + private static final Call[] K486 = new Call[]{TinyExpressionP4Parser::e280,TinyExpressionP4Parser::e285,TinyExpressionP4Parser::e286}; + private static final Call[] K487 = new Call[]{TinyExpressionP4Parser::e282,TinyExpressionP4Parser::e283}; + private static final Call[] K488 = new Call[]{TinyExpressionP4Parser::e292,TinyExpressionP4Parser::e296}; + private static final Call[] K489 = new Call[]{TinyExpressionP4Parser::e293,TinyExpressionP4Parser::e294,TinyExpressionP4Parser::e295}; + private static final String[] K490 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7358:7367:body/2/0/0/0/ruleRef/capture/0"}; + private static final String[] K491 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7383:7393:body/2/0/0/2/tokenRef/capture/0"}; + private static final String[] K492 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7402:7412:body/2/0/1/tokenRef/capture/0"}; + private static final String[] K493 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7431:7440:body/4/0/ruleRef/capture/0"}; + private static final Call[] K494 = new Call[]{TinyExpressionP4Parser::e302,TinyExpressionP4Parser::e303,TinyExpressionP4Parser::e308,TinyExpressionP4Parser::e309,TinyExpressionP4Parser::e311,TinyExpressionP4Parser::e318,TinyExpressionP4Parser::e319,TinyExpressionP4Parser::e321}; + private static final Call[] K495 = new Call[]{TinyExpressionP4Parser::e305,TinyExpressionP4Parser::e306}; + private static final Call[] K496 = new Call[]{TinyExpressionP4Parser::e313,TinyExpressionP4Parser::e317}; + private static final Call[] K497 = new Call[]{TinyExpressionP4Parser::e314,TinyExpressionP4Parser::e315,TinyExpressionP4Parser::e316}; + private static final String[] K498 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7635:7644:body/4/0/0/0/ruleRef/capture/0"}; + private static final String[] K499 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7660:7670:body/4/0/0/2/tokenRef/capture/0"}; + private static final String[] K500 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7679:7689:body/4/0/1/tokenRef/capture/0"}; + private static final String[] K501 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7708:7717:body/6/0/ruleRef/capture/0"}; + private static final Call[] K502 = new Call[]{TinyExpressionP4Parser::e323,TinyExpressionP4Parser::e324,TinyExpressionP4Parser::e329,TinyExpressionP4Parser::e330,TinyExpressionP4Parser::e332,TinyExpressionP4Parser::e339,TinyExpressionP4Parser::e340,TinyExpressionP4Parser::e342}; + private static final Call[] K503 = new Call[]{TinyExpressionP4Parser::e326,TinyExpressionP4Parser::e327}; + private static final Call[] K504 = new Call[]{TinyExpressionP4Parser::e334,TinyExpressionP4Parser::e338}; + private static final Call[] K505 = new Call[]{TinyExpressionP4Parser::e335,TinyExpressionP4Parser::e336,TinyExpressionP4Parser::e337}; + private static final String[] K506 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7912:7921:body/4/0/0/0/ruleRef/capture/0"}; + private static final String[] K507 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7937:7947:body/4/0/0/2/tokenRef/capture/0"}; + private static final String[] K508 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7956:7966:body/4/0/1/tokenRef/capture/0"}; + private static final String[] K509 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7985:7994:body/6/0/ruleRef/capture/0"}; + private static final int[] K510 = new int[]{9,13,32,32,47,47,99,99}; + private static final Label[] K511 = new Label[]{null,Label.of("'call'"),Label.of("'internal'")}; + private static final int[] K512 = new int[]{}; + private static final Guard K513 = new Guard(K510,K511,K218,K512,0); + private static final Guard[] K514 = new Guard[]{K513,null}; + private static final Call[] K515 = new Call[]{TinyExpressionP4Parser::e344,TinyExpressionP4Parser::e348}; + private static final Call[] K516 = new Call[]{TinyExpressionP4Parser::e345,TinyExpressionP4Parser::e346}; + private static final Label[] K517 = new Label[]{Label.of("'call'")}; + private static final Label K518 = Label.of("'call'"); + private static final Label[] K519 = new Label[]{Label.of("'internal'")}; + private static final Label K520 = Label.of("'internal'"); + private static final Call[] K521 = new Call[]{TinyExpressionP4Parser::e350,TinyExpressionP4Parser::e351,TinyExpressionP4Parser::e352,TinyExpressionP4Parser::e353,TinyExpressionP4Parser::e355}; + private static final String[] K522 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8371:8381:body/1/tokenRef/capture/0"}; + private static final String[] K523 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8394:8403:body/3/0/ruleRef/capture/0"}; + private static final Call[] K524 = new Call[]{TinyExpressionP4Parser::e357,TinyExpressionP4Parser::e358,TinyExpressionP4Parser::e359,TinyExpressionP4Parser::e360,TinyExpressionP4Parser::e361}; + private static final String[] K525 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8582:8599:body/0/ruleRef/capture/0"}; + private static final String[] K526 = new String[]{"condition"}; + private static final Label[] K527 = new Label[]{Label.of("'?'")}; + private static final Label K528 = Label.of("'?'"); + private static final String[] K529 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8615:8631:body/2/ruleRef/capture/0"}; + private static final String[] K530 = new String[]{"thenExpr"}; + private static final String[] K531 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8646:8662:body/4/ruleRef/capture/0"}; + private static final String[] K532 = new String[]{"elseExpr"}; + private static final Call[] K533 = new Call[]{TinyExpressionP4Parser::e363,TinyExpressionP4Parser::e364,TinyExpressionP4Parser::e365,TinyExpressionP4Parser::e366}; + private static final String[] K534 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8758:8773:body/0/ruleRef/capture/0"}; + private static final String[] K535 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8787:8807:body/1/ruleRef/capture/0"}; + private static final String[] K536 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8821:8847:body/2/ruleRef/capture/0"}; + private static final String[] K537 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8861:8871:body/3/ruleRef/capture/0"}; + private static final Call[] K538 = new Call[]{TinyExpressionP4Parser::e368,TinyExpressionP4Parser::e369}; + private static final String[] K539 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8941:8959:body/0/ruleRef/capture/0"}; + private static final Call[] K540 = new Call[]{TinyExpressionP4Parser::e371,TinyExpressionP4Parser::e372}; + private static final String[] K541 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8974:8992:body/1/0/1/ruleRef/capture/0"}; + private static final Call[] K542 = new Call[]{TinyExpressionP4Parser::e374,TinyExpressionP4Parser::e375}; + private static final String[] K543 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9197:9207:body/0/ruleRef/capture/0"}; + private static final String[] K544 = new String[]{"left"}; + private static final Label[] K545 = new Label[]{Label.of("NumberExpressionRepeat0Parser")}; + private static final Call[] K546 = new Call[]{TinyExpressionP4Parser::e377,TinyExpressionP4Parser::e378}; + private static final String[] K547 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9216:9221:body/1/0/0/ruleRef/capture/0"}; + private static final String[] K548 = new String[]{"op"}; + private static final String[] K549 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9226:9236:body/1/0/1/ruleRef/capture/0"}; + private static final String[] K550 = new String[]{"right"}; + private static final Call[] K551 = new Call[]{TinyExpressionP4Parser::e380,TinyExpressionP4Parser::e381}; + private static final String[] K552 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9352:9364:body/0/ruleRef/capture/0"}; + private static final Label[] K553 = new Label[]{Label.of("NumberTermRepeat0Parser")}; + private static final Call[] K554 = new Call[]{TinyExpressionP4Parser::e383,TinyExpressionP4Parser::e384}; + private static final String[] K555 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9373:9378:body/1/0/0/ruleRef/capture/0"}; + private static final String[] K556 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9383:9395:body/1/0/1/ruleRef/capture/0"}; + private static final Call[] K557 = new Call[]{TinyExpressionP4Parser::e386,TinyExpressionP4Parser::e387}; + private static final Label[] K558 = new Label[]{Label.of("'+'")}; + private static final Label K559 = Label.of("'+'"); + private static final Label[] K560 = new Label[]{Label.of("'-'")}; + private static final Label K561 = Label.of("'-'"); + private static final Call[] K562 = new Call[]{TinyExpressionP4Parser::e389,TinyExpressionP4Parser::e390}; + private static final Label[] K563 = new Label[]{Label.of("'*'")}; + private static final Label K564 = Label.of("'*'"); + private static final Label[] K565 = new Label[]{Label.of("'/'")}; + private static final Label K566 = Label.of("'/'"); + private static final Label[] K567 = new Label[]{null,Label.of("'sin'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K568 = new int[]{45}; + private static final Guard K569 = new Guard(K452,K567,K218,K568,1); + private static final Label[] K570 = new Label[]{null,Label.of("'cos'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K571 = new int[]{46}; + private static final Guard K572 = new Guard(K510,K570,K218,K571,1); + private static final int[] K573 = new int[]{9,13,32,32,47,47,116,116}; + private static final Label[] K574 = new Label[]{null,Label.of("'tan'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K575 = new int[]{47}; + private static final Guard K576 = new Guard(K573,K574,K218,K575,1); + private static final Label[] K577 = new Label[]{null,Label.of("'sqrt'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K578 = new int[]{48}; + private static final Guard K579 = new Guard(K452,K577,K218,K578,1); + private static final int[] K580 = new int[]{9,13,32,32,47,47,109,109}; + private static final Label[] K581 = new Label[]{null,Label.of("'min'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K582 = new int[]{49}; + private static final Guard K583 = new Guard(K580,K581,K218,K582,1); + private static final Label[] K584 = new Label[]{null,Label.of("'max'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K585 = new int[]{50}; + private static final Guard K586 = new Guard(K580,K584,K218,K585,1); + private static final int[] K587 = new int[]{9,13,32,32,47,47,114,114}; + private static final Label[] K588 = new Label[]{null,Label.of("'random'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K589 = new int[]{51}; + private static final Guard K590 = new Guard(K587,K588,K218,K589,1); + private static final int[] K591 = new int[]{9,13,32,32,47,47,97,97}; + private static final Label[] K592 = new Label[]{null,Label.of("'abs'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K593 = new int[]{52}; + private static final Guard K594 = new Guard(K591,K592,K218,K593,1); + private static final Label[] K595 = new Label[]{null,Label.of("'round'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K596 = new int[]{53}; + private static final Guard K597 = new Guard(K587,K595,K218,K596,1); + private static final Label[] K598 = new Label[]{null,Label.of("'ceil'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K599 = new int[]{54}; + private static final Guard K600 = new Guard(K510,K598,K218,K599,1); + private static final int[] K601 = new int[]{9,13,32,32,47,47,102,102}; + private static final Label[] K602 = new Label[]{null,Label.of("'floor'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K603 = new int[]{55}; + private static final Guard K604 = new Guard(K601,K602,K218,K603,1); + private static final int[] K605 = new int[]{9,13,32,32,47,47,112,112}; + private static final Label[] K606 = new Label[]{null,Label.of("'pow'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; + private static final int[] K607 = new int[]{56}; + private static final Guard K608 = new Guard(K605,K606,K218,K607,1); + private static final int[] K609 = new int[]{9,13,32,32,47,47,108,108}; + private static final Label[] K610 = new Label[]{null,Label.of("'log'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K611 = new int[]{57}; + private static final Guard K612 = new Guard(K609,K610,K218,K611,1); + private static final int[] K613 = new int[]{9,13,32,32,47,47,101,101}; + private static final Label[] K614 = new Label[]{null,Label.of("'exp'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K615 = new int[]{58}; + private static final Guard K616 = new Guard(K613,K614,K218,K615,1); + private static final Guard[] K617 = new Guard[]{K569,K572,K576,K579,K583,K586,K590,K594,K597,K600,K604,K608,K612,K616}; + private static final Call[] K618 = new Call[]{TinyExpressionP4Parser::e392,TinyExpressionP4Parser::e393,TinyExpressionP4Parser::e394,TinyExpressionP4Parser::e395,TinyExpressionP4Parser::e396,TinyExpressionP4Parser::e397,TinyExpressionP4Parser::e398,TinyExpressionP4Parser::e399,TinyExpressionP4Parser::e400,TinyExpressionP4Parser::e401,TinyExpressionP4Parser::e402,TinyExpressionP4Parser::e403,TinyExpressionP4Parser::e404,TinyExpressionP4Parser::e405}; + private static final Delimiters[] K619 = new Delimiters[]{K218,K218,K218,K218}; + private static final Trivia K620 = new Trivia(K218,null,K619,null,null); + private static final Call[] K621 = new Call[]{TinyExpressionP4Parser::e407,TinyExpressionP4Parser::e408,TinyExpressionP4Parser::e409,TinyExpressionP4Parser::e410}; + private static final Label[] K622 = new Label[]{Label.of("'sin'")}; + private static final Label K623 = Label.of("'sin'"); + private static final String[] K624 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9881:9899:body/2/ruleRef/capture/0"}; + private static final String[] K625 = new String[]{"arg"}; + private static final Call[] K626 = new Call[]{TinyExpressionP4Parser::e412,TinyExpressionP4Parser::e413,TinyExpressionP4Parser::e414,TinyExpressionP4Parser::e415}; + private static final Label[] K627 = new Label[]{Label.of("'cos'")}; + private static final Label K628 = Label.of("'cos'"); + private static final String[] K629 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9974:9992:body/2/ruleRef/capture/0"}; + private static final Call[] K630 = new Call[]{TinyExpressionP4Parser::e417,TinyExpressionP4Parser::e418,TinyExpressionP4Parser::e419,TinyExpressionP4Parser::e420}; + private static final Label[] K631 = new Label[]{Label.of("'tan'")}; + private static final Label K632 = Label.of("'tan'"); + private static final String[] K633 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10067:10085:body/2/ruleRef/capture/0"}; + private static final Call[] K634 = new Call[]{TinyExpressionP4Parser::e422,TinyExpressionP4Parser::e423,TinyExpressionP4Parser::e424,TinyExpressionP4Parser::e425}; + private static final Label[] K635 = new Label[]{Label.of("'sqrt'")}; + private static final Label K636 = Label.of("'sqrt'"); + private static final String[] K637 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10163:10181:body/2/ruleRef/capture/0"}; + private static final Call[] K638 = new Call[]{TinyExpressionP4Parser::e427,TinyExpressionP4Parser::e428,TinyExpressionP4Parser::e429,TinyExpressionP4Parser::e430,TinyExpressionP4Parser::e434}; + private static final Label[] K639 = new Label[]{Label.of("'min'")}; + private static final Label K640 = Label.of("'min'"); + private static final String[] K641 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10264:10282:body/2/ruleRef/capture/0"}; + private static final String[] K642 = new String[]{"first"}; + private static final Call[] K643 = new Call[]{TinyExpressionP4Parser::e432,TinyExpressionP4Parser::e433}; + private static final String[] K644 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10296:10314:body/3/0/1/ruleRef/capture/0"}; + private static final String[] K645 = new String[]{"rest"}; + private static final Call[] K646 = new Call[]{TinyExpressionP4Parser::e436,TinyExpressionP4Parser::e437,TinyExpressionP4Parser::e438,TinyExpressionP4Parser::e439,TinyExpressionP4Parser::e443}; + private static final Label[] K647 = new Label[]{Label.of("'max'")}; + private static final Label K648 = Label.of("'max'"); + private static final String[] K649 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10400:10418:body/2/ruleRef/capture/0"}; + private static final Call[] K650 = new Call[]{TinyExpressionP4Parser::e441,TinyExpressionP4Parser::e442}; + private static final String[] K651 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10432:10450:body/3/0/1/ruleRef/capture/0"}; + private static final Call[] K652 = new Call[]{TinyExpressionP4Parser::e445,TinyExpressionP4Parser::e446,TinyExpressionP4Parser::e447}; + private static final Label[] K653 = new Label[]{Label.of("'random'")}; + private static final Label K654 = Label.of("'random'"); + private static final Call[] K655 = new Call[]{TinyExpressionP4Parser::e449,TinyExpressionP4Parser::e450,TinyExpressionP4Parser::e451,TinyExpressionP4Parser::e452}; + private static final Label[] K656 = new Label[]{Label.of("'abs'")}; + private static final Label K657 = Label.of("'abs'"); + private static final String[] K658 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10592:10610:body/2/ruleRef/capture/0"}; + private static final Call[] K659 = new Call[]{TinyExpressionP4Parser::e454,TinyExpressionP4Parser::e455,TinyExpressionP4Parser::e456,TinyExpressionP4Parser::e457}; + private static final Label[] K660 = new Label[]{Label.of("'round'")}; + private static final Label K661 = Label.of("'round'"); + private static final String[] K662 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10691:10709:body/2/ruleRef/capture/0"}; + private static final Call[] K663 = new Call[]{TinyExpressionP4Parser::e459,TinyExpressionP4Parser::e460,TinyExpressionP4Parser::e461,TinyExpressionP4Parser::e462}; + private static final Label[] K664 = new Label[]{Label.of("'ceil'")}; + private static final Label K665 = Label.of("'ceil'"); + private static final String[] K666 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10787:10805:body/2/ruleRef/capture/0"}; + private static final Call[] K667 = new Call[]{TinyExpressionP4Parser::e464,TinyExpressionP4Parser::e465,TinyExpressionP4Parser::e466,TinyExpressionP4Parser::e467}; + private static final Label[] K668 = new Label[]{Label.of("'floor'")}; + private static final Label K669 = Label.of("'floor'"); + private static final String[] K670 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10886:10904:body/2/ruleRef/capture/0"}; + private static final Call[] K671 = new Call[]{TinyExpressionP4Parser::e469,TinyExpressionP4Parser::e470,TinyExpressionP4Parser::e471,TinyExpressionP4Parser::e472,TinyExpressionP4Parser::e473,TinyExpressionP4Parser::e474}; + private static final Label[] K672 = new Label[]{Label.of("'pow'")}; + private static final Label K673 = Label.of("'pow'"); + private static final String[] K674 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10990:11008:body/2/ruleRef/capture/0"}; + private static final String[] K675 = new String[]{"base"}; + private static final String[] K676 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11019:11037:body/4/ruleRef/capture/0"}; + private static final String[] K677 = new String[]{"exponent"}; + private static final Call[] K678 = new Call[]{TinyExpressionP4Parser::e476,TinyExpressionP4Parser::e477,TinyExpressionP4Parser::e478,TinyExpressionP4Parser::e479}; + private static final Label[] K679 = new Label[]{Label.of("'log'")}; + private static final Label K680 = Label.of("'log'"); + private static final String[] K681 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11117:11135:body/2/ruleRef/capture/0"}; + private static final Call[] K682 = new Call[]{TinyExpressionP4Parser::e481,TinyExpressionP4Parser::e482,TinyExpressionP4Parser::e483,TinyExpressionP4Parser::e484}; + private static final Label[] K683 = new Label[]{Label.of("'exp'")}; + private static final Label K684 = Label.of("'exp'"); + private static final String[] K685 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11210:11228:body/2/ruleRef/capture/0"}; + private static final Call[] K686 = new Call[]{TinyExpressionP4Parser::e486,TinyExpressionP4Parser::e487,TinyExpressionP4Parser::e488,TinyExpressionP4Parser::e489,TinyExpressionP4Parser::e490,TinyExpressionP4Parser::e491}; + private static final Label[] K687 = new Label[]{Label.of("'toNum'")}; + private static final Label K688 = Label.of("'toNum'"); + private static final String[] K689 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11403:11419:body/2/ruleRef/capture/0"}; + private static final String[] K690 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11431:11449:body/4/ruleRef/capture/0"}; + private static final String[] K691 = new String[]{"defaultValue"}; + private static final int[] K692 = new int[]{9,13,32,32,40,40,47,47}; + private static final Label[] K693 = new Label[]{null,Label.of("'('"),Label.of("'?'"),Label.of("':'"),Label.of("')'")}; + private static final int[] K694 = new int[]{108}; + private static final Guard K695 = new Guard(K692,K693,K218,K694,1); + private static final Label[] K696 = new Label[]{null,Label.of("'match'"),Label.of("'{'"),Label.of("','"),Label.of("'}'")}; + private static final int[] K697 = new int[]{109}; + private static final Guard K698 = new Guard(K580,K696,K218,K697,1); + private static final int[] K699 = new int[]{9,13,32,32,47,47,105,105}; + private static final Label[] K700 = new Label[]{null,Label.of("'if'"),Label.of("'('"),Label.of("')'"),Label.of("'{'"),Label.of("'}'"),Label.of("'else'")}; + private static final int[] K701 = new int[]{106}; + private static final Guard K702 = new Guard(K699,K700,K218,K701,1); + private static final int[] K703 = new int[]{9,13,32,32,47,47,97,97,99,99,101,102,108,109,112,112,114,116}; + private static final Label[] K704 = new Label[]{null,Label.of("'sin'"),Label.of("'('"),Label.of("')'"),Label.of("'cos'"),Label.of("'tan'"),Label.of("'sqrt'"),Label.of("'min'"),Label.of("'max'"),Label.of("'random'"),Label.of("'abs'"),Label.of("'round'"),Label.of("'ceil'"),Label.of("'floor'"),Label.of("'pow'"),Label.of("','"),Label.of("'log'"),Label.of("'exp'")}; + private static final int[] K705 = new int[]{44,45}; + private static final Guard K706 = new Guard(K703,K704,K218,K705,2); + private static final Label[] K707 = new Label[]{null,Label.of("'toNum'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; + private static final int[] K708 = new int[]{59}; + private static final Guard K709 = new Guard(K573,K707,K218,K708,1); + private static final int[] K710 = new int[]{9,13,32,32,36,36,47,47}; + private static final Label[] K711 = new Label[]{null,Label.of("'$'"),Label.of("'.length'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K712 = new int[]{69,121}; private static final Guard K713 = new Guard(K710,K711,K218,K712,2); - private static final Label[] K714 = new Label[]{null,Label.of("'('"),Label.of("')'")}; - private static final Guard K715 = new Guard(K676,K714,K218,K237,0); - private static final Guard[] K716 = new Guard[]{K679,K682,K686,K690,K693,K697,K700,K703,K706,null,K709,K713,K715}; - private static final Call[] K717 = new Call[]{TinyExpressionP4Parser::e493,TinyExpressionP4Parser::e494,TinyExpressionP4Parser::e495,TinyExpressionP4Parser::e496,TinyExpressionP4Parser::e497,TinyExpressionP4Parser::e498,TinyExpressionP4Parser::e499,TinyExpressionP4Parser::e500,TinyExpressionP4Parser::e501,TinyExpressionP4Parser::e502,TinyExpressionP4Parser::e503,TinyExpressionP4Parser::e504,TinyExpressionP4Parser::e505}; - private static final Label[] K718 = new Label[]{Label.of("NumberParser")}; - private static final Label K719 = Label.of("NumberParser"); - private static final Call[] K720 = new Call[]{TinyExpressionP4Parser::e506,TinyExpressionP4Parser::e507,TinyExpressionP4Parser::e508}; - private static final Call[] K721 = new Call[]{TinyExpressionP4Parser::e510,TinyExpressionP4Parser::e511,TinyExpressionP4Parser::e512,TinyExpressionP4Parser::e513}; - private static final Label[] K722 = new Label[]{Label.of("'toUpperCase'")}; - private static final Label K723 = Label.of("'toUpperCase'"); - private static final String[] K724 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11961:11977:body/2/ruleRef/capture/0"}; - private static final Call[] K725 = new Call[]{TinyExpressionP4Parser::e515,TinyExpressionP4Parser::e516,TinyExpressionP4Parser::e517,TinyExpressionP4Parser::e518}; - private static final Label[] K726 = new Label[]{Label.of("'toLowerCase'")}; - private static final Label K727 = Label.of("'toLowerCase'"); - private static final String[] K728 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12080:12096:body/2/ruleRef/capture/0"}; - private static final Call[] K729 = new Call[]{TinyExpressionP4Parser::e520,TinyExpressionP4Parser::e521,TinyExpressionP4Parser::e522,TinyExpressionP4Parser::e523}; - private static final Label[] K730 = new Label[]{Label.of("'trim'")}; - private static final Label K731 = Label.of("'trim'"); - private static final String[] K732 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12178:12194:body/2/ruleRef/capture/0"}; - private static final Call[] K733 = new Call[]{TinyExpressionP4Parser::e525,TinyExpressionP4Parser::e526,TinyExpressionP4Parser::e527,TinyExpressionP4Parser::e528}; - private static final Label[] K734 = new Label[]{Label.of("'length'")}; - private static final Label K735 = Label.of("'length'"); - private static final String[] K736 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12282:12298:body/2/ruleRef/capture/0"}; - private static final Call[] K737 = new Call[]{TinyExpressionP4Parser::e530,TinyExpressionP4Parser::e531,TinyExpressionP4Parser::e532,TinyExpressionP4Parser::e533}; - private static final Label[] K738 = new Label[]{Label.of("'len'")}; - private static final Label K739 = Label.of("'len'"); - private static final String[] K740 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12380:12396:body/2/ruleRef/capture/0"}; - private static final Call[] K741 = new Call[]{TinyExpressionP4Parser::e535,TinyExpressionP4Parser::e536,TinyExpressionP4Parser::e537,TinyExpressionP4Parser::e538}; - private static final String[] K742 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12732:12743:body/0/ruleRef/capture/0"}; - private static final Label[] K743 = new Label[]{Label.of("'.toUpperCase'")}; - private static final Label K744 = Label.of("'.toUpperCase'"); - private static final Call[] K745 = new Call[]{TinyExpressionP4Parser::e540,TinyExpressionP4Parser::e541,TinyExpressionP4Parser::e542,TinyExpressionP4Parser::e543}; - private static final String[] K746 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12851:12862:body/0/ruleRef/capture/0"}; - private static final Label[] K747 = new Label[]{Label.of("'.toLowerCase'")}; - private static final Label K748 = Label.of("'.toLowerCase'"); - private static final Call[] K749 = new Call[]{TinyExpressionP4Parser::e545,TinyExpressionP4Parser::e546,TinyExpressionP4Parser::e547,TinyExpressionP4Parser::e548}; - private static final String[] K750 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12956:12967:body/0/ruleRef/capture/0"}; - private static final Label[] K751 = new Label[]{Label.of("'.trim'")}; - private static final Label K752 = Label.of("'.trim'"); - private static final Call[] K753 = new Call[]{TinyExpressionP4Parser::e550,TinyExpressionP4Parser::e551,TinyExpressionP4Parser::e552,TinyExpressionP4Parser::e553}; - private static final String[] K754 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13058:13069:body/0/ruleRef/capture/0"}; - private static final Label[] K755 = new Label[]{Label.of("'.length'")}; - private static final Label K756 = Label.of("'.length'"); - private static final Call[] K757 = new Call[]{TinyExpressionP4Parser::e555,TinyExpressionP4Parser::e556,TinyExpressionP4Parser::e557,TinyExpressionP4Parser::e558,TinyExpressionP4Parser::e559,TinyExpressionP4Parser::e560,TinyExpressionP4Parser::e564}; - private static final Label[] K758 = new Label[]{Label.of("'startsWith'")}; - private static final Label K759 = Label.of("'startsWith'"); - private static final String[] K760 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13331:13347:body/2/ruleRef/capture/0"}; - private static final String[] K761 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13359:13375:body/4/ruleRef/capture/0"}; - private static final String[] K762 = new String[]{"patterns"}; - private static final Call[] K763 = new Call[]{TinyExpressionP4Parser::e562,TinyExpressionP4Parser::e563}; - private static final String[] K764 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13396:13412:body/5/0/1/ruleRef/capture/0"}; - private static final Call[] K765 = new Call[]{TinyExpressionP4Parser::e566,TinyExpressionP4Parser::e567,TinyExpressionP4Parser::e568,TinyExpressionP4Parser::e569,TinyExpressionP4Parser::e570,TinyExpressionP4Parser::e571,TinyExpressionP4Parser::e575}; - private static final Label[] K766 = new Label[]{Label.of("'endsWith'")}; - private static final Label K767 = Label.of("'endsWith'"); - private static final String[] K768 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13521:13537:body/2/ruleRef/capture/0"}; - private static final String[] K769 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13549:13565:body/4/ruleRef/capture/0"}; - private static final Call[] K770 = new Call[]{TinyExpressionP4Parser::e573,TinyExpressionP4Parser::e574}; - private static final String[] K771 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13586:13602:body/5/0/1/ruleRef/capture/0"}; - private static final Call[] K772 = new Call[]{TinyExpressionP4Parser::e577,TinyExpressionP4Parser::e578,TinyExpressionP4Parser::e579,TinyExpressionP4Parser::e580,TinyExpressionP4Parser::e581,TinyExpressionP4Parser::e582,TinyExpressionP4Parser::e586}; - private static final Label[] K773 = new Label[]{Label.of("'contains'")}; - private static final Label K774 = Label.of("'contains'"); - private static final String[] K775 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13711:13727:body/2/ruleRef/capture/0"}; - private static final String[] K776 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13739:13755:body/4/ruleRef/capture/0"}; - private static final Call[] K777 = new Call[]{TinyExpressionP4Parser::e584,TinyExpressionP4Parser::e585}; - private static final String[] K778 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13776:13792:body/5/0/1/ruleRef/capture/0"}; - private static final Call[] K779 = new Call[]{TinyExpressionP4Parser::e588,TinyExpressionP4Parser::e589,TinyExpressionP4Parser::e590,TinyExpressionP4Parser::e591,TinyExpressionP4Parser::e592,TinyExpressionP4Parser::e596}; - private static final String[] K780 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13874:13890:body/0/ruleRef/capture/0"}; - private static final Label[] K781 = new Label[]{Label.of("'.in'")}; - private static final Label K782 = Label.of("'.in'"); - private static final String[] K783 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13908:13924:body/3/ruleRef/capture/0"}; - private static final String[] K784 = new String[]{"candidates"}; - private static final Call[] K785 = new Call[]{TinyExpressionP4Parser::e594,TinyExpressionP4Parser::e595}; - private static final String[] K786 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13943:13959:body/4/0/1/ruleRef/capture/0"}; - private static final Call[] K787 = new Call[]{TinyExpressionP4Parser::e598,TinyExpressionP4Parser::e599,TinyExpressionP4Parser::e600,TinyExpressionP4Parser::e601,TinyExpressionP4Parser::e602,TinyExpressionP4Parser::e606}; - private static final String[] K788 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14142:14165:body/0/ruleRef/capture/0"}; - private static final Label[] K789 = new Label[]{Label.of("'.startsWith'")}; - private static final Label K790 = Label.of("'.startsWith'"); - private static final String[] K791 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14191:14207:body/3/ruleRef/capture/0"}; - private static final Call[] K792 = new Call[]{TinyExpressionP4Parser::e604,TinyExpressionP4Parser::e605}; - private static final String[] K793 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14228:14244:body/4/0/1/ruleRef/capture/0"}; - private static final Call[] K794 = new Call[]{TinyExpressionP4Parser::e608,TinyExpressionP4Parser::e609,TinyExpressionP4Parser::e610,TinyExpressionP4Parser::e611,TinyExpressionP4Parser::e612,TinyExpressionP4Parser::e616}; - private static final String[] K795 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14342:14365:body/0/ruleRef/capture/0"}; - private static final Label[] K796 = new Label[]{Label.of("'.endsWith'")}; - private static final Label K797 = Label.of("'.endsWith'"); - private static final String[] K798 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14389:14405:body/3/ruleRef/capture/0"}; - private static final Call[] K799 = new Call[]{TinyExpressionP4Parser::e614,TinyExpressionP4Parser::e615}; - private static final String[] K800 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14426:14442:body/4/0/1/ruleRef/capture/0"}; - private static final Call[] K801 = new Call[]{TinyExpressionP4Parser::e618,TinyExpressionP4Parser::e619,TinyExpressionP4Parser::e620,TinyExpressionP4Parser::e621,TinyExpressionP4Parser::e622,TinyExpressionP4Parser::e626}; - private static final String[] K802 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14540:14563:body/0/ruleRef/capture/0"}; - private static final Label[] K803 = new Label[]{Label.of("'.contains'")}; - private static final Label K804 = Label.of("'.contains'"); - private static final String[] K805 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14587:14603:body/3/ruleRef/capture/0"}; - private static final Call[] K806 = new Call[]{TinyExpressionP4Parser::e624,TinyExpressionP4Parser::e625}; - private static final String[] K807 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14624:14640:body/4/0/1/ruleRef/capture/0"}; - private static final Label[] K808 = new Label[]{null,Label.of("'toLowerCase'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K809 = new int[]{62}; - private static final Guard K810 = new Guard(K557,K808,K218,K809,1); - private static final Label[] K811 = new Label[]{null,Label.of("'toUpperCase'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K812 = new int[]{61}; - private static final Guard K813 = new Guard(K557,K811,K218,K812,1); - private static final Label[] K814 = new Label[]{null,Label.of("'trim'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K815 = new int[]{63}; - private static final Guard K816 = new Guard(K557,K814,K218,K815,1); - private static final Guard[] K817 = new Guard[]{K810,K813,K816,K709}; - private static final Call[] K818 = new Call[]{TinyExpressionP4Parser::e628,TinyExpressionP4Parser::e629,TinyExpressionP4Parser::e630,TinyExpressionP4Parser::e631}; - private static final Call[] K819 = new Call[]{TinyExpressionP4Parser::e633,TinyExpressionP4Parser::e634,TinyExpressionP4Parser::e635,TinyExpressionP4Parser::e636}; - private static final Label[] K820 = new Label[]{Label.of("'isPresent'")}; - private static final Label K821 = Label.of("'isPresent'"); - private static final String[] K822 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14925:14936:body/2/ruleRef/capture/0"}; - private static final Call[] K823 = new Call[]{TinyExpressionP4Parser::e638,TinyExpressionP4Parser::e639,TinyExpressionP4Parser::e640,TinyExpressionP4Parser::e641,TinyExpressionP4Parser::e642,TinyExpressionP4Parser::e643}; - private static final Label[] K824 = new Label[]{Label.of("'inTimeRange'")}; - private static final Label K825 = Label.of("'inTimeRange'"); - private static final String[] K826 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15129:15145:body/2/ruleRef/capture/0"}; - private static final String[] K827 = new String[]{"startHour"}; - private static final String[] K828 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15161:15177:body/4/ruleRef/capture/0"}; - private static final String[] K829 = new String[]{"endHour"}; - private static final Delimiters[] K830 = new Delimiters[]{K218,K218,K218,K218,K218,K218,K218,K218,K218,K218}; - private static final Trivia K831 = new Trivia(K218,null,K830,null,null); - private static final Call[] K832 = new Call[]{TinyExpressionP4Parser::e645,TinyExpressionP4Parser::e646,TinyExpressionP4Parser::e647,TinyExpressionP4Parser::e648,TinyExpressionP4Parser::e649,TinyExpressionP4Parser::e650,TinyExpressionP4Parser::e651,TinyExpressionP4Parser::e652,TinyExpressionP4Parser::e653,TinyExpressionP4Parser::e654}; - private static final Label[] K833 = new Label[]{Label.of("'inDayTimeRange'")}; - private static final Label K834 = Label.of("'inDayTimeRange'"); - private static final String[] K835 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15322:15331:body/2/ruleRef/capture/0"}; - private static final String[] K836 = new String[]{"startDay"}; - private static final String[] K837 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15346:15362:body/4/ruleRef/capture/0"}; - private static final String[] K838 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15378:15387:body/6/ruleRef/capture/0"}; - private static final String[] K839 = new String[]{"endDay"}; - private static final String[] K840 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15400:15416:body/8/ruleRef/capture/0"}; - private static final Call[] K841 = new Call[]{TinyExpressionP4Parser::e656,TinyExpressionP4Parser::e657,TinyExpressionP4Parser::e658,TinyExpressionP4Parser::e659,TinyExpressionP4Parser::e660,TinyExpressionP4Parser::e661,TinyExpressionP4Parser::e662}; - private static final Label[] K842 = new Label[]{Label.of("'MONDAY'")}; - private static final Label K843 = Label.of("'MONDAY'"); - private static final Label[] K844 = new Label[]{Label.of("'TUESDAY'")}; - private static final Label K845 = Label.of("'TUESDAY'"); - private static final Label[] K846 = new Label[]{Label.of("'WEDNESDAY'")}; - private static final Label K847 = Label.of("'WEDNESDAY'"); - private static final Label[] K848 = new Label[]{Label.of("'THURSDAY'")}; - private static final Label K849 = Label.of("'THURSDAY'"); - private static final Label[] K850 = new Label[]{Label.of("'FRIDAY'")}; - private static final Label K851 = Label.of("'FRIDAY'"); - private static final Label[] K852 = new Label[]{Label.of("'SATURDAY'")}; - private static final Label K853 = Label.of("'SATURDAY'"); - private static final Label[] K854 = new Label[]{Label.of("'SUNDAY'")}; - private static final Label K855 = Label.of("'SUNDAY'"); - private static final Label[] K856 = new Label[]{null,Label.of("'external'"),Label.of("'string'"),Label.of("':'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K857 = new int[]{33}; - private static final Guard K858 = new Guard(K597,K856,K218,K857,1); - private static final Label[] K859 = new Label[]{null,Label.of("'('"),Label.of("'$'"),Label.of("')'")}; - private static final Guard K860 = new Guard(K676,K859,K218,K237,0); - private static final int[] K861 = new int[]{90}; - private static final Guard K862 = new Guard(K676,K714,K218,K861,1); - private static final Label[] K863 = new Label[]{null,Label.of("'$'"),Label.of("'.toUpperCase'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K864 = new int[]{66,121}; - private static final Guard K865 = new Guard(K694,K863,K218,K864,2); - private static final Label[] K866 = new Label[]{null,Label.of("'$'"),Label.of("'.toLowerCase'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K867 = new int[]{67,121}; - private static final Guard K868 = new Guard(K694,K866,K218,K867,2); - private static final Label[] K869 = new Label[]{null,Label.of("'$'"),Label.of("'.trim'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K870 = new int[]{68,121}; - private static final Guard K871 = new Guard(K694,K869,K218,K870,2); - private static final Guard[] K872 = new Guard[]{K858,K860,K862,K813,K810,K816,K865,K868,K871,null,K709,K713}; - private static final Call[] K873 = new Call[]{TinyExpressionP4Parser::e664,TinyExpressionP4Parser::e665,TinyExpressionP4Parser::e669,TinyExpressionP4Parser::e670,TinyExpressionP4Parser::e671,TinyExpressionP4Parser::e672,TinyExpressionP4Parser::e673,TinyExpressionP4Parser::e674,TinyExpressionP4Parser::e675,TinyExpressionP4Parser::e676,TinyExpressionP4Parser::e677,TinyExpressionP4Parser::e678}; - private static final Label[] K874 = new Label[]{Label.of("'('"),Label.of("'$'"),Label.of("')'")}; - private static final Call[] K875 = new Call[]{TinyExpressionP4Parser::e666,TinyExpressionP4Parser::e667,TinyExpressionP4Parser::e668}; - private static final Call[] K876 = new Call[]{TinyExpressionP4Parser::e680}; - private static final Call[] K877 = new Call[]{TinyExpressionP4Parser::e682}; - private static final Call[] K878 = new Call[]{TinyExpressionP4Parser::e684}; - private static final Call[] K879 = new Call[]{TinyExpressionP4Parser::e692,TinyExpressionP4Parser::e693,TinyExpressionP4Parser::e694}; - private static final Cap K880 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16674:16777:body/0/seq", false, false, "mixed", true, K156,true,true); - private static final Call[] K881 = new Call[]{TinyExpressionP4Parser::e701}; - private static final Cap K882 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16784:16862:body/1/seq", false, false, "mixed", true, K156,true,true); - private static final String[] K883 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16784:16801:body/1/0/ruleRef/capture/0","value",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16813:16828:body/1/2/ruleRef/capture/0","start",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16840:16853:body/1/4/ruleRef/capture/0","end"}; - private static final Call[] K884 = new Call[]{TinyExpressionP4Parser::e707,TinyExpressionP4Parser::e708,TinyExpressionP4Parser::e709}; - private static final Cap K885 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16869:16953:body/2/seq", false, false, "mixed", true, K156,true,true); - private static final String[] K886 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16869:16886:body/2/0/ruleRef/capture/0","value",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16898:16913:body/2/2/ruleRef/capture/0","start",null,null}; - private static final Call[] K887 = new Call[]{TinyExpressionP4Parser::e715}; - private static final Cap K888 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16960:17019:body/3/seq", false, false, "mixed", true, K156,true,true); - private static final String[] K889 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16960:16977:body/3/0/ruleRef/capture/0","value",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16989:17004:body/3/2/ruleRef/capture/0","start",null,null}; - private static final Call[] K890 = new Call[]{TinyExpressionP4Parser::e721,TinyExpressionP4Parser::e722,TinyExpressionP4Parser::e723}; - private static final Cap K891 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17026:17106:body/4/seq", false, false, "mixed", true, K156,true,true); - private static final String[] K892 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17026:17043:body/4/0/ruleRef/capture/0","value",null,null,null,null,null,null}; - private static final Call[] K893 = new Call[]{TinyExpressionP4Parser::e729}; - private static final Cap K894 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17113:17168:body/5/seq", false, false, "mixed", true, K156,true,true); - private static final String[] K895 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17113:17130:body/5/0/ruleRef/capture/0","value",null,null,null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17146:17159:body/5/3/ruleRef/capture/0","end"}; - private static final Call[] K896 = new Call[]{TinyExpressionP4Parser::e734,TinyExpressionP4Parser::e735,TinyExpressionP4Parser::e736}; - private static final Cap K897 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17175:17236:body/6/seq", false, false, "mixed", true, K156,true,true); - private static final String[] K898 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17175:17192:body/6/0/ruleRef/capture/0","value",null,null,null,null}; - private static final Call[] K899 = new Call[]{TinyExpressionP4Parser::e741}; - private static final Cap K900 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17243:17279:body/7/seq", false, false, "mixed", false, K156,true,true); - private static final String[] K901 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17243:17260:body/7/0/ruleRef/capture/0","value",null,null,null,null}; - private static final Group[] K902 = new Group[]{new Group(0,8,true,K396,8,new Level(TinyExpressionP4Parser::e687,K396,0,new Branch(new Level(TinyExpressionP4Parser::e688,K396,1,new Branch(new Level(TinyExpressionP4Parser::e689,K396,2,new Branch(new Level(TinyExpressionP4Parser::e690,K396,3,new Branch(new Level(TinyExpressionP4Parser::e691,K396,4,new Branch(K879,K396,5,K880,null),new Branch(K881,K252,5,K882,K883))),new Branch(K884,K220,4,K885,K886),new Branch(K887,K379,4,K888,K889))))),new Branch(new Level(TinyExpressionP4Parser::e719,K220,2,new Branch(new Level(TinyExpressionP4Parser::e720,K220,3,new Branch(K890,K220,4,K891,K892),new Branch(K893,K379,4,K894,K895))),new Branch(K896,K252,3,K897,K898),new Branch(K899,K604,3,K900,K901)))))))}; - private static final Call[] K903 = new Call[]{TinyExpressionP4Parser::e686,TinyExpressionP4Parser::e695,TinyExpressionP4Parser::e702,TinyExpressionP4Parser::e710,TinyExpressionP4Parser::e716,TinyExpressionP4Parser::e724,TinyExpressionP4Parser::e730,TinyExpressionP4Parser::e737}; - private static final Call[] K904 = new Call[]{TinyExpressionP4Parser::e687,TinyExpressionP4Parser::e688,TinyExpressionP4Parser::e689,TinyExpressionP4Parser::e690,TinyExpressionP4Parser::e691,TinyExpressionP4Parser::e692,TinyExpressionP4Parser::e693,TinyExpressionP4Parser::e694}; - private static final String[] K905 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16674:16691:body/0/0/ruleRef/capture/0"}; - private static final Label[] K906 = new Label[]{Label.of("'['")}; - private static final Label K907 = Label.of("'['"); - private static final String[] K908 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16703:16718:body/0/2/ruleRef/capture/0"}; - private static final String[] K909 = new String[]{"start"}; - private static final String[] K910 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16730:16743:body/0/4/ruleRef/capture/0"}; - private static final String[] K911 = new String[]{"end"}; - private static final String[] K912 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16753:16767:body/0/6/ruleRef/capture/0"}; - private static final String[] K913 = new String[]{"step"}; - private static final Label[] K914 = new Label[]{Label.of("']'")}; - private static final Label K915 = Label.of("']'"); - private static final Call[] K916 = new Call[]{TinyExpressionP4Parser::e696,TinyExpressionP4Parser::e697,TinyExpressionP4Parser::e698,TinyExpressionP4Parser::e699,TinyExpressionP4Parser::e700,TinyExpressionP4Parser::e701}; - private static final String[] K917 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16784:16801:body/1/0/ruleRef/capture/0"}; - private static final String[] K918 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16813:16828:body/1/2/ruleRef/capture/0"}; - private static final String[] K919 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16840:16853:body/1/4/ruleRef/capture/0"}; - private static final Call[] K920 = new Call[]{TinyExpressionP4Parser::e703,TinyExpressionP4Parser::e704,TinyExpressionP4Parser::e705,TinyExpressionP4Parser::e706,TinyExpressionP4Parser::e707,TinyExpressionP4Parser::e708,TinyExpressionP4Parser::e709}; - private static final String[] K921 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16869:16886:body/2/0/ruleRef/capture/0"}; - private static final String[] K922 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16898:16913:body/2/2/ruleRef/capture/0"}; - private static final String[] K923 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16929:16943:body/2/5/ruleRef/capture/0"}; - private static final Call[] K924 = new Call[]{TinyExpressionP4Parser::e711,TinyExpressionP4Parser::e712,TinyExpressionP4Parser::e713,TinyExpressionP4Parser::e714,TinyExpressionP4Parser::e715}; - private static final String[] K925 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16960:16977:body/3/0/ruleRef/capture/0"}; - private static final String[] K926 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16989:17004:body/3/2/ruleRef/capture/0"}; - private static final Call[] K927 = new Call[]{TinyExpressionP4Parser::e717,TinyExpressionP4Parser::e718,TinyExpressionP4Parser::e719,TinyExpressionP4Parser::e720,TinyExpressionP4Parser::e721,TinyExpressionP4Parser::e722,TinyExpressionP4Parser::e723}; - private static final String[] K928 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17026:17043:body/4/0/ruleRef/capture/0"}; - private static final String[] K929 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17059:17072:body/4/3/ruleRef/capture/0"}; - private static final String[] K930 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17082:17096:body/4/5/ruleRef/capture/0"}; - private static final Call[] K931 = new Call[]{TinyExpressionP4Parser::e725,TinyExpressionP4Parser::e726,TinyExpressionP4Parser::e727,TinyExpressionP4Parser::e728,TinyExpressionP4Parser::e729}; - private static final String[] K932 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17113:17130:body/5/0/ruleRef/capture/0"}; - private static final String[] K933 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17146:17159:body/5/3/ruleRef/capture/0"}; - private static final Call[] K934 = new Call[]{TinyExpressionP4Parser::e731,TinyExpressionP4Parser::e732,TinyExpressionP4Parser::e733,TinyExpressionP4Parser::e734,TinyExpressionP4Parser::e735,TinyExpressionP4Parser::e736}; - private static final String[] K935 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17175:17192:body/6/0/ruleRef/capture/0"}; - private static final String[] K936 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17212:17226:body/6/4/ruleRef/capture/0"}; - private static final Call[] K937 = new Call[]{TinyExpressionP4Parser::e738,TinyExpressionP4Parser::e739,TinyExpressionP4Parser::e740,TinyExpressionP4Parser::e741}; - private static final String[] K938 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17243:17260:body/7/0/ruleRef/capture/0"}; - private static final Call[] K939 = new Call[]{TinyExpressionP4Parser::e749,TinyExpressionP4Parser::e750,TinyExpressionP4Parser::e751}; - private static final Cap K940 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17373:17478:body/0/seq", false, false, "node", true, K156,true,true); - private static final Call[] K941 = new Call[]{TinyExpressionP4Parser::e758}; - private static final Cap K942 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17485:17565:body/1/seq", false, false, "node", true, K156,true,true); - private static final String[] K943 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17485:17504:body/1/0/ruleRef/capture/0","value",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17516:17531:body/1/2/ruleRef/capture/0","start",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17543:17556:body/1/4/ruleRef/capture/0","end"}; - private static final Call[] K944 = new Call[]{TinyExpressionP4Parser::e764,TinyExpressionP4Parser::e765,TinyExpressionP4Parser::e766}; - private static final Cap K945 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17572:17658:body/2/seq", false, false, "node", true, K156,true,true); - private static final String[] K946 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17572:17591:body/2/0/ruleRef/capture/0","value",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17603:17618:body/2/2/ruleRef/capture/0","start",null,null}; - private static final Call[] K947 = new Call[]{TinyExpressionP4Parser::e772}; - private static final Cap K948 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17665:17726:body/3/seq", false, false, "node", true, K156,true,true); - private static final String[] K949 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17665:17684:body/3/0/ruleRef/capture/0","value",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17696:17711:body/3/2/ruleRef/capture/0","start",null,null}; - private static final Call[] K950 = new Call[]{TinyExpressionP4Parser::e778,TinyExpressionP4Parser::e779,TinyExpressionP4Parser::e780}; - private static final Cap K951 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17733:17815:body/4/seq", false, false, "node", true, K156,true,true); - private static final String[] K952 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17733:17752:body/4/0/ruleRef/capture/0","value",null,null,null,null,null,null}; - private static final Call[] K953 = new Call[]{TinyExpressionP4Parser::e786}; - private static final Cap K954 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17822:17879:body/5/seq", false, false, "node", true, K156,true,true); - private static final String[] K955 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17822:17841:body/5/0/ruleRef/capture/0","value",null,null,null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17857:17870:body/5/3/ruleRef/capture/0","end"}; - private static final Call[] K956 = new Call[]{TinyExpressionP4Parser::e791,TinyExpressionP4Parser::e792,TinyExpressionP4Parser::e793}; - private static final Cap K957 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17886:17949:body/6/seq", false, false, "node", true, K156,true,true); - private static final String[] K958 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17886:17905:body/6/0/ruleRef/capture/0","value",null,null,null,null}; - private static final Call[] K959 = new Call[]{TinyExpressionP4Parser::e798}; - private static final Cap K960 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17956:17994:body/7/seq", false, false, "node", false, K156,true,true); - private static final String[] K961 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17956:17975:body/7/0/ruleRef/capture/0","value",null,null,null,null}; - private static final Group[] K962 = new Group[]{new Group(0,8,true,K396,8,new Level(TinyExpressionP4Parser::e744,K396,0,new Branch(new Level(TinyExpressionP4Parser::e745,K396,1,new Branch(new Level(TinyExpressionP4Parser::e746,K396,2,new Branch(new Level(TinyExpressionP4Parser::e747,K396,3,new Branch(new Level(TinyExpressionP4Parser::e748,K396,4,new Branch(K939,K396,5,K940,null),new Branch(K941,K252,5,K942,K943))),new Branch(K944,K220,4,K945,K946),new Branch(K947,K379,4,K948,K949))))),new Branch(new Level(TinyExpressionP4Parser::e776,K220,2,new Branch(new Level(TinyExpressionP4Parser::e777,K220,3,new Branch(K950,K220,4,K951,K952),new Branch(K953,K379,4,K954,K955))),new Branch(K956,K252,3,K957,K958),new Branch(K959,K604,3,K960,K961)))))))}; - private static final Call[] K963 = new Call[]{TinyExpressionP4Parser::e743,TinyExpressionP4Parser::e752,TinyExpressionP4Parser::e759,TinyExpressionP4Parser::e767,TinyExpressionP4Parser::e773,TinyExpressionP4Parser::e781,TinyExpressionP4Parser::e787,TinyExpressionP4Parser::e794}; - private static final Call[] K964 = new Call[]{TinyExpressionP4Parser::e744,TinyExpressionP4Parser::e745,TinyExpressionP4Parser::e746,TinyExpressionP4Parser::e747,TinyExpressionP4Parser::e748,TinyExpressionP4Parser::e749,TinyExpressionP4Parser::e750,TinyExpressionP4Parser::e751}; - private static final String[] K965 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17373:17392:body/0/0/ruleRef/capture/0"}; - private static final String[] K966 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17404:17419:body/0/2/ruleRef/capture/0"}; - private static final String[] K967 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17431:17444:body/0/4/ruleRef/capture/0"}; - private static final String[] K968 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17454:17468:body/0/6/ruleRef/capture/0"}; - private static final Call[] K969 = new Call[]{TinyExpressionP4Parser::e753,TinyExpressionP4Parser::e754,TinyExpressionP4Parser::e755,TinyExpressionP4Parser::e756,TinyExpressionP4Parser::e757,TinyExpressionP4Parser::e758}; - private static final String[] K970 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17485:17504:body/1/0/ruleRef/capture/0"}; - private static final String[] K971 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17516:17531:body/1/2/ruleRef/capture/0"}; - private static final String[] K972 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17543:17556:body/1/4/ruleRef/capture/0"}; - private static final Call[] K973 = new Call[]{TinyExpressionP4Parser::e760,TinyExpressionP4Parser::e761,TinyExpressionP4Parser::e762,TinyExpressionP4Parser::e763,TinyExpressionP4Parser::e764,TinyExpressionP4Parser::e765,TinyExpressionP4Parser::e766}; - private static final String[] K974 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17572:17591:body/2/0/ruleRef/capture/0"}; - private static final String[] K975 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17603:17618:body/2/2/ruleRef/capture/0"}; - private static final String[] K976 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17634:17648:body/2/5/ruleRef/capture/0"}; - private static final Call[] K977 = new Call[]{TinyExpressionP4Parser::e768,TinyExpressionP4Parser::e769,TinyExpressionP4Parser::e770,TinyExpressionP4Parser::e771,TinyExpressionP4Parser::e772}; - private static final String[] K978 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17665:17684:body/3/0/ruleRef/capture/0"}; - private static final String[] K979 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17696:17711:body/3/2/ruleRef/capture/0"}; - private static final Call[] K980 = new Call[]{TinyExpressionP4Parser::e774,TinyExpressionP4Parser::e775,TinyExpressionP4Parser::e776,TinyExpressionP4Parser::e777,TinyExpressionP4Parser::e778,TinyExpressionP4Parser::e779,TinyExpressionP4Parser::e780}; - private static final String[] K981 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17733:17752:body/4/0/ruleRef/capture/0"}; - private static final String[] K982 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17768:17781:body/4/3/ruleRef/capture/0"}; - private static final String[] K983 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17791:17805:body/4/5/ruleRef/capture/0"}; - private static final Call[] K984 = new Call[]{TinyExpressionP4Parser::e782,TinyExpressionP4Parser::e783,TinyExpressionP4Parser::e784,TinyExpressionP4Parser::e785,TinyExpressionP4Parser::e786}; - private static final String[] K985 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17822:17841:body/5/0/ruleRef/capture/0"}; - private static final String[] K986 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17857:17870:body/5/3/ruleRef/capture/0"}; - private static final Call[] K987 = new Call[]{TinyExpressionP4Parser::e788,TinyExpressionP4Parser::e789,TinyExpressionP4Parser::e790,TinyExpressionP4Parser::e791,TinyExpressionP4Parser::e792,TinyExpressionP4Parser::e793}; - private static final String[] K988 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17886:17905:body/6/0/ruleRef/capture/0"}; - private static final String[] K989 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17925:17939:body/6/4/ruleRef/capture/0"}; - private static final Call[] K990 = new Call[]{TinyExpressionP4Parser::e795,TinyExpressionP4Parser::e796,TinyExpressionP4Parser::e797,TinyExpressionP4Parser::e798}; - private static final String[] K991 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17956:17975:body/7/0/ruleRef/capture/0"}; - private static final Call[] K992 = new Call[]{TinyExpressionP4Parser::e800,TinyExpressionP4Parser::e801}; - private static final Call[] K993 = new Call[]{TinyExpressionP4Parser::e803,TinyExpressionP4Parser::e804}; - private static final String[] K994 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18264:18274:body/0/ruleRef/capture/0"}; - private static final Call[] K995 = new Call[]{TinyExpressionP4Parser::e806,TinyExpressionP4Parser::e807}; - private static final String[] K996 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18283:18286:body/1/0/0/literal/capture/0"}; - private static final String[] K997 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18291:18301:body/1/0/1/ruleRef/capture/0"}; - private static final Call[] K998 = new Call[]{TinyExpressionP4Parser::e809,TinyExpressionP4Parser::e810,TinyExpressionP4Parser::e811}; - private static final int[] K999 = new int[]{113}; - private static final Guard K1000 = new Guard(K564,K680,K218,K999,1); - private static final Label[] K1001 = new Label[]{null,Label.of("'('"),Label.of("'string'"),Label.of("'String'"),Label.of("')'"),Label.of("'$'")}; - private static final int[] K1002 = new int[]{92}; - private static final Guard K1003 = new Guard(K676,K1001,K218,K1002,1); - private static final Label[] K1004 = new Label[]{null,Label.of("'$'"),Label.of("'as'"),Label.of("'string'"),Label.of("'String'")}; - private static final int[] K1005 = new int[]{93}; - private static final Guard K1006 = new Guard(K694,K1004,K218,K1005,1); - private static final Guard[] K1007 = new Guard[]{K1000,K686,K1003,K1006,null,K862,K858,K813,K810,K816,K865,K868,K871,null,K709,K713}; - private static final Call[] K1008 = new Call[]{TinyExpressionP4Parser::e813,TinyExpressionP4Parser::e814,TinyExpressionP4Parser::e815,TinyExpressionP4Parser::e816,TinyExpressionP4Parser::e817,TinyExpressionP4Parser::e818,TinyExpressionP4Parser::e819,TinyExpressionP4Parser::e820,TinyExpressionP4Parser::e821,TinyExpressionP4Parser::e822,TinyExpressionP4Parser::e823,TinyExpressionP4Parser::e824,TinyExpressionP4Parser::e825,TinyExpressionP4Parser::e826,TinyExpressionP4Parser::e827,TinyExpressionP4Parser::e828}; - private static final Call[] K1009 = new Call[]{TinyExpressionP4Parser::e830,TinyExpressionP4Parser::e831,TinyExpressionP4Parser::e835,TinyExpressionP4Parser::e836,TinyExpressionP4Parser::e837}; - private static final Call[] K1010 = new Call[]{TinyExpressionP4Parser::e833,TinyExpressionP4Parser::e834}; - private static final String[] K1011 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19062:19072:body/4/tokenRef/capture/0"}; - private static final Call[] K1012 = new Call[]{TinyExpressionP4Parser::e839,TinyExpressionP4Parser::e840,TinyExpressionP4Parser::e841,TinyExpressionP4Parser::e842}; - private static final String[] K1013 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19166:19176:body/1/tokenRef/capture/0"}; - private static final Call[] K1014 = new Call[]{TinyExpressionP4Parser::e844,TinyExpressionP4Parser::e845}; - private static final Call[] K1015 = new Call[]{TinyExpressionP4Parser::e847,TinyExpressionP4Parser::e848}; - private static final String[] K1016 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19442:19462:body/0/ruleRef/capture/0"}; - private static final Label[] K1017 = new Label[]{Label.of("'|'")}; - private static final Call[] K1018 = new Call[]{TinyExpressionP4Parser::e850,TinyExpressionP4Parser::e851}; - private static final String[] K1019 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19471:19474:body/1/0/0/literal/capture/0"}; - private static final Label K1020 = Label.of("'|'"); - private static final String[] K1021 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19479:19499:body/1/0/1/ruleRef/capture/0"}; - private static final Call[] K1022 = new Call[]{TinyExpressionP4Parser::e853,TinyExpressionP4Parser::e854}; - private static final String[] K1023 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19645:19665:body/0/ruleRef/capture/0"}; - private static final Label[] K1024 = new Label[]{Label.of("'&'")}; - private static final Call[] K1025 = new Call[]{TinyExpressionP4Parser::e856,TinyExpressionP4Parser::e857}; - private static final String[] K1026 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19674:19677:body/1/0/0/literal/capture/0"}; - private static final Label K1027 = Label.of("'&'"); - private static final String[] K1028 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19682:19702:body/1/0/1/ruleRef/capture/0"}; - private static final Call[] K1029 = new Call[]{TinyExpressionP4Parser::e859,TinyExpressionP4Parser::e860}; - private static final String[] K1030 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19848:19861:body/0/ruleRef/capture/0"}; - private static final Label[] K1031 = new Label[]{Label.of("'^'")}; - private static final Call[] K1032 = new Call[]{TinyExpressionP4Parser::e862,TinyExpressionP4Parser::e863}; - private static final String[] K1033 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19870:19873:body/1/0/0/literal/capture/0"}; - private static final Label K1034 = Label.of("'^'"); - private static final String[] K1035 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19878:19891:body/1/0/1/ruleRef/capture/0"}; - private static final Call[] K1036 = new Call[]{TinyExpressionP4Parser::e865,TinyExpressionP4Parser::e866,TinyExpressionP4Parser::e867,TinyExpressionP4Parser::e868}; - private static final String[] K1037 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20048:20065:body/2/ruleRef/capture/0"}; - private static final int[] K1038 = new int[]{9,13,32,32,47,47,110,110}; - private static final Label[] K1039 = new Label[]{null,Label.of("'not'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K1040 = new int[]{97}; - private static final Guard K1041 = new Guard(K1038,K1039,K218,K1040,1); - private static final int[] K1042 = new int[]{117}; - private static final Guard K1043 = new Guard(K564,K680,K218,K1042,1); - private static final Label[] K1044 = new Label[]{null,Label.of("'external'"),Label.of("'boolean'"),Label.of("':'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K1045 = new int[]{31}; - private static final Guard K1046 = new Guard(K597,K1044,K218,K1045,1); - private static final int[] K1047 = new int[]{9,13,32,32,36,36,47,47,116,116}; - private static final Label[] K1048 = new Label[]{null,Label.of("'toLowerCase'"),Label.of("'('"),Label.of("')'"),Label.of("'toUpperCase'"),Label.of("'trim'"),Label.of("'$'"),Label.of("__CaptureSite"),Label.of("'.startsWith'")}; - private static final int[] K1049 = new int[]{74,77,62}; - private static final Guard K1050 = new Guard(K1047,K1048,K218,K1049,3); - private static final Label[] K1051 = new Label[]{null,Label.of("'toLowerCase'"),Label.of("'('"),Label.of("')'"),Label.of("'toUpperCase'"),Label.of("'trim'"),Label.of("'$'"),Label.of("__CaptureSite"),Label.of("'.endsWith'")}; - private static final int[] K1052 = new int[]{75,77,62}; - private static final Guard K1053 = new Guard(K1047,K1051,K218,K1052,3); - private static final Label[] K1054 = new Label[]{null,Label.of("'toLowerCase'"),Label.of("'('"),Label.of("')'"),Label.of("'toUpperCase'"),Label.of("'trim'"),Label.of("'$'"),Label.of("__CaptureSite"),Label.of("'.contains'")}; - private static final int[] K1055 = new int[]{76,77,62}; - private static final Guard K1056 = new Guard(K1047,K1054,K218,K1055,3); - private static final Label[] K1057 = new Label[]{null,Label.of("'startsWith'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; - private static final int[] K1058 = new int[]{70}; - private static final Guard K1059 = new Guard(K437,K1057,K218,K1058,1); - private static final Label[] K1060 = new Label[]{null,Label.of("'endsWith'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; - private static final int[] K1061 = new int[]{71}; - private static final Guard K1062 = new Guard(K597,K1060,K218,K1061,1); - private static final Label[] K1063 = new Label[]{null,Label.of("'contains'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; - private static final int[] K1064 = new int[]{72}; - private static final Guard K1065 = new Guard(K495,K1063,K218,K1064,1); - private static final Label[] K1066 = new Label[]{null,Label.of("'isPresent'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K1067 = new int[]{78}; - private static final Guard K1068 = new Guard(K683,K1066,K218,K1067,1); - private static final Label[] K1069 = new Label[]{null,Label.of("'inTimeRange'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; - private static final int[] K1070 = new int[]{79}; - private static final Guard K1071 = new Guard(K683,K1069,K218,K1070,1); - private static final Label[] K1072 = new Label[]{null,Label.of("'inDayTimeRange'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; - private static final int[] K1073 = new int[]{80}; - private static final Guard K1074 = new Guard(K683,K1072,K218,K1073,1); - private static final Guard[] K1075 = new Guard[]{K1041,K686,K1043,K1046,null,K1050,K1053,K1056,K1059,K1062,K1065,K1068,K1071,K1074,null,null,K709,K713,K715}; - private static final Call[] K1076 = new Call[]{TinyExpressionP4Parser::e870,TinyExpressionP4Parser::e871,TinyExpressionP4Parser::e872,TinyExpressionP4Parser::e873,TinyExpressionP4Parser::e874,TinyExpressionP4Parser::e875,TinyExpressionP4Parser::e876,TinyExpressionP4Parser::e877,TinyExpressionP4Parser::e878,TinyExpressionP4Parser::e879,TinyExpressionP4Parser::e880,TinyExpressionP4Parser::e881,TinyExpressionP4Parser::e882,TinyExpressionP4Parser::e883,TinyExpressionP4Parser::e884,TinyExpressionP4Parser::e885,TinyExpressionP4Parser::e886,TinyExpressionP4Parser::e887,TinyExpressionP4Parser::e888}; - private static final Label[] K1077 = new Label[]{Label.of("'true'")}; - private static final Label K1078 = Label.of("'true'"); - private static final Label[] K1079 = new Label[]{Label.of("'false'")}; - private static final Label K1080 = Label.of("'false'"); - private static final Call[] K1081 = new Call[]{TinyExpressionP4Parser::e889,TinyExpressionP4Parser::e890,TinyExpressionP4Parser::e891}; - private static final Call[] K1082 = new Call[]{TinyExpressionP4Parser::e893,TinyExpressionP4Parser::e894,TinyExpressionP4Parser::e895}; - private static final String[] K1083 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20636:20653:body/0/ruleRef/capture/0"}; - private static final Label[] K1084 = new Label[]{Label.of("'true'"),Label.of("'false'")}; - private static final String[] K1085 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20660:20670:body/1/ruleRef/capture/0"}; - private static final String[] K1086 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20675:20692:body/2/ruleRef/capture/0"}; - private static final Call[] K1087 = new Call[]{TinyExpressionP4Parser::e897,TinyExpressionP4Parser::e898,TinyExpressionP4Parser::e899,TinyExpressionP4Parser::e900}; - private static final String[] K1088 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20775:20800:body/0/ruleRef/capture/0"}; - private static final String[] K1089 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20814:20834:body/1/ruleRef/capture/0"}; - private static final String[] K1090 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20848:20874:body/2/ruleRef/capture/0"}; - private static final String[] K1091 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20888:20905:body/3/ruleRef/capture/0"}; - private static final Call[] K1092 = new Call[]{TinyExpressionP4Parser::e902,TinyExpressionP4Parser::e903,TinyExpressionP4Parser::e904}; - private static final String[] K1093 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21169:21185:body/0/ruleRef/capture/0"}; - private static final String[] K1094 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21192:21202:body/1/ruleRef/capture/0"}; - private static final String[] K1095 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21207:21223:body/2/ruleRef/capture/0"}; - private static final Call[] K1096 = new Call[]{TinyExpressionP4Parser::e906,TinyExpressionP4Parser::e907}; - private static final Label[] K1097 = new Label[]{Label.of("'=='")}; - private static final Label K1098 = Label.of("'=='"); - private static final Label[] K1099 = new Label[]{Label.of("'!='")}; - private static final Label K1100 = Label.of("'!='"); - private static final Call[] K1101 = new Call[]{TinyExpressionP4Parser::e909,TinyExpressionP4Parser::e910,TinyExpressionP4Parser::e911}; - private static final String[] K1102 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21345:21361:body/0/ruleRef/capture/0"}; - private static final String[] K1103 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21368:21377:body/1/ruleRef/capture/0"}; - private static final String[] K1104 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21382:21398:body/2/ruleRef/capture/0"}; - private static final Call[] K1105 = new Call[]{TinyExpressionP4Parser::e913,TinyExpressionP4Parser::e914,TinyExpressionP4Parser::e915,TinyExpressionP4Parser::e916,TinyExpressionP4Parser::e917,TinyExpressionP4Parser::e918}; - private static final Label[] K1106 = new Label[]{Label.of("'<='")}; - private static final Label K1107 = Label.of("'<='"); - private static final Label[] K1108 = new Label[]{Label.of("'>='")}; - private static final Label K1109 = Label.of("'>='"); - private static final Label[] K1110 = new Label[]{Label.of("'<'")}; - private static final Label K1111 = Label.of("'<'"); - private static final Label[] K1112 = new Label[]{Label.of("'>'")}; - private static final Label K1113 = Label.of("'>'"); - private static final Label[] K1114 = new Label[]{null,Label.of("'external'"),Label.of("'object'"),Label.of("':'"),Label.of("'('"),Label.of("')'")}; - private static final int[] K1115 = new int[]{34}; - private static final Guard K1116 = new Guard(K597,K1114,K218,K1115,1); - private static final Guard[] K1117 = new Guard[]{null,null,null,K1116,K709,K713}; - private static final Call[] K1118 = new Call[]{TinyExpressionP4Parser::e920,TinyExpressionP4Parser::e921,TinyExpressionP4Parser::e922,TinyExpressionP4Parser::e923,TinyExpressionP4Parser::e924,TinyExpressionP4Parser::e925}; - private static final String[] K1119 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21615:21631:body/0/ruleRef/capture/0"}; - private static final String[] K1120 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21645:21661:body/1/ruleRef/capture/0"}; - private static final String[] K1121 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21675:21692:body/2/ruleRef/capture/0"}; - private static final String[] K1122 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21706:21730:body/3/ruleRef/capture/0"}; - private static final String[] K1123 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21744:21755:body/4/ruleRef/capture/0"}; - private static final String[] K1124 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21769:21785:body/5/ruleRef/capture/0"}; - private static final Delimiters[] K1125 = new Delimiters[]{K218,K218,K218,K218,K218,K218,K218,K218,K218,K218,K218}; - private static final Trivia K1126 = new Trivia(K218,null,K1125,null,null); - private static final Call[] K1127 = new Call[]{TinyExpressionP4Parser::e927,TinyExpressionP4Parser::e928,TinyExpressionP4Parser::e929,TinyExpressionP4Parser::e930,TinyExpressionP4Parser::e931,TinyExpressionP4Parser::e932,TinyExpressionP4Parser::e933,TinyExpressionP4Parser::e934,TinyExpressionP4Parser::e935,TinyExpressionP4Parser::e936,TinyExpressionP4Parser::e937}; - private static final String[] K1128 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21969:21986:body/2/ruleRef/capture/0"}; - private static final String[] K1129 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22010:22026:body/5/ruleRef/capture/0"}; - private static final Label[] K1130 = new Label[]{Label.of("'else'")}; - private static final Label K1131 = Label.of("'else'"); - private static final String[] K1132 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22060:22076:body/9/ruleRef/capture/0"}; - private static final Guard[] K1133 = new Guard[]{null,null,null,null,null,null,null,K713}; - private static final Call[] K1134 = new Call[]{TinyExpressionP4Parser::e939,TinyExpressionP4Parser::e940,TinyExpressionP4Parser::e941,TinyExpressionP4Parser::e942,TinyExpressionP4Parser::e943,TinyExpressionP4Parser::e944,TinyExpressionP4Parser::e945,TinyExpressionP4Parser::e946}; - private static final String[] K1135 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22172:22192:body/0/ruleRef/capture/0"}; - private static final String[] K1136 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22206:22232:body/1/ruleRef/capture/0"}; - private static final String[] K1137 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22246:22271:body/2/ruleRef/capture/0"}; - private static final String[] K1138 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22285:22301:body/3/ruleRef/capture/0"}; - private static final String[] K1139 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22315:22332:body/4/ruleRef/capture/0"}; - private static final String[] K1140 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22346:22362:body/5/ruleRef/capture/0"}; - private static final String[] K1141 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22376:22392:body/6/ruleRef/capture/0"}; - private static final String[] K1142 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22406:22422:body/7/ruleRef/capture/0"}; - private static final Call[] K1143 = new Call[]{TinyExpressionP4Parser::e948,TinyExpressionP4Parser::e949,TinyExpressionP4Parser::e950,TinyExpressionP4Parser::e951,TinyExpressionP4Parser::e952,TinyExpressionP4Parser::e953,TinyExpressionP4Parser::e954}; - private static final String[] K1144 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22601:22618:body/1/ruleRef/capture/0"}; - private static final String[] K1145 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22634:22650:body/3/ruleRef/capture/0"}; - private static final String[] K1146 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22665:22681:body/5/ruleRef/capture/0"}; - private static final Call[] K1147 = new Call[]{TinyExpressionP4Parser::e956,TinyExpressionP4Parser::e957,TinyExpressionP4Parser::e958,TinyExpressionP4Parser::e959,TinyExpressionP4Parser::e963,TinyExpressionP4Parser::e964,TinyExpressionP4Parser::e965}; - private static final Label[] K1148 = new Label[]{Label.of("'match'")}; - private static final Label K1149 = Label.of("'match'"); - private static final String[] K1150 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22903:22913:body/2/ruleRef/capture/0"}; - private static final String[] K1151 = new String[]{"firstCase"}; - private static final Call[] K1152 = new Call[]{TinyExpressionP4Parser::e961,TinyExpressionP4Parser::e962}; - private static final String[] K1153 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22931:22941:body/3/0/1/ruleRef/capture/0"}; - private static final String[] K1154 = new String[]{"moreCases"}; - private static final String[] K1155 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22965:22982:body/5/ruleRef/capture/0"}; - private static final String[] K1156 = new String[]{"defaultCase"}; - private static final Call[] K1157 = new Call[]{TinyExpressionP4Parser::e967,TinyExpressionP4Parser::e968,TinyExpressionP4Parser::e969}; - private static final String[] K1158 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23078:23095:body/0/ruleRef/capture/0"}; - private static final Label K1159 = Label.of("'->'"); - private static final String[] K1160 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23112:23127:body/2/ruleRef/capture/0"}; - private static final Call[] K1161 = new Call[]{TinyExpressionP4Parser::e971,TinyExpressionP4Parser::e972,TinyExpressionP4Parser::e973}; - private static final Label[] K1162 = new Label[]{Label.of("'default'")}; - private static final Label K1163 = Label.of("'default'"); - private static final String[] K1164 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23226:23241:body/2/ruleRef/capture/0"}; - private static final Call[] K1165 = new Call[]{TinyExpressionP4Parser::e975}; - private static final String[] K1166 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23321:23337:body/0/ruleRef/capture/0"}; - private static final Call[] K1167 = new Call[]{TinyExpressionP4Parser::e977,TinyExpressionP4Parser::e978,TinyExpressionP4Parser::e979,TinyExpressionP4Parser::e980,TinyExpressionP4Parser::e984,TinyExpressionP4Parser::e985,TinyExpressionP4Parser::e986}; - private static final String[] K1168 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23470:23480:body/2/ruleRef/capture/0"}; - private static final Call[] K1169 = new Call[]{TinyExpressionP4Parser::e982,TinyExpressionP4Parser::e983}; - private static final String[] K1170 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23498:23508:body/3/0/1/ruleRef/capture/0"}; - private static final String[] K1171 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23532:23549:body/5/ruleRef/capture/0"}; - private static final Call[] K1172 = new Call[]{TinyExpressionP4Parser::e988,TinyExpressionP4Parser::e989,TinyExpressionP4Parser::e990}; - private static final String[] K1173 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23645:23662:body/0/ruleRef/capture/0"}; - private static final String[] K1174 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23679:23694:body/2/ruleRef/capture/0"}; - private static final Call[] K1175 = new Call[]{TinyExpressionP4Parser::e992,TinyExpressionP4Parser::e993,TinyExpressionP4Parser::e994}; - private static final String[] K1176 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23793:23808:body/2/ruleRef/capture/0"}; - private static final Call[] K1177 = new Call[]{TinyExpressionP4Parser::e996}; - private static final String[] K1178 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23888:23904:body/0/ruleRef/capture/0"}; - private static final Call[] K1179 = new Call[]{TinyExpressionP4Parser::e998,TinyExpressionP4Parser::e999,TinyExpressionP4Parser::e1000,TinyExpressionP4Parser::e1001,TinyExpressionP4Parser::e1005,TinyExpressionP4Parser::e1006,TinyExpressionP4Parser::e1007}; - private static final String[] K1180 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24039:24050:body/2/ruleRef/capture/0"}; - private static final Call[] K1181 = new Call[]{TinyExpressionP4Parser::e1003,TinyExpressionP4Parser::e1004}; - private static final String[] K1182 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24068:24079:body/3/0/1/ruleRef/capture/0"}; - private static final String[] K1183 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24103:24121:body/5/ruleRef/capture/0"}; - private static final Call[] K1184 = new Call[]{TinyExpressionP4Parser::e1009,TinyExpressionP4Parser::e1010,TinyExpressionP4Parser::e1011}; - private static final String[] K1185 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24219:24236:body/0/ruleRef/capture/0"}; - private static final String[] K1186 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24253:24269:body/2/ruleRef/capture/0"}; - private static final Call[] K1187 = new Call[]{TinyExpressionP4Parser::e1013,TinyExpressionP4Parser::e1014,TinyExpressionP4Parser::e1015}; - private static final String[] K1188 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24370:24386:body/2/ruleRef/capture/0"}; - private static final Call[] K1189 = new Call[]{TinyExpressionP4Parser::e1017}; - private static final String[] K1190 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24468:24485:body/0/ruleRef/capture/0"}; - private static final Call[] K1191 = new Call[]{TinyExpressionP4Parser::e1019,TinyExpressionP4Parser::e1020,TinyExpressionP4Parser::e1021}; - private static final String[] K1192 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24702:24712:body/1/tokenRef/capture/0"}; - private static final Call[] K1193 = new Call[]{TinyExpressionP4Parser::e1023,TinyExpressionP4Parser::e1025}; - private static final String[] K1194 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24730:24741:body/2/0/1/ruleRef/capture/0"}; - private static final Call[] K1195 = new Call[]{TinyExpressionP4Parser::e1027,TinyExpressionP4Parser::e1028,TinyExpressionP4Parser::e1029,TinyExpressionP4Parser::e1030,TinyExpressionP4Parser::e1031,TinyExpressionP4Parser::e1032,TinyExpressionP4Parser::e1033,TinyExpressionP4Parser::e1034,TinyExpressionP4Parser::e1035,TinyExpressionP4Parser::e1036}; - private static final Guard[] K1196 = new Guard[]{null,null,null,null,K713,K715}; - private static final Call[] K1197 = new Call[]{TinyExpressionP4Parser::e1038,TinyExpressionP4Parser::e1039,TinyExpressionP4Parser::e1040,TinyExpressionP4Parser::e1041,TinyExpressionP4Parser::e1042,TinyExpressionP4Parser::e1043}; - private static final String[] K1198 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25201:25217:body/0/ruleRef/capture/0"}; - private static final String[] K1199 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25231:25248:body/1/ruleRef/capture/0"}; - private static final String[] K1200 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25262:25278:body/2/ruleRef/capture/0"}; - private static final String[] K1201 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25292:25308:body/3/ruleRef/capture/0"}; - private static final String[] K1202 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25322:25338:body/4/ruleRef/capture/0"}; - private static final Call[] K1203 = new Call[]{TinyExpressionP4Parser::e1044,TinyExpressionP4Parser::e1045,TinyExpressionP4Parser::e1046}; - private static final String[] K1204 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25356:25366:body/5/1/ruleRef/capture/0"}; + private static final Label[] K714 = new Label[]{null,Label.of("'len'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K715 = new int[]{65}; + private static final Guard K716 = new Guard(K609,K714,K218,K715,1); + private static final Label[] K717 = new Label[]{null,Label.of("'length'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K718 = new int[]{64}; + private static final Guard K719 = new Guard(K609,K717,K218,K718,1); + private static final Label[] K720 = new Label[]{null,Label.of("'external'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K721 = new int[]{32}; + private static final Guard K722 = new Guard(K613,K720,K218,K721,1); + private static final Label[] K723 = new Label[]{null,Label.of("'$'")}; + private static final int[] K724 = new int[]{121}; + private static final Guard K725 = new Guard(K710,K723,K218,K724,1); + private static final int[] K726 = new int[]{9,13,32,32,47,47,99,99,105,105}; + private static final Label[] K727 = new Label[]{null,Label.of("'call'"),Label.of("'internal'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K728 = new int[]{36,35}; + private static final Guard K729 = new Guard(K726,K727,K218,K728,2); + private static final Label[] K730 = new Label[]{null,Label.of("'('"),Label.of("')'")}; + private static final Guard K731 = new Guard(K692,K730,K218,K512,0); + private static final Guard[] K732 = new Guard[]{K695,K698,K702,K706,K709,K713,K716,K719,K722,null,K725,K729,K731}; + private static final Call[] K733 = new Call[]{TinyExpressionP4Parser::e493,TinyExpressionP4Parser::e494,TinyExpressionP4Parser::e495,TinyExpressionP4Parser::e496,TinyExpressionP4Parser::e497,TinyExpressionP4Parser::e498,TinyExpressionP4Parser::e499,TinyExpressionP4Parser::e500,TinyExpressionP4Parser::e501,TinyExpressionP4Parser::e502,TinyExpressionP4Parser::e503,TinyExpressionP4Parser::e504,TinyExpressionP4Parser::e505}; + private static final Label[] K734 = new Label[]{Label.of("NUMBERParser")}; + private static final org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression K735 = new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"+",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"-",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",1,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",48,57,List.of()))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,".",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",48,57,List.of()))))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,".",0,0,List.of()),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",1,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",48,57,List.of()))))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",1,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",48,57,List.of()))))))))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"e",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"E",0,0,List.of()))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",0,1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"+",0,0,List.of()))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.LITERAL,"-",0,0,List.of()))))))),new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.REPEAT,"",1,-1,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SCOPE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.CHOICE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.SEQUENCE,"",0,0,List.of(new org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression(org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.LexicalExpression.Op.RANGE,"",48,57,List.of()))))))))))))))))))))))))))); + private static final Label K736 = Label.of("NUMBERParser"); + private static final Call[] K737 = new Call[]{TinyExpressionP4Parser::e506,TinyExpressionP4Parser::e507,TinyExpressionP4Parser::e508}; + private static final Call[] K738 = new Call[]{TinyExpressionP4Parser::e510,TinyExpressionP4Parser::e511,TinyExpressionP4Parser::e512,TinyExpressionP4Parser::e513}; + private static final Label[] K739 = new Label[]{Label.of("'toUpperCase'")}; + private static final Label K740 = Label.of("'toUpperCase'"); + private static final String[] K741 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11947:11963:body/2/ruleRef/capture/0"}; + private static final Call[] K742 = new Call[]{TinyExpressionP4Parser::e515,TinyExpressionP4Parser::e516,TinyExpressionP4Parser::e517,TinyExpressionP4Parser::e518}; + private static final Label[] K743 = new Label[]{Label.of("'toLowerCase'")}; + private static final Label K744 = Label.of("'toLowerCase'"); + private static final String[] K745 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12066:12082:body/2/ruleRef/capture/0"}; + private static final Call[] K746 = new Call[]{TinyExpressionP4Parser::e520,TinyExpressionP4Parser::e521,TinyExpressionP4Parser::e522,TinyExpressionP4Parser::e523}; + private static final Label[] K747 = new Label[]{Label.of("'trim'")}; + private static final Label K748 = Label.of("'trim'"); + private static final String[] K749 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12164:12180:body/2/ruleRef/capture/0"}; + private static final Call[] K750 = new Call[]{TinyExpressionP4Parser::e525,TinyExpressionP4Parser::e526,TinyExpressionP4Parser::e527,TinyExpressionP4Parser::e528}; + private static final Label[] K751 = new Label[]{Label.of("'length'")}; + private static final Label K752 = Label.of("'length'"); + private static final String[] K753 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12268:12284:body/2/ruleRef/capture/0"}; + private static final Call[] K754 = new Call[]{TinyExpressionP4Parser::e530,TinyExpressionP4Parser::e531,TinyExpressionP4Parser::e532,TinyExpressionP4Parser::e533}; + private static final Label[] K755 = new Label[]{Label.of("'len'")}; + private static final Label K756 = Label.of("'len'"); + private static final String[] K757 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12366:12382:body/2/ruleRef/capture/0"}; + private static final Call[] K758 = new Call[]{TinyExpressionP4Parser::e535,TinyExpressionP4Parser::e536,TinyExpressionP4Parser::e537,TinyExpressionP4Parser::e538}; + private static final String[] K759 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12718:12729:body/0/ruleRef/capture/0"}; + private static final Label[] K760 = new Label[]{Label.of("'.toUpperCase'")}; + private static final Label K761 = Label.of("'.toUpperCase'"); + private static final Call[] K762 = new Call[]{TinyExpressionP4Parser::e540,TinyExpressionP4Parser::e541,TinyExpressionP4Parser::e542,TinyExpressionP4Parser::e543}; + private static final String[] K763 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12837:12848:body/0/ruleRef/capture/0"}; + private static final Label[] K764 = new Label[]{Label.of("'.toLowerCase'")}; + private static final Label K765 = Label.of("'.toLowerCase'"); + private static final Call[] K766 = new Call[]{TinyExpressionP4Parser::e545,TinyExpressionP4Parser::e546,TinyExpressionP4Parser::e547,TinyExpressionP4Parser::e548}; + private static final String[] K767 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12942:12953:body/0/ruleRef/capture/0"}; + private static final Label[] K768 = new Label[]{Label.of("'.trim'")}; + private static final Label K769 = Label.of("'.trim'"); + private static final Call[] K770 = new Call[]{TinyExpressionP4Parser::e550,TinyExpressionP4Parser::e551,TinyExpressionP4Parser::e552,TinyExpressionP4Parser::e553}; + private static final String[] K771 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13044:13055:body/0/ruleRef/capture/0"}; + private static final Label[] K772 = new Label[]{Label.of("'.length'")}; + private static final Label K773 = Label.of("'.length'"); + private static final Call[] K774 = new Call[]{TinyExpressionP4Parser::e555,TinyExpressionP4Parser::e556,TinyExpressionP4Parser::e557,TinyExpressionP4Parser::e558,TinyExpressionP4Parser::e559,TinyExpressionP4Parser::e560,TinyExpressionP4Parser::e564}; + private static final Label[] K775 = new Label[]{Label.of("'startsWith'")}; + private static final Label K776 = Label.of("'startsWith'"); + private static final String[] K777 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13317:13333:body/2/ruleRef/capture/0"}; + private static final String[] K778 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13345:13361:body/4/ruleRef/capture/0"}; + private static final String[] K779 = new String[]{"patterns"}; + private static final Call[] K780 = new Call[]{TinyExpressionP4Parser::e562,TinyExpressionP4Parser::e563}; + private static final String[] K781 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13382:13398:body/5/0/1/ruleRef/capture/0"}; + private static final Call[] K782 = new Call[]{TinyExpressionP4Parser::e566,TinyExpressionP4Parser::e567,TinyExpressionP4Parser::e568,TinyExpressionP4Parser::e569,TinyExpressionP4Parser::e570,TinyExpressionP4Parser::e571,TinyExpressionP4Parser::e575}; + private static final Label[] K783 = new Label[]{Label.of("'endsWith'")}; + private static final Label K784 = Label.of("'endsWith'"); + private static final String[] K785 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13507:13523:body/2/ruleRef/capture/0"}; + private static final String[] K786 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13535:13551:body/4/ruleRef/capture/0"}; + private static final Call[] K787 = new Call[]{TinyExpressionP4Parser::e573,TinyExpressionP4Parser::e574}; + private static final String[] K788 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13572:13588:body/5/0/1/ruleRef/capture/0"}; + private static final Call[] K789 = new Call[]{TinyExpressionP4Parser::e577,TinyExpressionP4Parser::e578,TinyExpressionP4Parser::e579,TinyExpressionP4Parser::e580,TinyExpressionP4Parser::e581,TinyExpressionP4Parser::e582,TinyExpressionP4Parser::e586}; + private static final Label[] K790 = new Label[]{Label.of("'contains'")}; + private static final Label K791 = Label.of("'contains'"); + private static final String[] K792 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13697:13713:body/2/ruleRef/capture/0"}; + private static final String[] K793 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13725:13741:body/4/ruleRef/capture/0"}; + private static final Call[] K794 = new Call[]{TinyExpressionP4Parser::e584,TinyExpressionP4Parser::e585}; + private static final String[] K795 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13762:13778:body/5/0/1/ruleRef/capture/0"}; + private static final Call[] K796 = new Call[]{TinyExpressionP4Parser::e588,TinyExpressionP4Parser::e589,TinyExpressionP4Parser::e590,TinyExpressionP4Parser::e591,TinyExpressionP4Parser::e592,TinyExpressionP4Parser::e596}; + private static final String[] K797 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13860:13876:body/0/ruleRef/capture/0"}; + private static final Label[] K798 = new Label[]{Label.of("'.in'")}; + private static final Label K799 = Label.of("'.in'"); + private static final String[] K800 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13894:13910:body/3/ruleRef/capture/0"}; + private static final String[] K801 = new String[]{"candidates"}; + private static final Call[] K802 = new Call[]{TinyExpressionP4Parser::e594,TinyExpressionP4Parser::e595}; + private static final String[] K803 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13929:13945:body/4/0/1/ruleRef/capture/0"}; + private static final Call[] K804 = new Call[]{TinyExpressionP4Parser::e598,TinyExpressionP4Parser::e599,TinyExpressionP4Parser::e600,TinyExpressionP4Parser::e601,TinyExpressionP4Parser::e602,TinyExpressionP4Parser::e606}; + private static final String[] K805 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14128:14151:body/0/ruleRef/capture/0"}; + private static final Label[] K806 = new Label[]{Label.of("'.startsWith'")}; + private static final Label K807 = Label.of("'.startsWith'"); + private static final String[] K808 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14177:14193:body/3/ruleRef/capture/0"}; + private static final Call[] K809 = new Call[]{TinyExpressionP4Parser::e604,TinyExpressionP4Parser::e605}; + private static final String[] K810 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14214:14230:body/4/0/1/ruleRef/capture/0"}; + private static final Call[] K811 = new Call[]{TinyExpressionP4Parser::e608,TinyExpressionP4Parser::e609,TinyExpressionP4Parser::e610,TinyExpressionP4Parser::e611,TinyExpressionP4Parser::e612,TinyExpressionP4Parser::e616}; + private static final String[] K812 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14328:14351:body/0/ruleRef/capture/0"}; + private static final Label[] K813 = new Label[]{Label.of("'.endsWith'")}; + private static final Label K814 = Label.of("'.endsWith'"); + private static final String[] K815 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14375:14391:body/3/ruleRef/capture/0"}; + private static final Call[] K816 = new Call[]{TinyExpressionP4Parser::e614,TinyExpressionP4Parser::e615}; + private static final String[] K817 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14412:14428:body/4/0/1/ruleRef/capture/0"}; + private static final Call[] K818 = new Call[]{TinyExpressionP4Parser::e618,TinyExpressionP4Parser::e619,TinyExpressionP4Parser::e620,TinyExpressionP4Parser::e621,TinyExpressionP4Parser::e622,TinyExpressionP4Parser::e626}; + private static final String[] K819 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14526:14549:body/0/ruleRef/capture/0"}; + private static final Label[] K820 = new Label[]{Label.of("'.contains'")}; + private static final Label K821 = Label.of("'.contains'"); + private static final String[] K822 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14573:14589:body/3/ruleRef/capture/0"}; + private static final Call[] K823 = new Call[]{TinyExpressionP4Parser::e624,TinyExpressionP4Parser::e625}; + private static final String[] K824 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14610:14626:body/4/0/1/ruleRef/capture/0"}; + private static final Label[] K825 = new Label[]{null,Label.of("'toLowerCase'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K826 = new int[]{62}; + private static final Guard K827 = new Guard(K573,K825,K218,K826,1); + private static final Label[] K828 = new Label[]{null,Label.of("'toUpperCase'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K829 = new int[]{61}; + private static final Guard K830 = new Guard(K573,K828,K218,K829,1); + private static final Label[] K831 = new Label[]{null,Label.of("'trim'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K832 = new int[]{63}; + private static final Guard K833 = new Guard(K573,K831,K218,K832,1); + private static final Guard[] K834 = new Guard[]{K827,K830,K833,K725}; + private static final Call[] K835 = new Call[]{TinyExpressionP4Parser::e628,TinyExpressionP4Parser::e629,TinyExpressionP4Parser::e630,TinyExpressionP4Parser::e631}; + private static final Call[] K836 = new Call[]{TinyExpressionP4Parser::e633,TinyExpressionP4Parser::e634,TinyExpressionP4Parser::e635,TinyExpressionP4Parser::e636}; + private static final Label[] K837 = new Label[]{Label.of("'isPresent'")}; + private static final Label K838 = Label.of("'isPresent'"); + private static final String[] K839 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14911:14922:body/2/ruleRef/capture/0"}; + private static final Call[] K840 = new Call[]{TinyExpressionP4Parser::e638,TinyExpressionP4Parser::e639,TinyExpressionP4Parser::e640,TinyExpressionP4Parser::e641,TinyExpressionP4Parser::e642,TinyExpressionP4Parser::e643}; + private static final Label[] K841 = new Label[]{Label.of("'inTimeRange'")}; + private static final Label K842 = Label.of("'inTimeRange'"); + private static final String[] K843 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15115:15131:body/2/ruleRef/capture/0"}; + private static final String[] K844 = new String[]{"startHour"}; + private static final String[] K845 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15147:15163:body/4/ruleRef/capture/0"}; + private static final String[] K846 = new String[]{"endHour"}; + private static final Delimiters[] K847 = new Delimiters[]{K218,K218,K218,K218,K218,K218,K218,K218,K218,K218}; + private static final Trivia K848 = new Trivia(K218,null,K847,null,null); + private static final Call[] K849 = new Call[]{TinyExpressionP4Parser::e645,TinyExpressionP4Parser::e646,TinyExpressionP4Parser::e647,TinyExpressionP4Parser::e648,TinyExpressionP4Parser::e649,TinyExpressionP4Parser::e650,TinyExpressionP4Parser::e651,TinyExpressionP4Parser::e652,TinyExpressionP4Parser::e653,TinyExpressionP4Parser::e654}; + private static final Label[] K850 = new Label[]{Label.of("'inDayTimeRange'")}; + private static final Label K851 = Label.of("'inDayTimeRange'"); + private static final String[] K852 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15308:15317:body/2/ruleRef/capture/0"}; + private static final String[] K853 = new String[]{"startDay"}; + private static final String[] K854 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15332:15348:body/4/ruleRef/capture/0"}; + private static final String[] K855 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15364:15373:body/6/ruleRef/capture/0"}; + private static final String[] K856 = new String[]{"endDay"}; + private static final String[] K857 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15386:15402:body/8/ruleRef/capture/0"}; + private static final Call[] K858 = new Call[]{TinyExpressionP4Parser::e656,TinyExpressionP4Parser::e657,TinyExpressionP4Parser::e658,TinyExpressionP4Parser::e659,TinyExpressionP4Parser::e660,TinyExpressionP4Parser::e661,TinyExpressionP4Parser::e662}; + private static final Label[] K859 = new Label[]{Label.of("'MONDAY'")}; + private static final Label K860 = Label.of("'MONDAY'"); + private static final Label[] K861 = new Label[]{Label.of("'TUESDAY'")}; + private static final Label K862 = Label.of("'TUESDAY'"); + private static final Label[] K863 = new Label[]{Label.of("'WEDNESDAY'")}; + private static final Label K864 = Label.of("'WEDNESDAY'"); + private static final Label[] K865 = new Label[]{Label.of("'THURSDAY'")}; + private static final Label K866 = Label.of("'THURSDAY'"); + private static final Label[] K867 = new Label[]{Label.of("'FRIDAY'")}; + private static final Label K868 = Label.of("'FRIDAY'"); + private static final Label[] K869 = new Label[]{Label.of("'SATURDAY'")}; + private static final Label K870 = Label.of("'SATURDAY'"); + private static final Label[] K871 = new Label[]{Label.of("'SUNDAY'")}; + private static final Label K872 = Label.of("'SUNDAY'"); + private static final Label[] K873 = new Label[]{null,Label.of("'external'"),Label.of("'string'"),Label.of("':'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K874 = new int[]{33}; + private static final Guard K875 = new Guard(K613,K873,K218,K874,1); + private static final Label[] K876 = new Label[]{null,Label.of("'('"),Label.of("'$'"),Label.of("')'")}; + private static final Guard K877 = new Guard(K692,K876,K218,K512,0); + private static final int[] K878 = new int[]{90}; + private static final Guard K879 = new Guard(K692,K730,K218,K878,1); + private static final Label[] K880 = new Label[]{null,Label.of("'$'"),Label.of("'.toUpperCase'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K881 = new int[]{66,121}; + private static final Guard K882 = new Guard(K710,K880,K218,K881,2); + private static final Label[] K883 = new Label[]{null,Label.of("'$'"),Label.of("'.toLowerCase'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K884 = new int[]{67,121}; + private static final Guard K885 = new Guard(K710,K883,K218,K884,2); + private static final Label[] K886 = new Label[]{null,Label.of("'$'"),Label.of("'.trim'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K887 = new int[]{68,121}; + private static final Guard K888 = new Guard(K710,K886,K218,K887,2); + private static final Guard[] K889 = new Guard[]{K875,K877,K879,K830,K827,K833,K882,K885,K888,null,K725,K729}; + private static final Call[] K890 = new Call[]{TinyExpressionP4Parser::e664,TinyExpressionP4Parser::e665,TinyExpressionP4Parser::e669,TinyExpressionP4Parser::e670,TinyExpressionP4Parser::e671,TinyExpressionP4Parser::e672,TinyExpressionP4Parser::e673,TinyExpressionP4Parser::e674,TinyExpressionP4Parser::e675,TinyExpressionP4Parser::e676,TinyExpressionP4Parser::e677,TinyExpressionP4Parser::e678}; + private static final Label[] K891 = new Label[]{Label.of("'('"),Label.of("'$'"),Label.of("')'")}; + private static final Call[] K892 = new Call[]{TinyExpressionP4Parser::e666,TinyExpressionP4Parser::e667,TinyExpressionP4Parser::e668}; + private static final Call[] K893 = new Call[]{TinyExpressionP4Parser::e680}; + private static final Call[] K894 = new Call[]{TinyExpressionP4Parser::e682}; + private static final Call[] K895 = new Call[]{TinyExpressionP4Parser::e684}; + private static final Call[] K896 = new Call[]{TinyExpressionP4Parser::e692,TinyExpressionP4Parser::e693,TinyExpressionP4Parser::e694}; + private static final Cap K897 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16660:16763:body/0/seq", false, false, "mixed", true, K156,true,true); + private static final Call[] K898 = new Call[]{TinyExpressionP4Parser::e701}; + private static final Cap K899 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16770:16848:body/1/seq", false, false, "mixed", true, K156,true,true); + private static final String[] K900 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16770:16787:body/1/0/ruleRef/capture/0","value",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16799:16814:body/1/2/ruleRef/capture/0","start",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16826:16839:body/1/4/ruleRef/capture/0","end"}; + private static final Call[] K901 = new Call[]{TinyExpressionP4Parser::e707,TinyExpressionP4Parser::e708,TinyExpressionP4Parser::e709}; + private static final Cap K902 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16855:16939:body/2/seq", false, false, "mixed", true, K156,true,true); + private static final String[] K903 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16855:16872:body/2/0/ruleRef/capture/0","value",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16884:16899:body/2/2/ruleRef/capture/0","start",null,null}; + private static final Call[] K904 = new Call[]{TinyExpressionP4Parser::e715}; + private static final Cap K905 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16946:17005:body/3/seq", false, false, "mixed", true, K156,true,true); + private static final String[] K906 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16946:16963:body/3/0/ruleRef/capture/0","value",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16975:16990:body/3/2/ruleRef/capture/0","start",null,null}; + private static final Call[] K907 = new Call[]{TinyExpressionP4Parser::e721,TinyExpressionP4Parser::e722,TinyExpressionP4Parser::e723}; + private static final Cap K908 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17012:17092:body/4/seq", false, false, "mixed", true, K156,true,true); + private static final String[] K909 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17012:17029:body/4/0/ruleRef/capture/0","value",null,null,null,null,null,null}; + private static final Call[] K910 = new Call[]{TinyExpressionP4Parser::e729}; + private static final Cap K911 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17099:17154:body/5/seq", false, false, "mixed", true, K156,true,true); + private static final String[] K912 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17099:17116:body/5/0/ruleRef/capture/0","value",null,null,null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17132:17145:body/5/3/ruleRef/capture/0","end"}; + private static final Call[] K913 = new Call[]{TinyExpressionP4Parser::e734,TinyExpressionP4Parser::e735,TinyExpressionP4Parser::e736}; + private static final Cap K914 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17161:17222:body/6/seq", false, false, "mixed", true, K156,true,true); + private static final String[] K915 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17161:17178:body/6/0/ruleRef/capture/0","value",null,null,null,null}; + private static final Call[] K916 = new Call[]{TinyExpressionP4Parser::e741}; + private static final Cap K917 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceBaseExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17229:17265:body/7/seq", false, false, "mixed", false, K156,true,true); + private static final String[] K918 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17229:17246:body/7/0/ruleRef/capture/0","value",null,null,null,null}; + private static final Group[] K919 = new Group[]{new Group(0,8,true,K411,8,new Level(TinyExpressionP4Parser::e687,K411,0,new Branch(new Level(TinyExpressionP4Parser::e688,K411,1,new Branch(new Level(TinyExpressionP4Parser::e689,K411,2,new Branch(new Level(TinyExpressionP4Parser::e690,K411,3,new Branch(new Level(TinyExpressionP4Parser::e691,K411,4,new Branch(K896,K411,5,K897,null),new Branch(K898,K263,5,K899,K900))),new Branch(K901,K220,4,K902,K903),new Branch(K904,K394,4,K905,K906))))),new Branch(new Level(TinyExpressionP4Parser::e719,K220,2,new Branch(new Level(TinyExpressionP4Parser::e720,K220,3,new Branch(K907,K220,4,K908,K909),new Branch(K910,K394,4,K911,K912))),new Branch(K913,K263,3,K914,K915),new Branch(K916,K620,3,K917,K918)))))))}; + private static final Call[] K920 = new Call[]{TinyExpressionP4Parser::e686,TinyExpressionP4Parser::e695,TinyExpressionP4Parser::e702,TinyExpressionP4Parser::e710,TinyExpressionP4Parser::e716,TinyExpressionP4Parser::e724,TinyExpressionP4Parser::e730,TinyExpressionP4Parser::e737}; + private static final Call[] K921 = new Call[]{TinyExpressionP4Parser::e687,TinyExpressionP4Parser::e688,TinyExpressionP4Parser::e689,TinyExpressionP4Parser::e690,TinyExpressionP4Parser::e691,TinyExpressionP4Parser::e692,TinyExpressionP4Parser::e693,TinyExpressionP4Parser::e694}; + private static final String[] K922 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16660:16677:body/0/0/ruleRef/capture/0"}; + private static final Label[] K923 = new Label[]{Label.of("'['")}; + private static final Label K924 = Label.of("'['"); + private static final String[] K925 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16689:16704:body/0/2/ruleRef/capture/0"}; + private static final String[] K926 = new String[]{"start"}; + private static final String[] K927 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16716:16729:body/0/4/ruleRef/capture/0"}; + private static final String[] K928 = new String[]{"end"}; + private static final String[] K929 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16739:16753:body/0/6/ruleRef/capture/0"}; + private static final String[] K930 = new String[]{"step"}; + private static final Label[] K931 = new Label[]{Label.of("']'")}; + private static final Label K932 = Label.of("']'"); + private static final Call[] K933 = new Call[]{TinyExpressionP4Parser::e696,TinyExpressionP4Parser::e697,TinyExpressionP4Parser::e698,TinyExpressionP4Parser::e699,TinyExpressionP4Parser::e700,TinyExpressionP4Parser::e701}; + private static final String[] K934 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16770:16787:body/1/0/ruleRef/capture/0"}; + private static final String[] K935 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16799:16814:body/1/2/ruleRef/capture/0"}; + private static final String[] K936 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16826:16839:body/1/4/ruleRef/capture/0"}; + private static final Call[] K937 = new Call[]{TinyExpressionP4Parser::e703,TinyExpressionP4Parser::e704,TinyExpressionP4Parser::e705,TinyExpressionP4Parser::e706,TinyExpressionP4Parser::e707,TinyExpressionP4Parser::e708,TinyExpressionP4Parser::e709}; + private static final String[] K938 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16855:16872:body/2/0/ruleRef/capture/0"}; + private static final String[] K939 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16884:16899:body/2/2/ruleRef/capture/0"}; + private static final String[] K940 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16915:16929:body/2/5/ruleRef/capture/0"}; + private static final Call[] K941 = new Call[]{TinyExpressionP4Parser::e711,TinyExpressionP4Parser::e712,TinyExpressionP4Parser::e713,TinyExpressionP4Parser::e714,TinyExpressionP4Parser::e715}; + private static final String[] K942 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16946:16963:body/3/0/ruleRef/capture/0"}; + private static final String[] K943 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16975:16990:body/3/2/ruleRef/capture/0"}; + private static final Call[] K944 = new Call[]{TinyExpressionP4Parser::e717,TinyExpressionP4Parser::e718,TinyExpressionP4Parser::e719,TinyExpressionP4Parser::e720,TinyExpressionP4Parser::e721,TinyExpressionP4Parser::e722,TinyExpressionP4Parser::e723}; + private static final String[] K945 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17012:17029:body/4/0/ruleRef/capture/0"}; + private static final String[] K946 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17045:17058:body/4/3/ruleRef/capture/0"}; + private static final String[] K947 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17068:17082:body/4/5/ruleRef/capture/0"}; + private static final Call[] K948 = new Call[]{TinyExpressionP4Parser::e725,TinyExpressionP4Parser::e726,TinyExpressionP4Parser::e727,TinyExpressionP4Parser::e728,TinyExpressionP4Parser::e729}; + private static final String[] K949 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17099:17116:body/5/0/ruleRef/capture/0"}; + private static final String[] K950 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17132:17145:body/5/3/ruleRef/capture/0"}; + private static final Call[] K951 = new Call[]{TinyExpressionP4Parser::e731,TinyExpressionP4Parser::e732,TinyExpressionP4Parser::e733,TinyExpressionP4Parser::e734,TinyExpressionP4Parser::e735,TinyExpressionP4Parser::e736}; + private static final String[] K952 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17161:17178:body/6/0/ruleRef/capture/0"}; + private static final String[] K953 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17198:17212:body/6/4/ruleRef/capture/0"}; + private static final Call[] K954 = new Call[]{TinyExpressionP4Parser::e738,TinyExpressionP4Parser::e739,TinyExpressionP4Parser::e740,TinyExpressionP4Parser::e741}; + private static final String[] K955 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17229:17246:body/7/0/ruleRef/capture/0"}; + private static final Call[] K956 = new Call[]{TinyExpressionP4Parser::e749,TinyExpressionP4Parser::e750,TinyExpressionP4Parser::e751}; + private static final Cap K957 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17359:17464:body/0/seq", false, false, "node", true, K156,true,true); + private static final Call[] K958 = new Call[]{TinyExpressionP4Parser::e758}; + private static final Cap K959 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17471:17551:body/1/seq", false, false, "node", true, K156,true,true); + private static final String[] K960 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17471:17490:body/1/0/ruleRef/capture/0","value",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17502:17517:body/1/2/ruleRef/capture/0","start",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17529:17542:body/1/4/ruleRef/capture/0","end"}; + private static final Call[] K961 = new Call[]{TinyExpressionP4Parser::e764,TinyExpressionP4Parser::e765,TinyExpressionP4Parser::e766}; + private static final Cap K962 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17558:17644:body/2/seq", false, false, "node", true, K156,true,true); + private static final String[] K963 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17558:17577:body/2/0/ruleRef/capture/0","value",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17589:17604:body/2/2/ruleRef/capture/0","start",null,null}; + private static final Call[] K964 = new Call[]{TinyExpressionP4Parser::e772}; + private static final Cap K965 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17651:17712:body/3/seq", false, false, "node", true, K156,true,true); + private static final String[] K966 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17651:17670:body/3/0/ruleRef/capture/0","value",null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17682:17697:body/3/2/ruleRef/capture/0","start",null,null}; + private static final Call[] K967 = new Call[]{TinyExpressionP4Parser::e778,TinyExpressionP4Parser::e779,TinyExpressionP4Parser::e780}; + private static final Cap K968 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17719:17801:body/4/seq", false, false, "node", true, K156,true,true); + private static final String[] K969 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17719:17738:body/4/0/ruleRef/capture/0","value",null,null,null,null,null,null}; + private static final Call[] K970 = new Call[]{TinyExpressionP4Parser::e786}; + private static final Cap K971 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17808:17865:body/5/seq", false, false, "node", true, K156,true,true); + private static final String[] K972 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17808:17827:body/5/0/ruleRef/capture/0","value",null,null,null,null,"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17843:17856:body/5/3/ruleRef/capture/0","end"}; + private static final Call[] K973 = new Call[]{TinyExpressionP4Parser::e791,TinyExpressionP4Parser::e792,TinyExpressionP4Parser::e793}; + private static final Cap K974 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17872:17935:body/6/seq", false, false, "node", true, K156,true,true); + private static final String[] K975 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17872:17891:body/6/0/ruleRef/capture/0","value",null,null,null,null}; + private static final Call[] K976 = new Call[]{TinyExpressionP4Parser::e798}; + private static final Cap K977 = new Cap(K216, K216, K216, K217, K217, "TinyExpressionP4::SliceNestedExpression", "expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17942:17980:body/7/seq", false, false, "node", false, K156,true,true); + private static final String[] K978 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17942:17961:body/7/0/ruleRef/capture/0","value",null,null,null,null}; + private static final Group[] K979 = new Group[]{new Group(0,8,true,K411,8,new Level(TinyExpressionP4Parser::e744,K411,0,new Branch(new Level(TinyExpressionP4Parser::e745,K411,1,new Branch(new Level(TinyExpressionP4Parser::e746,K411,2,new Branch(new Level(TinyExpressionP4Parser::e747,K411,3,new Branch(new Level(TinyExpressionP4Parser::e748,K411,4,new Branch(K956,K411,5,K957,null),new Branch(K958,K263,5,K959,K960))),new Branch(K961,K220,4,K962,K963),new Branch(K964,K394,4,K965,K966))))),new Branch(new Level(TinyExpressionP4Parser::e776,K220,2,new Branch(new Level(TinyExpressionP4Parser::e777,K220,3,new Branch(K967,K220,4,K968,K969),new Branch(K970,K394,4,K971,K972))),new Branch(K973,K263,3,K974,K975),new Branch(K976,K620,3,K977,K978)))))))}; + private static final Call[] K980 = new Call[]{TinyExpressionP4Parser::e743,TinyExpressionP4Parser::e752,TinyExpressionP4Parser::e759,TinyExpressionP4Parser::e767,TinyExpressionP4Parser::e773,TinyExpressionP4Parser::e781,TinyExpressionP4Parser::e787,TinyExpressionP4Parser::e794}; + private static final Call[] K981 = new Call[]{TinyExpressionP4Parser::e744,TinyExpressionP4Parser::e745,TinyExpressionP4Parser::e746,TinyExpressionP4Parser::e747,TinyExpressionP4Parser::e748,TinyExpressionP4Parser::e749,TinyExpressionP4Parser::e750,TinyExpressionP4Parser::e751}; + private static final String[] K982 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17359:17378:body/0/0/ruleRef/capture/0"}; + private static final String[] K983 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17390:17405:body/0/2/ruleRef/capture/0"}; + private static final String[] K984 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17417:17430:body/0/4/ruleRef/capture/0"}; + private static final String[] K985 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17440:17454:body/0/6/ruleRef/capture/0"}; + private static final Call[] K986 = new Call[]{TinyExpressionP4Parser::e753,TinyExpressionP4Parser::e754,TinyExpressionP4Parser::e755,TinyExpressionP4Parser::e756,TinyExpressionP4Parser::e757,TinyExpressionP4Parser::e758}; + private static final String[] K987 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17471:17490:body/1/0/ruleRef/capture/0"}; + private static final String[] K988 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17502:17517:body/1/2/ruleRef/capture/0"}; + private static final String[] K989 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17529:17542:body/1/4/ruleRef/capture/0"}; + private static final Call[] K990 = new Call[]{TinyExpressionP4Parser::e760,TinyExpressionP4Parser::e761,TinyExpressionP4Parser::e762,TinyExpressionP4Parser::e763,TinyExpressionP4Parser::e764,TinyExpressionP4Parser::e765,TinyExpressionP4Parser::e766}; + private static final String[] K991 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17558:17577:body/2/0/ruleRef/capture/0"}; + private static final String[] K992 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17589:17604:body/2/2/ruleRef/capture/0"}; + private static final String[] K993 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17620:17634:body/2/5/ruleRef/capture/0"}; + private static final Call[] K994 = new Call[]{TinyExpressionP4Parser::e768,TinyExpressionP4Parser::e769,TinyExpressionP4Parser::e770,TinyExpressionP4Parser::e771,TinyExpressionP4Parser::e772}; + private static final String[] K995 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17651:17670:body/3/0/ruleRef/capture/0"}; + private static final String[] K996 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17682:17697:body/3/2/ruleRef/capture/0"}; + private static final Call[] K997 = new Call[]{TinyExpressionP4Parser::e774,TinyExpressionP4Parser::e775,TinyExpressionP4Parser::e776,TinyExpressionP4Parser::e777,TinyExpressionP4Parser::e778,TinyExpressionP4Parser::e779,TinyExpressionP4Parser::e780}; + private static final String[] K998 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17719:17738:body/4/0/ruleRef/capture/0"}; + private static final String[] K999 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17754:17767:body/4/3/ruleRef/capture/0"}; + private static final String[] K1000 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17777:17791:body/4/5/ruleRef/capture/0"}; + private static final Call[] K1001 = new Call[]{TinyExpressionP4Parser::e782,TinyExpressionP4Parser::e783,TinyExpressionP4Parser::e784,TinyExpressionP4Parser::e785,TinyExpressionP4Parser::e786}; + private static final String[] K1002 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17808:17827:body/5/0/ruleRef/capture/0"}; + private static final String[] K1003 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17843:17856:body/5/3/ruleRef/capture/0"}; + private static final Call[] K1004 = new Call[]{TinyExpressionP4Parser::e788,TinyExpressionP4Parser::e789,TinyExpressionP4Parser::e790,TinyExpressionP4Parser::e791,TinyExpressionP4Parser::e792,TinyExpressionP4Parser::e793}; + private static final String[] K1005 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17872:17891:body/6/0/ruleRef/capture/0"}; + private static final String[] K1006 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17911:17925:body/6/4/ruleRef/capture/0"}; + private static final Call[] K1007 = new Call[]{TinyExpressionP4Parser::e795,TinyExpressionP4Parser::e796,TinyExpressionP4Parser::e797,TinyExpressionP4Parser::e798}; + private static final String[] K1008 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17942:17961:body/7/0/ruleRef/capture/0"}; + private static final Call[] K1009 = new Call[]{TinyExpressionP4Parser::e800,TinyExpressionP4Parser::e801}; + private static final Call[] K1010 = new Call[]{TinyExpressionP4Parser::e803,TinyExpressionP4Parser::e804}; + private static final String[] K1011 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18250:18260:body/0/ruleRef/capture/0"}; + private static final Call[] K1012 = new Call[]{TinyExpressionP4Parser::e806,TinyExpressionP4Parser::e807}; + private static final String[] K1013 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18269:18272:body/1/0/0/literal/capture/0"}; + private static final String[] K1014 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18277:18287:body/1/0/1/ruleRef/capture/0"}; + private static final Call[] K1015 = new Call[]{TinyExpressionP4Parser::e809,TinyExpressionP4Parser::e810,TinyExpressionP4Parser::e811}; + private static final int[] K1016 = new int[]{113}; + private static final Guard K1017 = new Guard(K580,K696,K218,K1016,1); + private static final Label[] K1018 = new Label[]{null,Label.of("'('"),Label.of("'string'"),Label.of("'String'"),Label.of("')'"),Label.of("'$'")}; + private static final int[] K1019 = new int[]{92}; + private static final Guard K1020 = new Guard(K692,K1018,K218,K1019,1); + private static final Label[] K1021 = new Label[]{null,Label.of("'$'"),Label.of("'as'"),Label.of("'string'"),Label.of("'String'")}; + private static final int[] K1022 = new int[]{93}; + private static final Guard K1023 = new Guard(K710,K1021,K218,K1022,1); + private static final Guard[] K1024 = new Guard[]{K1017,K702,K1020,K1023,null,K879,K875,K830,K827,K833,K882,K885,K888,null,K725,K729}; + private static final Call[] K1025 = new Call[]{TinyExpressionP4Parser::e813,TinyExpressionP4Parser::e814,TinyExpressionP4Parser::e815,TinyExpressionP4Parser::e816,TinyExpressionP4Parser::e817,TinyExpressionP4Parser::e818,TinyExpressionP4Parser::e819,TinyExpressionP4Parser::e820,TinyExpressionP4Parser::e821,TinyExpressionP4Parser::e822,TinyExpressionP4Parser::e823,TinyExpressionP4Parser::e824,TinyExpressionP4Parser::e825,TinyExpressionP4Parser::e826,TinyExpressionP4Parser::e827,TinyExpressionP4Parser::e828}; + private static final Call[] K1026 = new Call[]{TinyExpressionP4Parser::e830,TinyExpressionP4Parser::e831,TinyExpressionP4Parser::e835,TinyExpressionP4Parser::e836,TinyExpressionP4Parser::e837}; + private static final Call[] K1027 = new Call[]{TinyExpressionP4Parser::e833,TinyExpressionP4Parser::e834}; + private static final String[] K1028 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19048:19058:body/4/tokenRef/capture/0"}; + private static final Call[] K1029 = new Call[]{TinyExpressionP4Parser::e839,TinyExpressionP4Parser::e840,TinyExpressionP4Parser::e841,TinyExpressionP4Parser::e842}; + private static final String[] K1030 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19152:19162:body/1/tokenRef/capture/0"}; + private static final Call[] K1031 = new Call[]{TinyExpressionP4Parser::e844,TinyExpressionP4Parser::e845}; + private static final Call[] K1032 = new Call[]{TinyExpressionP4Parser::e847,TinyExpressionP4Parser::e848}; + private static final String[] K1033 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19428:19448:body/0/ruleRef/capture/0"}; + private static final Label[] K1034 = new Label[]{Label.of("'|'")}; + private static final Call[] K1035 = new Call[]{TinyExpressionP4Parser::e850,TinyExpressionP4Parser::e851}; + private static final String[] K1036 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19457:19460:body/1/0/0/literal/capture/0"}; + private static final Label K1037 = Label.of("'|'"); + private static final String[] K1038 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19465:19485:body/1/0/1/ruleRef/capture/0"}; + private static final Call[] K1039 = new Call[]{TinyExpressionP4Parser::e853,TinyExpressionP4Parser::e854}; + private static final String[] K1040 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19631:19651:body/0/ruleRef/capture/0"}; + private static final Label[] K1041 = new Label[]{Label.of("'&'")}; + private static final Call[] K1042 = new Call[]{TinyExpressionP4Parser::e856,TinyExpressionP4Parser::e857}; + private static final String[] K1043 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19660:19663:body/1/0/0/literal/capture/0"}; + private static final Label K1044 = Label.of("'&'"); + private static final String[] K1045 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19668:19688:body/1/0/1/ruleRef/capture/0"}; + private static final Call[] K1046 = new Call[]{TinyExpressionP4Parser::e859,TinyExpressionP4Parser::e860}; + private static final String[] K1047 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19834:19847:body/0/ruleRef/capture/0"}; + private static final Label[] K1048 = new Label[]{Label.of("'^'")}; + private static final Call[] K1049 = new Call[]{TinyExpressionP4Parser::e862,TinyExpressionP4Parser::e863}; + private static final String[] K1050 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19856:19859:body/1/0/0/literal/capture/0"}; + private static final Label K1051 = Label.of("'^'"); + private static final String[] K1052 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19864:19877:body/1/0/1/ruleRef/capture/0"}; + private static final Call[] K1053 = new Call[]{TinyExpressionP4Parser::e865,TinyExpressionP4Parser::e866,TinyExpressionP4Parser::e867,TinyExpressionP4Parser::e868}; + private static final String[] K1054 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20034:20051:body/2/ruleRef/capture/0"}; + private static final int[] K1055 = new int[]{9,13,32,32,47,47,110,110}; + private static final Label[] K1056 = new Label[]{null,Label.of("'not'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K1057 = new int[]{97}; + private static final Guard K1058 = new Guard(K1055,K1056,K218,K1057,1); + private static final int[] K1059 = new int[]{117}; + private static final Guard K1060 = new Guard(K580,K696,K218,K1059,1); + private static final Label[] K1061 = new Label[]{null,Label.of("'external'"),Label.of("'boolean'"),Label.of("':'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K1062 = new int[]{31}; + private static final Guard K1063 = new Guard(K613,K1061,K218,K1062,1); + private static final int[] K1064 = new int[]{9,13,32,32,36,36,47,47,116,116}; + private static final Label[] K1065 = new Label[]{null,Label.of("'toLowerCase'"),Label.of("'('"),Label.of("')'"),Label.of("'toUpperCase'"),Label.of("'trim'"),Label.of("'$'"),Label.of("__CaptureSite"),Label.of("'.startsWith'")}; + private static final int[] K1066 = new int[]{74,77,62}; + private static final Guard K1067 = new Guard(K1064,K1065,K218,K1066,3); + private static final Label[] K1068 = new Label[]{null,Label.of("'toLowerCase'"),Label.of("'('"),Label.of("')'"),Label.of("'toUpperCase'"),Label.of("'trim'"),Label.of("'$'"),Label.of("__CaptureSite"),Label.of("'.endsWith'")}; + private static final int[] K1069 = new int[]{75,77,62}; + private static final Guard K1070 = new Guard(K1064,K1068,K218,K1069,3); + private static final Label[] K1071 = new Label[]{null,Label.of("'toLowerCase'"),Label.of("'('"),Label.of("')'"),Label.of("'toUpperCase'"),Label.of("'trim'"),Label.of("'$'"),Label.of("__CaptureSite"),Label.of("'.contains'")}; + private static final int[] K1072 = new int[]{76,77,62}; + private static final Guard K1073 = new Guard(K1064,K1071,K218,K1072,3); + private static final Label[] K1074 = new Label[]{null,Label.of("'startsWith'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; + private static final int[] K1075 = new int[]{70}; + private static final Guard K1076 = new Guard(K452,K1074,K218,K1075,1); + private static final Label[] K1077 = new Label[]{null,Label.of("'endsWith'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; + private static final int[] K1078 = new int[]{71}; + private static final Guard K1079 = new Guard(K613,K1077,K218,K1078,1); + private static final Label[] K1080 = new Label[]{null,Label.of("'contains'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; + private static final int[] K1081 = new int[]{72}; + private static final Guard K1082 = new Guard(K510,K1080,K218,K1081,1); + private static final Label[] K1083 = new Label[]{null,Label.of("'isPresent'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K1084 = new int[]{78}; + private static final Guard K1085 = new Guard(K699,K1083,K218,K1084,1); + private static final Label[] K1086 = new Label[]{null,Label.of("'inTimeRange'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; + private static final int[] K1087 = new int[]{79}; + private static final Guard K1088 = new Guard(K699,K1086,K218,K1087,1); + private static final Label[] K1089 = new Label[]{null,Label.of("'inDayTimeRange'"),Label.of("'('"),Label.of("','"),Label.of("')'")}; + private static final int[] K1090 = new int[]{80}; + private static final Guard K1091 = new Guard(K699,K1089,K218,K1090,1); + private static final Guard[] K1092 = new Guard[]{K1058,K702,K1060,K1063,null,K1067,K1070,K1073,K1076,K1079,K1082,K1085,K1088,K1091,null,null,K725,K729,K731}; + private static final Call[] K1093 = new Call[]{TinyExpressionP4Parser::e870,TinyExpressionP4Parser::e871,TinyExpressionP4Parser::e872,TinyExpressionP4Parser::e873,TinyExpressionP4Parser::e874,TinyExpressionP4Parser::e875,TinyExpressionP4Parser::e876,TinyExpressionP4Parser::e877,TinyExpressionP4Parser::e878,TinyExpressionP4Parser::e879,TinyExpressionP4Parser::e880,TinyExpressionP4Parser::e881,TinyExpressionP4Parser::e882,TinyExpressionP4Parser::e883,TinyExpressionP4Parser::e884,TinyExpressionP4Parser::e885,TinyExpressionP4Parser::e886,TinyExpressionP4Parser::e887,TinyExpressionP4Parser::e888}; + private static final Label[] K1094 = new Label[]{Label.of("'true'")}; + private static final Label K1095 = Label.of("'true'"); + private static final Label[] K1096 = new Label[]{Label.of("'false'")}; + private static final Label K1097 = Label.of("'false'"); + private static final Call[] K1098 = new Call[]{TinyExpressionP4Parser::e889,TinyExpressionP4Parser::e890,TinyExpressionP4Parser::e891}; + private static final Call[] K1099 = new Call[]{TinyExpressionP4Parser::e893,TinyExpressionP4Parser::e894,TinyExpressionP4Parser::e895}; + private static final String[] K1100 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20622:20639:body/0/ruleRef/capture/0"}; + private static final Label[] K1101 = new Label[]{Label.of("'true'"),Label.of("'false'")}; + private static final String[] K1102 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20646:20656:body/1/ruleRef/capture/0"}; + private static final String[] K1103 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20661:20678:body/2/ruleRef/capture/0"}; + private static final Call[] K1104 = new Call[]{TinyExpressionP4Parser::e897,TinyExpressionP4Parser::e898,TinyExpressionP4Parser::e899,TinyExpressionP4Parser::e900}; + private static final String[] K1105 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20761:20786:body/0/ruleRef/capture/0"}; + private static final String[] K1106 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20800:20820:body/1/ruleRef/capture/0"}; + private static final String[] K1107 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20834:20860:body/2/ruleRef/capture/0"}; + private static final String[] K1108 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20874:20891:body/3/ruleRef/capture/0"}; + private static final Call[] K1109 = new Call[]{TinyExpressionP4Parser::e902,TinyExpressionP4Parser::e903,TinyExpressionP4Parser::e904}; + private static final String[] K1110 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21155:21171:body/0/ruleRef/capture/0"}; + private static final String[] K1111 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21178:21188:body/1/ruleRef/capture/0"}; + private static final String[] K1112 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21193:21209:body/2/ruleRef/capture/0"}; + private static final Call[] K1113 = new Call[]{TinyExpressionP4Parser::e906,TinyExpressionP4Parser::e907}; + private static final Label[] K1114 = new Label[]{Label.of("'=='")}; + private static final Label K1115 = Label.of("'=='"); + private static final Label[] K1116 = new Label[]{Label.of("'!='")}; + private static final Label K1117 = Label.of("'!='"); + private static final Call[] K1118 = new Call[]{TinyExpressionP4Parser::e909,TinyExpressionP4Parser::e910,TinyExpressionP4Parser::e911}; + private static final String[] K1119 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21331:21347:body/0/ruleRef/capture/0"}; + private static final String[] K1120 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21354:21363:body/1/ruleRef/capture/0"}; + private static final String[] K1121 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21368:21384:body/2/ruleRef/capture/0"}; + private static final Call[] K1122 = new Call[]{TinyExpressionP4Parser::e913,TinyExpressionP4Parser::e914,TinyExpressionP4Parser::e915,TinyExpressionP4Parser::e916,TinyExpressionP4Parser::e917,TinyExpressionP4Parser::e918}; + private static final Label[] K1123 = new Label[]{Label.of("'<='")}; + private static final Label K1124 = Label.of("'<='"); + private static final Label[] K1125 = new Label[]{Label.of("'>='")}; + private static final Label K1126 = Label.of("'>='"); + private static final Label[] K1127 = new Label[]{Label.of("'<'")}; + private static final Label K1128 = Label.of("'<'"); + private static final Label[] K1129 = new Label[]{Label.of("'>'")}; + private static final Label K1130 = Label.of("'>'"); + private static final Label[] K1131 = new Label[]{null,Label.of("'external'"),Label.of("'object'"),Label.of("':'"),Label.of("'('"),Label.of("')'")}; + private static final int[] K1132 = new int[]{34}; + private static final Guard K1133 = new Guard(K613,K1131,K218,K1132,1); + private static final Guard[] K1134 = new Guard[]{null,null,null,K1133,K725,K729}; + private static final Call[] K1135 = new Call[]{TinyExpressionP4Parser::e920,TinyExpressionP4Parser::e921,TinyExpressionP4Parser::e922,TinyExpressionP4Parser::e923,TinyExpressionP4Parser::e924,TinyExpressionP4Parser::e925}; + private static final String[] K1136 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21601:21617:body/0/ruleRef/capture/0"}; + private static final String[] K1137 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21631:21647:body/1/ruleRef/capture/0"}; + private static final String[] K1138 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21661:21678:body/2/ruleRef/capture/0"}; + private static final String[] K1139 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21692:21716:body/3/ruleRef/capture/0"}; + private static final String[] K1140 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21730:21741:body/4/ruleRef/capture/0"}; + private static final String[] K1141 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21755:21771:body/5/ruleRef/capture/0"}; + private static final Delimiters[] K1142 = new Delimiters[]{K218,K218,K218,K218,K218,K218,K218,K218,K218,K218,K218}; + private static final Trivia K1143 = new Trivia(K218,null,K1142,null,null); + private static final Call[] K1144 = new Call[]{TinyExpressionP4Parser::e927,TinyExpressionP4Parser::e928,TinyExpressionP4Parser::e929,TinyExpressionP4Parser::e930,TinyExpressionP4Parser::e931,TinyExpressionP4Parser::e932,TinyExpressionP4Parser::e933,TinyExpressionP4Parser::e934,TinyExpressionP4Parser::e935,TinyExpressionP4Parser::e936,TinyExpressionP4Parser::e937}; + private static final String[] K1145 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21955:21972:body/2/ruleRef/capture/0"}; + private static final String[] K1146 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21996:22012:body/5/ruleRef/capture/0"}; + private static final Label[] K1147 = new Label[]{Label.of("'else'")}; + private static final Label K1148 = Label.of("'else'"); + private static final String[] K1149 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22046:22062:body/9/ruleRef/capture/0"}; + private static final Guard[] K1150 = new Guard[]{null,null,null,null,null,null,null,K729}; + private static final Call[] K1151 = new Call[]{TinyExpressionP4Parser::e939,TinyExpressionP4Parser::e940,TinyExpressionP4Parser::e941,TinyExpressionP4Parser::e942,TinyExpressionP4Parser::e943,TinyExpressionP4Parser::e944,TinyExpressionP4Parser::e945,TinyExpressionP4Parser::e946}; + private static final String[] K1152 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22158:22178:body/0/ruleRef/capture/0"}; + private static final String[] K1153 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22192:22218:body/1/ruleRef/capture/0"}; + private static final String[] K1154 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22232:22257:body/2/ruleRef/capture/0"}; + private static final String[] K1155 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22271:22287:body/3/ruleRef/capture/0"}; + private static final String[] K1156 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22301:22318:body/4/ruleRef/capture/0"}; + private static final String[] K1157 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22332:22348:body/5/ruleRef/capture/0"}; + private static final String[] K1158 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22362:22378:body/6/ruleRef/capture/0"}; + private static final String[] K1159 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22392:22408:body/7/ruleRef/capture/0"}; + private static final Call[] K1160 = new Call[]{TinyExpressionP4Parser::e948,TinyExpressionP4Parser::e949,TinyExpressionP4Parser::e950,TinyExpressionP4Parser::e951,TinyExpressionP4Parser::e952,TinyExpressionP4Parser::e953,TinyExpressionP4Parser::e954}; + private static final String[] K1161 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22587:22604:body/1/ruleRef/capture/0"}; + private static final String[] K1162 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22620:22636:body/3/ruleRef/capture/0"}; + private static final String[] K1163 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22651:22667:body/5/ruleRef/capture/0"}; + private static final Call[] K1164 = new Call[]{TinyExpressionP4Parser::e956,TinyExpressionP4Parser::e957,TinyExpressionP4Parser::e958,TinyExpressionP4Parser::e959,TinyExpressionP4Parser::e963,TinyExpressionP4Parser::e964,TinyExpressionP4Parser::e965}; + private static final Label[] K1165 = new Label[]{Label.of("'match'")}; + private static final Label K1166 = Label.of("'match'"); + private static final String[] K1167 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22889:22899:body/2/ruleRef/capture/0"}; + private static final String[] K1168 = new String[]{"firstCase"}; + private static final Call[] K1169 = new Call[]{TinyExpressionP4Parser::e961,TinyExpressionP4Parser::e962}; + private static final String[] K1170 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22917:22927:body/3/0/1/ruleRef/capture/0"}; + private static final String[] K1171 = new String[]{"moreCases"}; + private static final String[] K1172 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22951:22968:body/5/ruleRef/capture/0"}; + private static final String[] K1173 = new String[]{"defaultCase"}; + private static final Call[] K1174 = new Call[]{TinyExpressionP4Parser::e967,TinyExpressionP4Parser::e968,TinyExpressionP4Parser::e969}; + private static final String[] K1175 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23064:23081:body/0/ruleRef/capture/0"}; + private static final Label K1176 = Label.of("'->'"); + private static final String[] K1177 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23098:23113:body/2/ruleRef/capture/0"}; + private static final Call[] K1178 = new Call[]{TinyExpressionP4Parser::e971,TinyExpressionP4Parser::e972,TinyExpressionP4Parser::e973}; + private static final Label[] K1179 = new Label[]{Label.of("'default'")}; + private static final Label K1180 = Label.of("'default'"); + private static final String[] K1181 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23212:23227:body/2/ruleRef/capture/0"}; + private static final Call[] K1182 = new Call[]{TinyExpressionP4Parser::e975}; + private static final String[] K1183 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23307:23323:body/0/ruleRef/capture/0"}; + private static final Call[] K1184 = new Call[]{TinyExpressionP4Parser::e977,TinyExpressionP4Parser::e978,TinyExpressionP4Parser::e979,TinyExpressionP4Parser::e980,TinyExpressionP4Parser::e984,TinyExpressionP4Parser::e985,TinyExpressionP4Parser::e986}; + private static final String[] K1185 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23456:23466:body/2/ruleRef/capture/0"}; + private static final Call[] K1186 = new Call[]{TinyExpressionP4Parser::e982,TinyExpressionP4Parser::e983}; + private static final String[] K1187 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23484:23494:body/3/0/1/ruleRef/capture/0"}; + private static final String[] K1188 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23518:23535:body/5/ruleRef/capture/0"}; + private static final Call[] K1189 = new Call[]{TinyExpressionP4Parser::e988,TinyExpressionP4Parser::e989,TinyExpressionP4Parser::e990}; + private static final String[] K1190 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23631:23648:body/0/ruleRef/capture/0"}; + private static final String[] K1191 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23665:23680:body/2/ruleRef/capture/0"}; + private static final Call[] K1192 = new Call[]{TinyExpressionP4Parser::e992,TinyExpressionP4Parser::e993,TinyExpressionP4Parser::e994}; + private static final String[] K1193 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23779:23794:body/2/ruleRef/capture/0"}; + private static final Call[] K1194 = new Call[]{TinyExpressionP4Parser::e996}; + private static final String[] K1195 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23874:23890:body/0/ruleRef/capture/0"}; + private static final Call[] K1196 = new Call[]{TinyExpressionP4Parser::e998,TinyExpressionP4Parser::e999,TinyExpressionP4Parser::e1000,TinyExpressionP4Parser::e1001,TinyExpressionP4Parser::e1005,TinyExpressionP4Parser::e1006,TinyExpressionP4Parser::e1007}; + private static final String[] K1197 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24025:24036:body/2/ruleRef/capture/0"}; + private static final Call[] K1198 = new Call[]{TinyExpressionP4Parser::e1003,TinyExpressionP4Parser::e1004}; + private static final String[] K1199 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24054:24065:body/3/0/1/ruleRef/capture/0"}; + private static final String[] K1200 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24089:24107:body/5/ruleRef/capture/0"}; + private static final Call[] K1201 = new Call[]{TinyExpressionP4Parser::e1009,TinyExpressionP4Parser::e1010,TinyExpressionP4Parser::e1011}; + private static final String[] K1202 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24205:24222:body/0/ruleRef/capture/0"}; + private static final String[] K1203 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24239:24255:body/2/ruleRef/capture/0"}; + private static final Call[] K1204 = new Call[]{TinyExpressionP4Parser::e1013,TinyExpressionP4Parser::e1014,TinyExpressionP4Parser::e1015}; + private static final String[] K1205 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24356:24372:body/2/ruleRef/capture/0"}; + private static final Call[] K1206 = new Call[]{TinyExpressionP4Parser::e1017}; + private static final String[] K1207 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24454:24471:body/0/ruleRef/capture/0"}; + private static final Call[] K1208 = new Call[]{TinyExpressionP4Parser::e1019,TinyExpressionP4Parser::e1020,TinyExpressionP4Parser::e1021}; + private static final String[] K1209 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24688:24698:body/1/tokenRef/capture/0"}; + private static final Call[] K1210 = new Call[]{TinyExpressionP4Parser::e1023,TinyExpressionP4Parser::e1025}; + private static final String[] K1211 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24716:24727:body/2/0/1/ruleRef/capture/0"}; + private static final Call[] K1212 = new Call[]{TinyExpressionP4Parser::e1027,TinyExpressionP4Parser::e1028,TinyExpressionP4Parser::e1029,TinyExpressionP4Parser::e1030,TinyExpressionP4Parser::e1031,TinyExpressionP4Parser::e1032,TinyExpressionP4Parser::e1033,TinyExpressionP4Parser::e1034,TinyExpressionP4Parser::e1035,TinyExpressionP4Parser::e1036}; + private static final Guard[] K1213 = new Guard[]{null,null,null,null,K729,K731}; + private static final Call[] K1214 = new Call[]{TinyExpressionP4Parser::e1038,TinyExpressionP4Parser::e1039,TinyExpressionP4Parser::e1040,TinyExpressionP4Parser::e1041,TinyExpressionP4Parser::e1042,TinyExpressionP4Parser::e1043}; + private static final String[] K1215 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25187:25203:body/0/ruleRef/capture/0"}; + private static final String[] K1216 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25217:25234:body/1/ruleRef/capture/0"}; + private static final String[] K1217 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25248:25264:body/2/ruleRef/capture/0"}; + private static final String[] K1218 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25278:25294:body/3/ruleRef/capture/0"}; + private static final String[] K1219 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25308:25324:body/4/ruleRef/capture/0"}; + private static final Call[] K1220 = new Call[]{TinyExpressionP4Parser::e1044,TinyExpressionP4Parser::e1045,TinyExpressionP4Parser::e1046}; + private static final String[] K1221 = new String[]{"expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25342:25352:body/5/1/ruleRef/capture/0"}; } diff --git a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/api/ParseResult.java b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/api/ParseResult.java index c5ce0c08..044190a0 100644 --- a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/api/ParseResult.java +++ b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/api/ParseResult.java @@ -34,7 +34,7 @@ public Scope(List declarations, List refe } public record ScopeEvent(long order, String action, String mode, String name, int offsetCp, int lengthCp) {} public ParseResult { - nodeSpans = Collections.unmodifiableMap(new IdentityHashMap<>(nodeSpans)); + nodeSpans = Collections.unmodifiableMap(copySpans(nodeSpans)); captures = List.copyOf(captures); lexical = List.copyOf(lexical); catalogs = Map.copyOf(catalogs); recoveries = List.copyOf(recoveries); } @@ -48,6 +48,15 @@ public ParseResult(boolean ok, int consumedCp, int matchedCp, Optional ast, M Map> catalogs, List recoveries) { this(ok, consumedCp, matchedCp, ast, nodeSpans, captures, lexical, scope, diagnostics, catalogs, recoveries, null); } + /** + * D-079: 呼出し側の表を複製する。{@code IdentityHashMap} は配列の clone で複製でき、 + * 複製構築子(entry を 1 件ずつ取り出して入れ直す)より確保も走査も少ない。中身は同じ。 + */ + @SuppressWarnings("unchecked") + private static Map copySpans(Map spans) { + if (spans.getClass() == IdentityHashMap.class) return (Map) ((IdentityHashMap) spans).clone(); + return new IdentityHashMap<>(spans); + } public int consumed() { return consumedCp; } public int matched() { return matchedCp; } public ParseResult withAst(T node, Map spans) { diff --git a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/driver/Driver.java b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/driver/Driver.java index da730c9f..eec73aa1 100644 --- a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/driver/Driver.java +++ b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/driver/Driver.java @@ -19,15 +19,17 @@ public final class Driver { private Driver() {} private static final Set> OPERATOR_TYPES = Set.of(TinyExpressionP4AST.BinaryExpr.class); - private static final Map BINDINGS = Map.ofEntries(Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1023:1032:body/0/0/ruleRef/capture/0","Formula:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1049:1066:body/1/0/ruleRef/capture/0","Formula:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1080:1099:body/2/0/ruleRef/capture/0","Formula:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1135:1145:body/4/ruleRef/capture/0","Formula:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1160:1177:body/5/0/ruleRef/capture/0","Formula:4"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1625:1676:body/0/group/capture/0","CodeBlock:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2141:2150:body/1/ruleRef/capture/0","ImportDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2168:2178:body/2/0/1/tokenRef/capture/0","ImportDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2194:2204:body/4/tokenRef/capture/0","ImportDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2286:2296:body/0/tokenRef/capture/0","ClassName:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2309:2319:body/1/0/1/tokenRef/capture/0","ClassName:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2804:2814:body/2/tokenRef/capture/0","NumberVariableDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2861:2873:body/4/0/1/0/ruleRef/capture/0","NumberVariableDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2890:2906:body/4/0/2/ruleRef/capture/0","NumberVariableDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2922:2933:body/5/0/ruleRef/capture/0","NumberVariableDeclaration:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3153:3163:body/2/tokenRef/capture/0","StringVariableDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3210:3222:body/4/0/1/0/ruleRef/capture/0","StringVariableDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3239:3255:body/4/0/2/ruleRef/capture/0","StringVariableDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3271:3282:body/5/0/ruleRef/capture/0","StringVariableDeclaration:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3504:3514:body/2/tokenRef/capture/0","BooleanVariableDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3562:3574:body/4/0/1/0/ruleRef/capture/0","BooleanVariableDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3591:3608:body/4/0/2/ruleRef/capture/0","BooleanVariableDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3624:3635:body/5/0/ruleRef/capture/0","BooleanVariableDeclaration:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3855:3865:body/2/tokenRef/capture/0","ObjectVariableDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3912:3924:body/4/0/1/0/ruleRef/capture/0","ObjectVariableDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3941:3957:body/4/0/2/ruleRef/capture/0","ObjectVariableDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3973:3984:body/5/0/ruleRef/capture/0","ObjectVariableDeclaration:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5033:5043:body/1/tokenRef/capture/0","NumberMethodDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5072:5088:body/3/0/ruleRef/capture/0","NumberMethodDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5125:5141:body/6/ruleRef/capture/0","NumberMethodDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5359:5369:body/1/tokenRef/capture/0","StringMethodDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5398:5414:body/3/0/ruleRef/capture/0","StringMethodDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5451:5467:body/6/ruleRef/capture/0","StringMethodDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5688:5698:body/1/tokenRef/capture/0","BooleanMethodDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5727:5743:body/3/0/ruleRef/capture/0","BooleanMethodDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5780:5797:body/6/ruleRef/capture/0","BooleanMethodDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6015:6025:body/1/tokenRef/capture/0","ObjectMethodDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6054:6070:body/3/0/ruleRef/capture/0","ObjectMethodDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6107:6123:body/6/ruleRef/capture/0","ObjectMethodDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6220:6235:body/0/ruleRef/capture/0","MethodParameters:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6250:6265:body/1/0/1/ruleRef/capture/0","MethodParameters:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6393:6403:body/1/tokenRef/capture/0","MethodParameter:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6422:6432:body/2/0/1/ruleRef/capture/0","MethodParameter:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7081:7090:body/4/0/0/0/ruleRef/capture/0","ExternalBooleanInvocation:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7106:7116:body/4/0/0/2/tokenRef/capture/0","ExternalBooleanInvocation:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7125:7135:body/4/0/1/tokenRef/capture/0","ExternalBooleanInvocation:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7154:7163:body/6/0/ruleRef/capture/0","ExternalBooleanInvocation:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7372:7381:body/2/0/0/0/ruleRef/capture/0","ExternalNumberInvocation:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7397:7407:body/2/0/0/2/tokenRef/capture/0","ExternalNumberInvocation:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7416:7426:body/2/0/1/tokenRef/capture/0","ExternalNumberInvocation:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7445:7454:body/4/0/ruleRef/capture/0","ExternalNumberInvocation:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7649:7658:body/4/0/0/0/ruleRef/capture/0","ExternalStringInvocation:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7674:7684:body/4/0/0/2/tokenRef/capture/0","ExternalStringInvocation:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7693:7703:body/4/0/1/tokenRef/capture/0","ExternalStringInvocation:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7722:7731:body/6/0/ruleRef/capture/0","ExternalStringInvocation:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7926:7935:body/4/0/0/0/ruleRef/capture/0","ExternalObjectInvocation:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7951:7961:body/4/0/0/2/tokenRef/capture/0","ExternalObjectInvocation:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7970:7980:body/4/0/1/tokenRef/capture/0","ExternalObjectInvocation:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7999:8008:body/6/0/ruleRef/capture/0","ExternalObjectInvocation:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8385:8395:body/1/tokenRef/capture/0","MethodInvocation:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8408:8417:body/3/0/ruleRef/capture/0","MethodInvocation:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8596:8613:body/0/ruleRef/capture/0","ArgumentTernary:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8629:8645:body/2/ruleRef/capture/0","ArgumentTernary:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8660:8676:body/4/ruleRef/capture/0","ArgumentTernary:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8772:8787:body/0/ruleRef/capture/0","ArgumentExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8801:8821:body/1/ruleRef/capture/0","ArgumentExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8835:8861:body/2/ruleRef/capture/0","ArgumentExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8875:8885:body/3/ruleRef/capture/0","ArgumentExpression:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8955:8973:body/0/ruleRef/capture/0","Arguments:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8988:9006:body/1/0/1/ruleRef/capture/0","Arguments:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9211:9221:body/0/ruleRef/capture/0","NumberExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9230:9235:body/1/0/0/ruleRef/capture/0","NumberExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9240:9250:body/1/0/1/ruleRef/capture/0","NumberExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9366:9378:body/0/ruleRef/capture/0","NumberTerm:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9387:9392:body/1/0/0/ruleRef/capture/0","NumberTerm:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9397:9409:body/1/0/1/ruleRef/capture/0","NumberTerm:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9895:9913:body/2/ruleRef/capture/0","SinFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9988:10006:body/2/ruleRef/capture/0","CosFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10081:10099:body/2/ruleRef/capture/0","TanFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10177:10195:body/2/ruleRef/capture/0","SqrtFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10278:10296:body/2/ruleRef/capture/0","MinFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10310:10328:body/3/0/1/ruleRef/capture/0","MinFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10414:10432:body/2/ruleRef/capture/0","MaxFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10446:10464:body/3/0/1/ruleRef/capture/0","MaxFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10606:10624:body/2/ruleRef/capture/0","AbsFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10705:10723:body/2/ruleRef/capture/0","RoundFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10801:10819:body/2/ruleRef/capture/0","CeilFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10900:10918:body/2/ruleRef/capture/0","FloorFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11004:11022:body/2/ruleRef/capture/0","PowFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11033:11051:body/4/ruleRef/capture/0","PowFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11131:11149:body/2/ruleRef/capture/0","LogFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11224:11242:body/2/ruleRef/capture/0","ExpFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11417:11433:body/2/ruleRef/capture/0","ToNumFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11445:11463:body/4/ruleRef/capture/0","ToNumFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11961:11977:body/2/ruleRef/capture/0","ToUpperCaseFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12080:12096:body/2/ruleRef/capture/0","ToLowerCaseFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12178:12194:body/2/ruleRef/capture/0","TrimFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12282:12298:body/2/ruleRef/capture/0","LengthFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12380:12396:body/2/ruleRef/capture/0","LenFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12732:12743:body/0/ruleRef/capture/0","ToUpperCaseDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12851:12862:body/0/ruleRef/capture/0","ToLowerCaseDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12956:12967:body/0/ruleRef/capture/0","TrimDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13058:13069:body/0/ruleRef/capture/0","LengthDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13331:13347:body/2/ruleRef/capture/0","StartsWithFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13359:13375:body/4/ruleRef/capture/0","StartsWithFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13396:13412:body/5/0/1/ruleRef/capture/0","StartsWithFunction:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13521:13537:body/2/ruleRef/capture/0","EndsWithFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13549:13565:body/4/ruleRef/capture/0","EndsWithFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13586:13602:body/5/0/1/ruleRef/capture/0","EndsWithFunction:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13711:13727:body/2/ruleRef/capture/0","ContainsFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13739:13755:body/4/ruleRef/capture/0","ContainsFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13776:13792:body/5/0/1/ruleRef/capture/0","ContainsFunction:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13874:13890:body/0/ruleRef/capture/0","InMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13908:13924:body/3/ruleRef/capture/0","InMethod:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13943:13959:body/4/0/1/ruleRef/capture/0","InMethod:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14142:14165:body/0/ruleRef/capture/0","StartsWithDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14191:14207:body/3/ruleRef/capture/0","StartsWithDotMethod:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14228:14244:body/4/0/1/ruleRef/capture/0","StartsWithDotMethod:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14342:14365:body/0/ruleRef/capture/0","EndsWithDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14389:14405:body/3/ruleRef/capture/0","EndsWithDotMethod:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14426:14442:body/4/0/1/ruleRef/capture/0","EndsWithDotMethod:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14540:14563:body/0/ruleRef/capture/0","ContainsDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14587:14603:body/3/ruleRef/capture/0","ContainsDotMethod:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14624:14640:body/4/0/1/ruleRef/capture/0","ContainsDotMethod:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14925:14936:body/2/ruleRef/capture/0","IsPresentFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15129:15145:body/2/ruleRef/capture/0","InTimeRangeFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15161:15177:body/4/ruleRef/capture/0","InTimeRangeFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15322:15331:body/2/ruleRef/capture/0","InDayTimeRangeFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15346:15362:body/4/ruleRef/capture/0","InDayTimeRangeFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15378:15387:body/6/ruleRef/capture/0","InDayTimeRangeFunction:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15400:15416:body/8/ruleRef/capture/0","InDayTimeRangeFunction:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16674:16691:body/0/0/ruleRef/capture/0","SliceBaseExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16703:16718:body/0/2/ruleRef/capture/0","SliceBaseExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16730:16743:body/0/4/ruleRef/capture/0","SliceBaseExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16753:16767:body/0/6/ruleRef/capture/0","SliceBaseExpression:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16784:16801:body/1/0/ruleRef/capture/0","SliceBaseExpression:4"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16813:16828:body/1/2/ruleRef/capture/0","SliceBaseExpression:5"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16840:16853:body/1/4/ruleRef/capture/0","SliceBaseExpression:6"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16869:16886:body/2/0/ruleRef/capture/0","SliceBaseExpression:7"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16898:16913:body/2/2/ruleRef/capture/0","SliceBaseExpression:8"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16929:16943:body/2/5/ruleRef/capture/0","SliceBaseExpression:9"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16960:16977:body/3/0/ruleRef/capture/0","SliceBaseExpression:10"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16989:17004:body/3/2/ruleRef/capture/0","SliceBaseExpression:11"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17026:17043:body/4/0/ruleRef/capture/0","SliceBaseExpression:12"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17059:17072:body/4/3/ruleRef/capture/0","SliceBaseExpression:13"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17082:17096:body/4/5/ruleRef/capture/0","SliceBaseExpression:14"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17113:17130:body/5/0/ruleRef/capture/0","SliceBaseExpression:15"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17146:17159:body/5/3/ruleRef/capture/0","SliceBaseExpression:16"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17175:17192:body/6/0/ruleRef/capture/0","SliceBaseExpression:17"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17212:17226:body/6/4/ruleRef/capture/0","SliceBaseExpression:18"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17243:17260:body/7/0/ruleRef/capture/0","SliceBaseExpression:19"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17373:17392:body/0/0/ruleRef/capture/0","SliceNestedExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17404:17419:body/0/2/ruleRef/capture/0","SliceNestedExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17431:17444:body/0/4/ruleRef/capture/0","SliceNestedExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17454:17468:body/0/6/ruleRef/capture/0","SliceNestedExpression:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17485:17504:body/1/0/ruleRef/capture/0","SliceNestedExpression:4"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17516:17531:body/1/2/ruleRef/capture/0","SliceNestedExpression:5"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17543:17556:body/1/4/ruleRef/capture/0","SliceNestedExpression:6"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17572:17591:body/2/0/ruleRef/capture/0","SliceNestedExpression:7"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17603:17618:body/2/2/ruleRef/capture/0","SliceNestedExpression:8"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17634:17648:body/2/5/ruleRef/capture/0","SliceNestedExpression:9"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17665:17684:body/3/0/ruleRef/capture/0","SliceNestedExpression:10"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17696:17711:body/3/2/ruleRef/capture/0","SliceNestedExpression:11"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17733:17752:body/4/0/ruleRef/capture/0","SliceNestedExpression:12"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17768:17781:body/4/3/ruleRef/capture/0","SliceNestedExpression:13"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17791:17805:body/4/5/ruleRef/capture/0","SliceNestedExpression:14"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17822:17841:body/5/0/ruleRef/capture/0","SliceNestedExpression:15"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17857:17870:body/5/3/ruleRef/capture/0","SliceNestedExpression:16"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17886:17905:body/6/0/ruleRef/capture/0","SliceNestedExpression:17"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17925:17939:body/6/4/ruleRef/capture/0","SliceNestedExpression:18"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17956:17975:body/7/0/ruleRef/capture/0","SliceNestedExpression:19"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18264:18274:body/0/ruleRef/capture/0","StringExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18283:18286:body/1/0/0/literal/capture/0","StringExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18291:18301:body/1/0/1/ruleRef/capture/0","StringExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19062:19072:body/4/tokenRef/capture/0","StringCastVariable:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19166:19176:body/1/tokenRef/capture/0","StringTypedVariable:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19442:19462:body/0/ruleRef/capture/0","BooleanExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19471:19474:body/1/0/0/literal/capture/0","BooleanExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19479:19499:body/1/0/1/ruleRef/capture/0","BooleanExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19645:19665:body/0/ruleRef/capture/0","BooleanAndExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19674:19677:body/1/0/0/literal/capture/0","BooleanAndExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19682:19702:body/1/0/1/ruleRef/capture/0","BooleanAndExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19848:19861:body/0/ruleRef/capture/0","BooleanXorExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19870:19873:body/1/0/0/literal/capture/0","BooleanXorExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19878:19891:body/1/0/1/ruleRef/capture/0","BooleanXorExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20048:20065:body/2/ruleRef/capture/0","NotExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20636:20653:body/0/ruleRef/capture/0","BooleanEqualityExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20660:20670:body/1/ruleRef/capture/0","BooleanEqualityExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20675:20692:body/2/ruleRef/capture/0","BooleanEqualityExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20775:20800:body/0/ruleRef/capture/0","BooleanFactor:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20814:20834:body/1/ruleRef/capture/0","BooleanFactor:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20848:20874:body/2/ruleRef/capture/0","BooleanFactor:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20888:20905:body/3/ruleRef/capture/0","BooleanFactor:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21169:21185:body/0/ruleRef/capture/0","StringComparisonExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21192:21202:body/1/ruleRef/capture/0","StringComparisonExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21207:21223:body/2/ruleRef/capture/0","StringComparisonExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21345:21361:body/0/ruleRef/capture/0","ComparisonExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21368:21377:body/1/ruleRef/capture/0","ComparisonExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21382:21398:body/2/ruleRef/capture/0","ComparisonExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21615:21631:body/0/ruleRef/capture/0","ObjectExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21645:21661:body/1/ruleRef/capture/0","ObjectExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21675:21692:body/2/ruleRef/capture/0","ObjectExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21706:21730:body/3/ruleRef/capture/0","ObjectExpression:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21744:21755:body/4/ruleRef/capture/0","ObjectExpression:4"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21769:21785:body/5/ruleRef/capture/0","ObjectExpression:5"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21969:21986:body/2/ruleRef/capture/0","IfExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22010:22026:body/5/ruleRef/capture/0","IfExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22060:22076:body/9/ruleRef/capture/0","IfExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22172:22192:body/0/ruleRef/capture/0","BranchExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22206:22232:body/1/ruleRef/capture/0","BranchExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22246:22271:body/2/ruleRef/capture/0","BranchExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22285:22301:body/3/ruleRef/capture/0","BranchExpression:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22315:22332:body/4/ruleRef/capture/0","BranchExpression:4"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22346:22362:body/5/ruleRef/capture/0","BranchExpression:5"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22376:22392:body/6/ruleRef/capture/0","BranchExpression:6"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22406:22422:body/7/ruleRef/capture/0","BranchExpression:7"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22601:22618:body/1/ruleRef/capture/0","TernaryExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22634:22650:body/3/ruleRef/capture/0","TernaryExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22665:22681:body/5/ruleRef/capture/0","TernaryExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22903:22913:body/2/ruleRef/capture/0","NumberMatchExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22931:22941:body/3/0/1/ruleRef/capture/0","NumberMatchExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22965:22982:body/5/ruleRef/capture/0","NumberMatchExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23078:23095:body/0/ruleRef/capture/0","NumberCase:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23112:23127:body/2/ruleRef/capture/0","NumberCase:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23226:23241:body/2/ruleRef/capture/0","NumberDefaultCase:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23321:23337:body/0/ruleRef/capture/0","NumberCaseValue:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23470:23480:body/2/ruleRef/capture/0","StringMatchExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23498:23508:body/3/0/1/ruleRef/capture/0","StringMatchExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23532:23549:body/5/ruleRef/capture/0","StringMatchExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23645:23662:body/0/ruleRef/capture/0","StringCase:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23679:23694:body/2/ruleRef/capture/0","StringCase:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23793:23808:body/2/ruleRef/capture/0","StringDefaultCase:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23888:23904:body/0/ruleRef/capture/0","StringCaseValue:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24039:24050:body/2/ruleRef/capture/0","BooleanMatchExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24068:24079:body/3/0/1/ruleRef/capture/0","BooleanMatchExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24103:24121:body/5/ruleRef/capture/0","BooleanMatchExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24219:24236:body/0/ruleRef/capture/0","BooleanCase:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24253:24269:body/2/ruleRef/capture/0","BooleanCase:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24370:24386:body/2/ruleRef/capture/0","BooleanDefaultCase:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24468:24485:body/0/ruleRef/capture/0","BooleanCaseValue:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24702:24712:body/1/tokenRef/capture/0","VariableRef:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24730:24741:body/2/0/1/ruleRef/capture/0","VariableRef:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25201:25217:body/0/ruleRef/capture/0","Expression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25231:25248:body/1/ruleRef/capture/0","Expression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25262:25278:body/2/ruleRef/capture/0","Expression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25292:25308:body/3/ruleRef/capture/0","Expression:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25322:25338:body/4/ruleRef/capture/0","Expression:4"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25356:25366:body/5/1/ruleRef/capture/0","Expression:5")); + private static final Map BINDINGS = Map.ofEntries(Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1009:1018:body/0/0/ruleRef/capture/0","Formula:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1035:1052:body/1/0/ruleRef/capture/0","Formula:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1066:1085:body/2/0/ruleRef/capture/0","Formula:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1121:1131:body/4/ruleRef/capture/0","Formula:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1146:1163:body/5/0/ruleRef/capture/0","Formula:4"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:1611:1662:body/0/group/capture/0","CodeBlock:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2127:2136:body/1/ruleRef/capture/0","ImportDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2154:2164:body/2/0/1/tokenRef/capture/0","ImportDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2180:2190:body/4/tokenRef/capture/0","ImportDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2272:2282:body/0/tokenRef/capture/0","ClassName:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2295:2305:body/1/0/1/tokenRef/capture/0","ClassName:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2790:2800:body/2/tokenRef/capture/0","NumberVariableDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2847:2859:body/4/0/1/0/ruleRef/capture/0","NumberVariableDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2876:2892:body/4/0/2/ruleRef/capture/0","NumberVariableDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:2908:2919:body/5/0/ruleRef/capture/0","NumberVariableDeclaration:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3139:3149:body/2/tokenRef/capture/0","StringVariableDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3196:3208:body/4/0/1/0/ruleRef/capture/0","StringVariableDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3225:3241:body/4/0/2/ruleRef/capture/0","StringVariableDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3257:3268:body/5/0/ruleRef/capture/0","StringVariableDeclaration:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3490:3500:body/2/tokenRef/capture/0","BooleanVariableDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3548:3560:body/4/0/1/0/ruleRef/capture/0","BooleanVariableDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3577:3594:body/4/0/2/ruleRef/capture/0","BooleanVariableDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3610:3621:body/5/0/ruleRef/capture/0","BooleanVariableDeclaration:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3841:3851:body/2/tokenRef/capture/0","ObjectVariableDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3898:3910:body/4/0/1/0/ruleRef/capture/0","ObjectVariableDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3927:3943:body/4/0/2/ruleRef/capture/0","ObjectVariableDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:3959:3970:body/5/0/ruleRef/capture/0","ObjectVariableDeclaration:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5019:5029:body/1/tokenRef/capture/0","NumberMethodDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5058:5074:body/3/0/ruleRef/capture/0","NumberMethodDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5111:5127:body/6/ruleRef/capture/0","NumberMethodDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5345:5355:body/1/tokenRef/capture/0","StringMethodDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5384:5400:body/3/0/ruleRef/capture/0","StringMethodDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5437:5453:body/6/ruleRef/capture/0","StringMethodDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5674:5684:body/1/tokenRef/capture/0","BooleanMethodDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5713:5729:body/3/0/ruleRef/capture/0","BooleanMethodDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:5766:5783:body/6/ruleRef/capture/0","BooleanMethodDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6001:6011:body/1/tokenRef/capture/0","ObjectMethodDeclaration:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6040:6056:body/3/0/ruleRef/capture/0","ObjectMethodDeclaration:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6093:6109:body/6/ruleRef/capture/0","ObjectMethodDeclaration:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6206:6221:body/0/ruleRef/capture/0","MethodParameters:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6236:6251:body/1/0/1/ruleRef/capture/0","MethodParameters:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6379:6389:body/1/tokenRef/capture/0","MethodParameter:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:6408:6418:body/2/0/1/ruleRef/capture/0","MethodParameter:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7067:7076:body/4/0/0/0/ruleRef/capture/0","ExternalBooleanInvocation:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7092:7102:body/4/0/0/2/tokenRef/capture/0","ExternalBooleanInvocation:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7111:7121:body/4/0/1/tokenRef/capture/0","ExternalBooleanInvocation:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7140:7149:body/6/0/ruleRef/capture/0","ExternalBooleanInvocation:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7358:7367:body/2/0/0/0/ruleRef/capture/0","ExternalNumberInvocation:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7383:7393:body/2/0/0/2/tokenRef/capture/0","ExternalNumberInvocation:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7402:7412:body/2/0/1/tokenRef/capture/0","ExternalNumberInvocation:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7431:7440:body/4/0/ruleRef/capture/0","ExternalNumberInvocation:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7635:7644:body/4/0/0/0/ruleRef/capture/0","ExternalStringInvocation:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7660:7670:body/4/0/0/2/tokenRef/capture/0","ExternalStringInvocation:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7679:7689:body/4/0/1/tokenRef/capture/0","ExternalStringInvocation:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7708:7717:body/6/0/ruleRef/capture/0","ExternalStringInvocation:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7912:7921:body/4/0/0/0/ruleRef/capture/0","ExternalObjectInvocation:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7937:7947:body/4/0/0/2/tokenRef/capture/0","ExternalObjectInvocation:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7956:7966:body/4/0/1/tokenRef/capture/0","ExternalObjectInvocation:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:7985:7994:body/6/0/ruleRef/capture/0","ExternalObjectInvocation:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8371:8381:body/1/tokenRef/capture/0","MethodInvocation:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8394:8403:body/3/0/ruleRef/capture/0","MethodInvocation:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8582:8599:body/0/ruleRef/capture/0","ArgumentTernary:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8615:8631:body/2/ruleRef/capture/0","ArgumentTernary:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8646:8662:body/4/ruleRef/capture/0","ArgumentTernary:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8758:8773:body/0/ruleRef/capture/0","ArgumentExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8787:8807:body/1/ruleRef/capture/0","ArgumentExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8821:8847:body/2/ruleRef/capture/0","ArgumentExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8861:8871:body/3/ruleRef/capture/0","ArgumentExpression:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8941:8959:body/0/ruleRef/capture/0","Arguments:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:8974:8992:body/1/0/1/ruleRef/capture/0","Arguments:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9197:9207:body/0/ruleRef/capture/0","NumberExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9216:9221:body/1/0/0/ruleRef/capture/0","NumberExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9226:9236:body/1/0/1/ruleRef/capture/0","NumberExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9352:9364:body/0/ruleRef/capture/0","NumberTerm:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9373:9378:body/1/0/0/ruleRef/capture/0","NumberTerm:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9383:9395:body/1/0/1/ruleRef/capture/0","NumberTerm:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9881:9899:body/2/ruleRef/capture/0","SinFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:9974:9992:body/2/ruleRef/capture/0","CosFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10067:10085:body/2/ruleRef/capture/0","TanFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10163:10181:body/2/ruleRef/capture/0","SqrtFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10264:10282:body/2/ruleRef/capture/0","MinFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10296:10314:body/3/0/1/ruleRef/capture/0","MinFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10400:10418:body/2/ruleRef/capture/0","MaxFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10432:10450:body/3/0/1/ruleRef/capture/0","MaxFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10592:10610:body/2/ruleRef/capture/0","AbsFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10691:10709:body/2/ruleRef/capture/0","RoundFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10787:10805:body/2/ruleRef/capture/0","CeilFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10886:10904:body/2/ruleRef/capture/0","FloorFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:10990:11008:body/2/ruleRef/capture/0","PowFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11019:11037:body/4/ruleRef/capture/0","PowFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11117:11135:body/2/ruleRef/capture/0","LogFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11210:11228:body/2/ruleRef/capture/0","ExpFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11403:11419:body/2/ruleRef/capture/0","ToNumFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11431:11449:body/4/ruleRef/capture/0","ToNumFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:11947:11963:body/2/ruleRef/capture/0","ToUpperCaseFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12066:12082:body/2/ruleRef/capture/0","ToLowerCaseFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12164:12180:body/2/ruleRef/capture/0","TrimFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12268:12284:body/2/ruleRef/capture/0","LengthFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12366:12382:body/2/ruleRef/capture/0","LenFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12718:12729:body/0/ruleRef/capture/0","ToUpperCaseDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12837:12848:body/0/ruleRef/capture/0","ToLowerCaseDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:12942:12953:body/0/ruleRef/capture/0","TrimDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13044:13055:body/0/ruleRef/capture/0","LengthDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13317:13333:body/2/ruleRef/capture/0","StartsWithFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13345:13361:body/4/ruleRef/capture/0","StartsWithFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13382:13398:body/5/0/1/ruleRef/capture/0","StartsWithFunction:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13507:13523:body/2/ruleRef/capture/0","EndsWithFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13535:13551:body/4/ruleRef/capture/0","EndsWithFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13572:13588:body/5/0/1/ruleRef/capture/0","EndsWithFunction:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13697:13713:body/2/ruleRef/capture/0","ContainsFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13725:13741:body/4/ruleRef/capture/0","ContainsFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13762:13778:body/5/0/1/ruleRef/capture/0","ContainsFunction:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13860:13876:body/0/ruleRef/capture/0","InMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13894:13910:body/3/ruleRef/capture/0","InMethod:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:13929:13945:body/4/0/1/ruleRef/capture/0","InMethod:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14128:14151:body/0/ruleRef/capture/0","StartsWithDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14177:14193:body/3/ruleRef/capture/0","StartsWithDotMethod:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14214:14230:body/4/0/1/ruleRef/capture/0","StartsWithDotMethod:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14328:14351:body/0/ruleRef/capture/0","EndsWithDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14375:14391:body/3/ruleRef/capture/0","EndsWithDotMethod:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14412:14428:body/4/0/1/ruleRef/capture/0","EndsWithDotMethod:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14526:14549:body/0/ruleRef/capture/0","ContainsDotMethod:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14573:14589:body/3/ruleRef/capture/0","ContainsDotMethod:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14610:14626:body/4/0/1/ruleRef/capture/0","ContainsDotMethod:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:14911:14922:body/2/ruleRef/capture/0","IsPresentFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15115:15131:body/2/ruleRef/capture/0","InTimeRangeFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15147:15163:body/4/ruleRef/capture/0","InTimeRangeFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15308:15317:body/2/ruleRef/capture/0","InDayTimeRangeFunction:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15332:15348:body/4/ruleRef/capture/0","InDayTimeRangeFunction:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15364:15373:body/6/ruleRef/capture/0","InDayTimeRangeFunction:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:15386:15402:body/8/ruleRef/capture/0","InDayTimeRangeFunction:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16660:16677:body/0/0/ruleRef/capture/0","SliceBaseExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16689:16704:body/0/2/ruleRef/capture/0","SliceBaseExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16716:16729:body/0/4/ruleRef/capture/0","SliceBaseExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16739:16753:body/0/6/ruleRef/capture/0","SliceBaseExpression:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16770:16787:body/1/0/ruleRef/capture/0","SliceBaseExpression:4"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16799:16814:body/1/2/ruleRef/capture/0","SliceBaseExpression:5"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16826:16839:body/1/4/ruleRef/capture/0","SliceBaseExpression:6"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16855:16872:body/2/0/ruleRef/capture/0","SliceBaseExpression:7"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16884:16899:body/2/2/ruleRef/capture/0","SliceBaseExpression:8"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16915:16929:body/2/5/ruleRef/capture/0","SliceBaseExpression:9"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16946:16963:body/3/0/ruleRef/capture/0","SliceBaseExpression:10"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:16975:16990:body/3/2/ruleRef/capture/0","SliceBaseExpression:11"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17012:17029:body/4/0/ruleRef/capture/0","SliceBaseExpression:12"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17045:17058:body/4/3/ruleRef/capture/0","SliceBaseExpression:13"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17068:17082:body/4/5/ruleRef/capture/0","SliceBaseExpression:14"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17099:17116:body/5/0/ruleRef/capture/0","SliceBaseExpression:15"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17132:17145:body/5/3/ruleRef/capture/0","SliceBaseExpression:16"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17161:17178:body/6/0/ruleRef/capture/0","SliceBaseExpression:17"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17198:17212:body/6/4/ruleRef/capture/0","SliceBaseExpression:18"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17229:17246:body/7/0/ruleRef/capture/0","SliceBaseExpression:19"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17359:17378:body/0/0/ruleRef/capture/0","SliceNestedExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17390:17405:body/0/2/ruleRef/capture/0","SliceNestedExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17417:17430:body/0/4/ruleRef/capture/0","SliceNestedExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17440:17454:body/0/6/ruleRef/capture/0","SliceNestedExpression:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17471:17490:body/1/0/ruleRef/capture/0","SliceNestedExpression:4"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17502:17517:body/1/2/ruleRef/capture/0","SliceNestedExpression:5"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17529:17542:body/1/4/ruleRef/capture/0","SliceNestedExpression:6"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17558:17577:body/2/0/ruleRef/capture/0","SliceNestedExpression:7"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17589:17604:body/2/2/ruleRef/capture/0","SliceNestedExpression:8"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17620:17634:body/2/5/ruleRef/capture/0","SliceNestedExpression:9"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17651:17670:body/3/0/ruleRef/capture/0","SliceNestedExpression:10"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17682:17697:body/3/2/ruleRef/capture/0","SliceNestedExpression:11"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17719:17738:body/4/0/ruleRef/capture/0","SliceNestedExpression:12"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17754:17767:body/4/3/ruleRef/capture/0","SliceNestedExpression:13"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17777:17791:body/4/5/ruleRef/capture/0","SliceNestedExpression:14"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17808:17827:body/5/0/ruleRef/capture/0","SliceNestedExpression:15"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17843:17856:body/5/3/ruleRef/capture/0","SliceNestedExpression:16"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17872:17891:body/6/0/ruleRef/capture/0","SliceNestedExpression:17"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17911:17925:body/6/4/ruleRef/capture/0","SliceNestedExpression:18"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:17942:17961:body/7/0/ruleRef/capture/0","SliceNestedExpression:19"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18250:18260:body/0/ruleRef/capture/0","StringExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18269:18272:body/1/0/0/literal/capture/0","StringExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:18277:18287:body/1/0/1/ruleRef/capture/0","StringExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19048:19058:body/4/tokenRef/capture/0","StringCastVariable:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19152:19162:body/1/tokenRef/capture/0","StringTypedVariable:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19428:19448:body/0/ruleRef/capture/0","BooleanExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19457:19460:body/1/0/0/literal/capture/0","BooleanExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19465:19485:body/1/0/1/ruleRef/capture/0","BooleanExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19631:19651:body/0/ruleRef/capture/0","BooleanAndExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19660:19663:body/1/0/0/literal/capture/0","BooleanAndExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19668:19688:body/1/0/1/ruleRef/capture/0","BooleanAndExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19834:19847:body/0/ruleRef/capture/0","BooleanXorExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19856:19859:body/1/0/0/literal/capture/0","BooleanXorExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:19864:19877:body/1/0/1/ruleRef/capture/0","BooleanXorExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20034:20051:body/2/ruleRef/capture/0","NotExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20622:20639:body/0/ruleRef/capture/0","BooleanEqualityExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20646:20656:body/1/ruleRef/capture/0","BooleanEqualityExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20661:20678:body/2/ruleRef/capture/0","BooleanEqualityExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20761:20786:body/0/ruleRef/capture/0","BooleanFactor:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20800:20820:body/1/ruleRef/capture/0","BooleanFactor:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20834:20860:body/2/ruleRef/capture/0","BooleanFactor:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:20874:20891:body/3/ruleRef/capture/0","BooleanFactor:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21155:21171:body/0/ruleRef/capture/0","StringComparisonExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21178:21188:body/1/ruleRef/capture/0","StringComparisonExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21193:21209:body/2/ruleRef/capture/0","StringComparisonExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21331:21347:body/0/ruleRef/capture/0","ComparisonExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21354:21363:body/1/ruleRef/capture/0","ComparisonExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21368:21384:body/2/ruleRef/capture/0","ComparisonExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21601:21617:body/0/ruleRef/capture/0","ObjectExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21631:21647:body/1/ruleRef/capture/0","ObjectExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21661:21678:body/2/ruleRef/capture/0","ObjectExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21692:21716:body/3/ruleRef/capture/0","ObjectExpression:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21730:21741:body/4/ruleRef/capture/0","ObjectExpression:4"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21755:21771:body/5/ruleRef/capture/0","ObjectExpression:5"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21955:21972:body/2/ruleRef/capture/0","IfExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:21996:22012:body/5/ruleRef/capture/0","IfExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22046:22062:body/9/ruleRef/capture/0","IfExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22158:22178:body/0/ruleRef/capture/0","BranchExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22192:22218:body/1/ruleRef/capture/0","BranchExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22232:22257:body/2/ruleRef/capture/0","BranchExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22271:22287:body/3/ruleRef/capture/0","BranchExpression:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22301:22318:body/4/ruleRef/capture/0","BranchExpression:4"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22332:22348:body/5/ruleRef/capture/0","BranchExpression:5"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22362:22378:body/6/ruleRef/capture/0","BranchExpression:6"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22392:22408:body/7/ruleRef/capture/0","BranchExpression:7"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22587:22604:body/1/ruleRef/capture/0","TernaryExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22620:22636:body/3/ruleRef/capture/0","TernaryExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22651:22667:body/5/ruleRef/capture/0","TernaryExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22889:22899:body/2/ruleRef/capture/0","NumberMatchExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22917:22927:body/3/0/1/ruleRef/capture/0","NumberMatchExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:22951:22968:body/5/ruleRef/capture/0","NumberMatchExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23064:23081:body/0/ruleRef/capture/0","NumberCase:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23098:23113:body/2/ruleRef/capture/0","NumberCase:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23212:23227:body/2/ruleRef/capture/0","NumberDefaultCase:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23307:23323:body/0/ruleRef/capture/0","NumberCaseValue:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23456:23466:body/2/ruleRef/capture/0","StringMatchExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23484:23494:body/3/0/1/ruleRef/capture/0","StringMatchExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23518:23535:body/5/ruleRef/capture/0","StringMatchExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23631:23648:body/0/ruleRef/capture/0","StringCase:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23665:23680:body/2/ruleRef/capture/0","StringCase:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23779:23794:body/2/ruleRef/capture/0","StringDefaultCase:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:23874:23890:body/0/ruleRef/capture/0","StringCaseValue:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24025:24036:body/2/ruleRef/capture/0","BooleanMatchExpression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24054:24065:body/3/0/1/ruleRef/capture/0","BooleanMatchExpression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24089:24107:body/5/ruleRef/capture/0","BooleanMatchExpression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24205:24222:body/0/ruleRef/capture/0","BooleanCase:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24239:24255:body/2/ruleRef/capture/0","BooleanCase:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24356:24372:body/2/ruleRef/capture/0","BooleanDefaultCase:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24454:24471:body/0/ruleRef/capture/0","BooleanCaseValue:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24688:24698:body/1/tokenRef/capture/0","VariableRef:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:24716:24727:body/2/0/1/ruleRef/capture/0","VariableRef:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25187:25203:body/0/ruleRef/capture/0","Expression:0"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25217:25234:body/1/ruleRef/capture/0","Expression:1"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25248:25264:body/2/ruleRef/capture/0","Expression:2"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25278:25294:body/3/ruleRef/capture/0","Expression:3"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25308:25324:body/4/ruleRef/capture/0","Expression:4"),Map.entry("expr:tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf:25342:25352:body/5/1/ruleRef/capture/0","Expression:5")); /** D-025: `@catalog` の静的表。入力に依存しない grammar metadata。 */ private static final List CATALOGS = List.of(object("rule", "VariableRef", "context", "variable", "captures", List.of("name", "type"))); /** D-025: 文法が宣言した scope mode(観測されたイベントの mode ではない)。 */ private static final List SCOPE_MODES = List.of("lexical"); private static final Pattern NUMBER = Pattern.compile("[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?"); - private static final Map EXTERN_CLASSES = Map.ofEntries(Map.entry("TinyExpressionP4::STRING","org.unlaxer.tinyexpression.parser.StringLiteralParser"),Map.entry("TinyExpressionP4::CODE_START","org.unlaxer.tinyexpression.parser.javalang.CodeStartParser"),Map.entry("TinyExpressionP4::CODE_END","org.unlaxer.tinyexpression.parser.javalang.CodeEndParser"),Map.entry("TinyExpressionP4::LONG_CODE_BLOCK","org.unlaxer.tinyexpression.parser.javalang.LongCodeBlockParser")); + private static final Map EXTERN_CLASSES = Map.ofEntries(); private static Map scanners = Map.of(); + /** D-080: 起動時の走査スイッチ({@code -Dubnfc.scan})。{@code options.scan} の無い要求はこれに戻す。 */ + private static final boolean SCAN_DEFAULT = org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.Session.scanning; private static java.net.URLClassLoader scannerLoader; // registry は対象生成物の api.TokenScanner でコンパイルする。クラス名から論理 ID に結び直す。 @@ -94,13 +96,22 @@ private static Object execute(Map request) { String entry = request.get("entry") == null ? null : string(request, "entry"); Map options = Json.object(request.get("options")); boolean lexical = flag(options, "lexical"), scope = flag(options, "scope"); + // D-072 / D-080 の A/B 用の任意キー(Rust 生成 driver と同じ意味)。`options.scan` があるときは + // 「fast mode(診断・出現表なし、lexical は false 扱い)で走らせて一括走査だけを切り替える」。 + // 走査は fast mode でしか効かないので、同じ条件で 2 度測る。キーが無ければ従来どおり。 + boolean scanAb = options.containsKey("scan"); + org.unlaxer.tinyexpression.p4.ubnfc.generated.internal.Session.scanning = scanAb ? flag(options, "scan") : SCAN_DEFAULT; + if (scanAb) lexical = false; Map observations = request.get("observations") instanceof Map ? Json.object(request.get("observations")) : Map.of(); int maxDepth = options.get("maxDepth") instanceof Number number ? new java.math.BigDecimal(number.toString()).intValueExact() : ParseOptions.DEFAULT_MAX_DEPTH; - var prefix = TinyExpressionP4Parser.parseEntry(grammar, entry, input, new ParseOptions(false, false, lexical, true, scanners, maxDepth)); + var prefixOptions = new ParseOptions(false, false, lexical, true, scanners, maxDepth); + var fullOptions = new ParseOptions(true, true, lexical, true, scanners, maxDepth); + if (scanAb) { prefixOptions = prefixOptions.withObservations(false, false); fullOptions = fullOptions.withObservations(false, false); } + var prefix = TinyExpressionP4Parser.parseEntry(grammar, entry, input, prefixOptions); ParseResult result; String mapping = null, mappingKind = null, mappingMessage = null; try { - result = TinyExpressionP4Parser.parseEntry(grammar, entry, input, new ParseOptions(true, true, lexical, true, scanners, maxDepth)); + result = TinyExpressionP4Parser.parseEntry(grammar, entry, input, fullOptions); } catch (MappingException error) { result = error.syntax(); mapping = error.getCause() == null ? error.getMessage() : error.getCause().toString(); diff --git a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/internal/LexicalExpression.java b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/internal/LexicalExpression.java new file mode 100644 index 00000000..0a3c2314 --- /dev/null +++ b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/internal/LexicalExpression.java @@ -0,0 +1,129 @@ +package org.unlaxer.tinyexpression.p4.ubnfc.generated.internal; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** Immutable lexical program. Offsets used internally are UTF-16 boundaries; no context is mutated. */ +public record LexicalExpression(Op op, String text, int min, int max, + List children) implements Serializable { + public enum Op { LITERAL, ANY, EOF, BOF, BOL, EOL, RANGE, EXCEPT, + SEQUENCE, CHOICE, REPEAT, LOOK, NOT, CAPTURE, BACKREF, REF, SCOPE } + + public LexicalExpression { + java.util.Objects.requireNonNull(op); + java.util.Objects.requireNonNull(text); + children = List.copyOf(children); + int arity = switch (op) { + case CAPTURE, LOOK, NOT, SCOPE, REPEAT -> 1; + case SEQUENCE, CHOICE -> children.isEmpty() ? -1 : children.size(); + default -> 0; + }; + if (children.size() != arity) throw new IllegalArgumentException("invalid lexical arity"); + if (op == Op.REPEAT && (min < 0 || max < -1 || max >= 0 && min > max)) + throw new IllegalArgumentException("invalid lexical repeat bounds"); + if (op == Op.RANGE && (min < 0 || min > max || max > 0x10ffff + || min >= 0xd800 && min <= 0xdfff || max >= 0xd800 && max <= 0xdfff)) + throw new IllegalArgumentException("invalid lexical scalar range"); + } + public static LexicalExpression leaf(Op op, String text) { + return new LexicalExpression(op, text, 0, 0, List.of()); + } + public static LexicalExpression node(Op op, LexicalExpression... children) { + return new LexicalExpression(op, "", 0, 0, List.of(children)); + } + public static LexicalExpression repeat(LexicalExpression child, int min, int max) { + return new LexicalExpression(Op.REPEAT, "", min, max, List.of(child)); + } + + /** Atomic token evaluation. Failure and zero-width success preserve both cursors. */ + public static Session.Match parse(Session session, Session.Frame frame, LexicalExpression program, Session.Label label) { + int start = frame.position(); + int end = program.match(session.source, start); + if (frame.invert) end = end < 0 ? start : -1; + if (end < 0) return session.error(frame, label); + if (end > start) frame.advance(end - start); + return Session.Match.empty(start, end); + } + + /** Returns the end UTF-16 index, or -1. Capture storage is private to this invocation. */ + public int match(String source, int start) { return match(source, start, new HashMap<>()); } + + private int match(String source, int start, Map bindings) { + Map before = bindings.isEmpty() ? Map.of() : new HashMap<>(bindings); + int end = eval(source, start, bindings); + if (end < 0) { bindings.clear(); bindings.putAll(before); } + return end; + } + + private int eval(String s, int p, Map bindings) { + return switch (op) { + case LITERAL -> s.startsWith(text, p) ? p + text.length() : -1; + case ANY -> scalarAt(s, p) >= 0 ? p + Character.charCount(s.codePointAt(p)) : -1; + case EOF -> p == s.length() ? p : -1; + case BOF -> p == 0 ? p : -1; + case BOL -> p == 0 || s.charAt(p - 1) == '\r' || s.charAt(p - 1) == '\n' ? p : -1; + case EOL -> p == s.length() || s.charAt(p) == '\r' || s.charAt(p) == '\n' ? p : -1; + case RANGE -> scalarAt(s, p) >= 0 && s.codePointAt(p) >= min && s.codePointAt(p) <= max + ? p + Character.charCount(s.codePointAt(p)) : -1; + case EXCEPT -> scalarAt(s, p) >= 0 && text.indexOf(s.codePointAt(p)) < 0 + ? p + Character.charCount(s.codePointAt(p)) : -1; + case SEQUENCE -> { + int end = p; + for (var child : children) { end = child.match(s, end, bindings); if (end < 0) break; } + yield end; + } + case CHOICE -> { + int end = -1; + for (var child : children) { end = child.match(s, p, bindings); if (end >= 0) break; } + yield end; + } + case REPEAT -> { + int end = p, count = 0; + while (max < 0 || count < max) { + int next = children.get(0).match(s, end, bindings); + if (next < 0) break; + count++; + if (next == end && max < 0) throw new IllegalStateException("nullable lexical repeat"); + end = next; + } + yield count >= min ? end : -1; + } + case LOOK, NOT -> { + boolean matched = children.get(0).match(s, p, new HashMap<>(bindings)) >= 0; + yield matched == (op == Op.LOOK) ? p : -1; + } + case CAPTURE -> { + int end = children.get(0).match(s, p, bindings); + if (end >= 0) bindings.put(text, s.substring(p, end)); + yield end; + } + case BACKREF -> { + String value = bindings.get(text); + yield value != null && s.startsWith(value, p) ? p + value.length() : -1; + } + case SCOPE -> children.get(0).match(s, p, new HashMap<>()); + case REF -> throw new IllegalStateException("unresolved lexical reference: " + text); + }; + } + + private static int scalarAt(String source, int position) { + if (position >= source.length()) return -1; + int cp = source.codePointAt(position); + return cp >= 0xd800 && cp <= 0xdfff ? -1 : cp; + } + + /** Conservative nullability, after references have been expanded. */ + public boolean nullable() { + return switch (op) { + case LITERAL -> text.isEmpty(); + case ANY, RANGE, EXCEPT -> false; + case EOF, BOF, BOL, EOL, LOOK, NOT, BACKREF, REF -> true; + case SEQUENCE -> children.stream().allMatch(LexicalExpression::nullable); + case CHOICE -> children.stream().anyMatch(LexicalExpression::nullable); + case REPEAT -> min == 0 || children.get(0).nullable(); + case CAPTURE, SCOPE -> children.get(0).nullable(); + }; + } +} diff --git a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/internal/Recipe.java b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/internal/Recipe.java index e797db6d..4745a663 100644 --- a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/internal/Recipe.java +++ b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/internal/Recipe.java @@ -8,8 +8,20 @@ public final class Recipe { private final int start, end; private final String[] names; private final List[] values; + /** + * D-079: 構築済みの AST({@code Session.remember})を recipe 自身に持つ。以前は 1 parse ごとの + * {@code IdentityHashMap} だったが、recipe は 1 parse の中でしか生きないので + * 表を引く(hash・resize)必要が無い。{@code built == UNBUILT} が未構築。 + */ + static final Object UNBUILT = new Object(); + Object built = UNBUILT; + /** 自身だけを指す nodes 列と値({@code Session.rule} の結果・list field の要素)。遅延して 1 回だけ作る。 */ + private List self; private Value value; private List selfValues; + private static final String[] NO_NAMES = new String[0]; + @SuppressWarnings("rawtypes") private static final List[] NO_VALUES = new List[0]; + @SuppressWarnings("unchecked") public Recipe(String id, int start, int end, Map> fields, String fallback) { - this(id, start, end, fields.keySet().toArray(new String[0]), lists(fields.size()), fallback); + this(id, start, end, fields.isEmpty() ? NO_NAMES : fields.keySet().toArray(new String[0]), fields.isEmpty() ? NO_VALUES : lists(fields.size()), fallback); int i = 0; for (List list : fields.values()) values[i++] = list; } @@ -19,6 +31,15 @@ public Recipe(String id, int start, int end, Map> fields, St public Recipe(String id, int start, int end, String[] names, List[] values, String fallback) { this.id = id; this.start = start; this.end = end; this.names = names; this.values = values; this.fallback = fallback; } + /** field を持たない recipe(leaf fallback・recovery marker)。空の名前列と値列は共有する。 */ + @SuppressWarnings("unchecked") + public static Recipe leaf(String id, int start, int end) { return new Recipe(id, start, end, NO_NAMES, NO_VALUES, null); } + /** {@code List.of(this)}。 */ + public List self() { List result = self; if (result == null) self = result = List.of(this); return result; } + /** {@code new Value(start, end, List.of(this))}。 */ + public Value value() { Value result = value; if (result == null) value = result = new Value(start, end, self()); return result; } + /** {@code List.of(value())}。 */ + public List values() { List result = selfValues; if (result == null) selfValues = result = List.of(value()); return result; } public String id() { return id; } public int start() { return start; } public int end() { return end; } diff --git a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/internal/Session.java b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/internal/Session.java index 7fef67a7..916458b5 100644 --- a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/internal/Session.java +++ b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/internal/Session.java @@ -9,7 +9,6 @@ import java.util.Map; import java.util.Optional; import java.util.Set; -import java.util.function.Function; import java.util.regex.Pattern; import org.unlaxer.tinyexpression.p4.ubnfc.generated.api.Capture; import org.unlaxer.tinyexpression.p4.ubnfc.generated.api.Diagnostic; @@ -195,6 +194,13 @@ boolean canStart(int ch) { * 公開される観測は両経路で等しい。 */ public static boolean plainMatch = !"false".equals(System.getProperty("ubnfc.plainmatch")); + /** + * D-072(観測を要求しない終端領域を 1 本の走査へ畳む。Java 版は D-080)の無効化スイッチ。既定は有効で、 + * 参照経路(式ごとに {@code Session} を通る経路)との差分検証と計測のためだけに false にする + * ({@code -Dubnfc.scan=false})。走査は {@link #scan} が立つ解析でしか走らないので、 + * 公開される観測は両経路で等しい(唯一の差は資源上限で、走査は減らす方向にしか動かない)。 + */ + public static boolean scanning = !"false".equals(System.getProperty("ubnfc.scan")); /** * 認識専用経路の「成功したが情報を持たない」ことだけを表す共有実例(D-075)。 * 列は全て空・{@code text} と {@code values} は null で、{@code start} / {@code end} は @@ -274,8 +280,12 @@ public record Effect(String when, String action, String site, String name, Strin private int reached; private ParseResult syntax; private long nextCaptureCompletion; - public final IdentityHashMap spans = new IdentityHashMap<>(); - private final IdentityHashMap built = new IdentityHashMap<>(); + /** + * AST ノード・字句値の span 表。D-079: 構築({@link #remember} / {@link #text})が始まってから、 + * この解析が作った recipe の数で大きさを決めて 1 度だけ確保する(既定の 32 から倍々に育て直さない)。 + */ + private IdentityHashMap spans; + private int recipeCount; /** * D-056 の二段構え。{@code tree} が false の認識経路は Match 木・capture 出現・Recipe を作らず、 * {@code diag} が false の経路は診断観測を記録しない(主位置 {@code reached} だけ残す)。 @@ -322,6 +332,17 @@ public record Effect(String when, String action, String site, String name, Strin * 再解析されるので、公開される診断は参照経路のものと一致する。 */ public final boolean factor; + /** + * D-080: この解析で生成走査関数({@code scanN})を使ってよいか。Rust の + * {@code options.scan && !DIAG && !lexical && !occurrences} と同じ 4 条件で、残りの + * {@code !invert} と「記録位置と読み取り位置が一致する({@code f.c == f.m})」は呼出し位置で見る。 + * 診断を記録しない経路だけなので、失敗・末尾入力は D-023 により参照経路で再解析される。 + * 再解析されない rollback 解析({@code parseEntryRollback})は到達位置 {@code reached} を診断位置として + * 返すので、生成 parser が解析前にこれを false にする(走査は {@code reached} を更新しない)。 + */ + public boolean scan; + /** 入力の UTF-16 列({@link Input#chars()} と同じ実体)。生成走査関数が直に読む。書き換えない。 */ + public final char[] chars; public Session(CharSequence source, ParseOptions options, String[] ruleNames) { this(source, options, ruleNames, false, false); } public Session(CharSequence source, ParseOptions options, String[] ruleNames, boolean twoMode) { this(source, options, ruleNames, twoMode, false); } public Session(CharSequence source, ParseOptions options, String[] ruleNames, boolean twoMode, boolean plainRecognition) { @@ -333,7 +354,9 @@ public Session(CharSequence source, ParseOptions options, String[] ruleNames, bo this.bypassWrap = !this.occ && !this.diag && !options.lexical() && (astBypass || !this.tree); this.factor = factoring && !this.diag && !options.lexical(); this.plain = plainMatch && plainRecognition && !this.tree; + this.scan = scanning && !this.diag && !this.occ && !options.lexical(); this.source = source.toString(); this.input = new Input(this.source); this.options = options; this.ruleNames = ruleNames.clone(); + this.chars = input.chars(); // diag=false の経路は診断を 1 件も記録しない(書込みは全て diag で囲ってある)ので、 // 読み出し専用の空実例を共有する。実例 1 個で 1 parse あたり約 9 KB の確保が消える。 diagnostics = diag ? new Diagnostics(Label.count(), 1024) : DISABLED; @@ -427,6 +450,39 @@ public void progress(Frame f) { private void progressAt(int at) { if (at > reached) reached = at; if (diag) diagnostics.reach(at); } /** 成功の返り値。認識専用経路({@link #plain})では区間が読まれないので共有実例を返す。 */ private Match success(int start, int end) { return plain ? OK : Match.empty(start, end); } + /** + * D-080: 生成走査関数の結果を参照経路と同じ {@code Match} にする。{@code r} は + * {@code (終了位置 << 1) | 値なし}、失敗は負。失敗では frame に触れない(参照経路の領域も + * 失敗したら入口の {@code c} / {@code m} へ戻す)。consumed mode で {@code c == m} から入った + * 領域は終端の {@code advance} が常に {@code m = c} を保つので、成功後も {@code c == m}。 + * + *

AST を作る経路で読まれ得るのは区間と意味値の有無だけである: 領域は mapping・capture・ + * 非 text の意味形を持たないので、参照経路の値列は「plain text(null)」か「値なし(空列)」の + * どちらかしかなく、空の反復・省略された optional を 1 つでも通れば後者になる({@code combine})。 + * 走査関数はその 1 bit を下位 bit で返す。 + */ + public Match scanned(Frame f, long r) { + if (r < 0) return null; + int start = f.c, end = (int) (r >>> 1); + f.c = end; f.m = end; + if (!tree) return success(start, end); + return (r & 1) == 0 ? Match.empty(start, end) : new Match(List.of(), List.of(), List.of(), List.of(), start, end, false, List.of(), List.of(), null, List.of()); + } + /** D-080: {@link Input#codePointAt} と同じ読み(孤立 surrogate はその UTF-16 値)。{@code p} は範囲内。 */ + public static int cpAt(char[] t, int p) { + char c = t[p]; + if (Character.isHighSurrogate(c) && p + 1 < t.length) { + char d = t[p + 1]; + if (Character.isLowSurrogate(d)) return Character.toCodePoint(c, d); + } + return c; + } + /** D-080: {@link Input#startsWith} と同じ判定(空でない literal だけが来る)。 */ + public static boolean startsWith(char[] t, int p, String word) { + if (p > t.length - word.length()) return false; + for (int i = 0; i < word.length(); i++) if (t[p + i] != word.charAt(i)) return false; + return true; + } private void fail(int at, String label) { if (!diag) { if (at > reached) reached = at; return; } fail(at, Label.of(label).id, at, at); } private void fail(int at, Label label) { fail(at, label.id, at, at); } private void fail(Frame frame, Label label) { fail(Math.max(frame.c, frame.m), label.id, frame.c, frame.m); } @@ -508,12 +564,12 @@ public Match rule(Frame f, int id, int memoId, boolean successMemo, boolean fail applyEffects(scopeEffects, "successAfterLeave", result); applyEffects(scopeEffects, "afterDeclarations", result); } - List nodes = result.nodes(); + List nodes = result.nodes(); Recipe made = null; boolean skipped = skip || "skip".equals(recipeKind); if (!tree) nodes = List.of(); else if (skipped) nodes = List.of(); else if (recipe != null && !"transparent".equals(recipeKind) && !"text".equals(recipeKind)) { - Field[] items = fields.items; List[] lists = Recipe.lists(items.length); + Field[] items = fields.items; List[] lists = Recipe.lists(items.length); recipeCount++; List local = result.local(); int localCount = local.size(); for (int fi = 0; fi < items.length; fi++) { @@ -530,12 +586,10 @@ else if (recipe != null && !"transparent".equals(recipeKind) && !"text".equals(r captures.addAll(elements); } else if (nodeLike && list && !v.nodes().isEmpty()) { List children = v.nodes(); - if (captures == null && children.size() == 1 && single == null) { - Recipe node = children.get(0); single = new Value(node.start(), node.end(), children); - continue; - } + // D-079: 要素ごとの Value(start, end, List.of(node)) は recipe が 1 度だけ持つ。 + if (captures == null && children.size() == 1 && single == null) { single = children.get(0).value(); continue; } if (captures == null) { captures = new ArrayList<>(children.size() + 1); if (single != null) { captures.add(single); single = null; } } - for (int ni = 0, nn = children.size(); ni < nn; ni++) { Recipe node = children.get(ni); captures.add(new Value(node.start(), node.end(), List.of(node))); } + for (int ni = 0, nn = children.size(); ni < nn; ni++) captures.add(children.get(ni).value()); } else if (!(nodeLike && list && v.start() == v.end() && v.nodes().isEmpty())) { if (captures != null) captures.add(v); else if (single == null) single = v; @@ -550,7 +604,8 @@ else if (recipe != null && !"transparent".equals(recipeKind) && !"text".equals(r for (List list : lists) for (int k = 0; k < list.size(); k++) max = Math.max(max, list.get(k).end()); if (max != Integer.MIN_VALUE) nodeEnd = max; } - nodes = List.of(new Recipe(recipe, c, nodeEnd, fields.names, lists, fallback)); + made = new Recipe(recipe, c, nodeEnd, fields.names, lists, fallback); + nodes = made.self(); } List completed = result.local(); for (int k = 0, n = completed.size(); k < n; k++) completed.get(k).completed = nextCaptureCompletion++; @@ -558,10 +613,13 @@ else if (recipe != null && !"transparent".equals(recipeKind) && !"text".equals(r else { List values = result.values(); if (skipped || nodes != result.nodes()) { - values = nodes.isEmpty() ? List.of() : List.of(new Value(nodes.get(0).start(), nodes.get(0).end(), nodes)); + values = made != null ? made.values() : nodes.isEmpty() ? List.of() : List.of(new Value(nodes.get(0).start(), nodes.get(0).end(), nodes)); } - result = new Match(nodes, List.of(), result.captures(), result.traces(), c, f.c, - result.mappingFailure(), result.recoveries(), List.of(), result.text(), values); + // D-079: 包み直しても内容が変わらない結果(局所出現・項目が空で区間も同じ)はそのまま返す。 + if (nodes != result.nodes() || values != result.values() || !result.local().isEmpty() || !result.items().isEmpty() + || result.start() != c || result.end() != f.c) + result = new Match(nodes, List.of(), result.captures(), result.traces(), c, f.c, + result.mappingFailure(), result.recoveries(), List.of(), result.text(), values); } } else { if (diag) { @@ -1367,7 +1425,7 @@ public Match recover(Frame f, Call child, String rule, String mode, String[] pat hints, failure.deepestRule() < 0 ? null : ruleNames[failure.deepestRule()], Arrays.stream(failure.ruleStack()).mapToObj(i -> ruleNames[i]).toList(), hints, "ERROR", input.cpLength(start, end), "recovery"); String id = projection.equals("explicitRecipe") ? recipe : "#recovery"; - Recipe marker = new Recipe(id, start, end, Map.of(), null); + Recipe marker = Recipe.leaf(id, start, end); var recovery = new RecoveryEvent(rule, mode, start, end, selected, syncStart, syncStart < 0 ? -1 : syncStart + syncLength, diagnostic, marker); return new Match(List.of(marker), List.of(), List.of(), List.of(), start, end, projection.equals("mappingFailure"), List.of(recovery)); @@ -1451,8 +1509,23 @@ private void trace(Trace trace, long parent, long[] counter, List start) { int cp = source.codePointBefore(end); if (!Character.isWhitespace(cp)) break; end -= Character.charCount(cp); } + text = start == end || start == 0 && end == source.length() ? new String(source.substring(start, end)) : source.substring(start, end); + } + spans().put(text, span(value.start(), value.end())); return text; + } + /** 構築が登録した span 表(構築が 1 度も登録しなければ空)。 */ + public IdentityHashMap spans() { + IdentityHashMap result = spans; + if (result == null) spans = result = new IdentityHashMap<>(Math.max(32, recipeCount + (recipeCount >> 1))); + return result; } public int number(Value value) { try { return Integer.parseInt(text(value)); } @@ -1461,27 +1534,38 @@ public int number(Value value) { public Recipe node(Value value, Recipe owner) { if (value.nodes().size() > 1) throw mapping(value.start(), value.end(), "Scalar capture has multiple mapped nodes", null); if (!value.nodes().isEmpty()) return value.nodes().get(0); - if (owner.fallback() != null) return new Recipe("#leaf:" + owner.fallback(), value.start(), value.end(), Map.of(), null); + if (owner.fallback() != null) return Recipe.leaf(leafId(owner.fallback()), value.start(), value.end()); throw mapping(value.start(), value.end(), "Missing mapped node", null); } - // field は生成時に確定した添字で引く(名前の線形走査は 1 AST ノードにつき field 数回になる)。 - public T scalar(Recipe recipe, int index, String field, Function conversion) { + private static final java.util.concurrent.ConcurrentHashMap LEAF_IDS = new java.util.concurrent.ConcurrentHashMap<>(); + /** {@code "#leaf:" + fallback} を 1 度だけ作る(毎回の連結と hash 計算をしない)。 */ + private static String leafId(String fallback) { + String id = LEAF_IDS.get(fallback); + if (id == null) { id = "#leaf:" + fallback; String prior = LEAF_IDS.putIfAbsent(fallback, id); if (prior != null) id = prior; } + return id; + } + // D-079: 生成される recipe ごとの構築 method が field を添字で直に読む(lambda を渡さない)。 + /** scalar field の値。無ければ従来の {@code scalar} と同じ mapping 失敗。 */ + public Value scalarValue(Recipe recipe, int index, String field) { List values = recipe.fieldValues(index); if (values.isEmpty()) throw mapping(recipe.start(), recipe.end(), "Missing scalar capture: " + field, null); - T value = conversion.apply(values.get(0)); - if (value == null && !values.get(0).nodes().isEmpty()) throw new RecoveredNodeMissing(); - return value; + return values.get(0); } - public Optional optional(Recipe recipe, int index, String field, Function conversion) { - List values = recipe.fieldValues(index); - return values.isEmpty() ? Optional.empty() : Optional.ofNullable(conversion.apply(values.get(0))); + /** scalar の変換結果の検査。回復で落ちた node を指す値は親ごと省く({@link RecoveredNodeMissing})。 */ + public T present(T converted, Value value) { + if (converted == null && !value.nodes().isEmpty()) throw new RecoveredNodeMissing(); + return converted; } - public List list(Recipe recipe, int index, String field, Function conversion) { + /** optional field の先頭値(無ければ null)。 */ + public Value firstValue(Recipe recipe, int index) { List values = recipe.fieldValues(index); - if (values.isEmpty()) return List.of(); - var result = new ArrayList(values.size()); - for (int k = 0, n = values.size(); k < n; k++) { T converted = conversion.apply(values.get(k)); if (converted != null) result.add(converted); } - return List.copyOf(result); + return values.isEmpty() ? null : values.get(0); + } + /** list field の変換結果(先頭 {@code kept} 件、null は生成側で落としてある)を不変 list にする。 */ + @SuppressWarnings("unchecked") + public List listOf(Object[] converted, int kept) { + if (converted == null || kept == 0) return List.of(); + return (List) (kept == converted.length ? List.of(converted) : List.of(Arrays.copyOf(converted, kept))); } public MappingException mapping(int start, int end, String message, Throwable cause) { return new MappingException(syntax, span(start, end), message, cause); } /** A missing recovered scalar omits its parent; optional/list callers absorb that absence. */ @@ -1497,7 +1581,7 @@ public void typeof(Recipe recipe, String ownName, Object own, String refName, Ob throw mapping(recipe.start(), recipe.end(), message, new IllegalArgumentException(message)); } } - public boolean hasBuilt(Recipe recipe) { return built.containsKey(recipe); } - public Object built(Recipe recipe) { return built.get(recipe); } - public Object remember(Recipe recipe, Object object) { built.put(recipe, object); if (object != null) spans.put(object, span(recipe.start(), recipe.end())); return object; } + public boolean hasBuilt(Recipe recipe) { return recipe.built != Recipe.UNBUILT; } + public Object built(Recipe recipe) { Object object = recipe.built; return object == Recipe.UNBUILT ? null : object; } + public Object remember(Recipe recipe, Object object) { recipe.built = object; if (object != null) spans().put(object, span(recipe.start(), recipe.end())); return object; } } diff --git a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/rt/Input.java b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/rt/Input.java index 9f505e46..9cc75058 100644 --- a/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/rt/Input.java +++ b/src/main/java/org/unlaxer/tinyexpression/p4/ubnfc/generated/rt/Input.java @@ -31,6 +31,14 @@ public int length() { return chars.length; } + /** + * 内部の UTF-16 列そのもの(複製しない)。生成 parser の一括走査(D-080)が境界検査の少ない + * ループで読むためにだけ公開する。呼出し側は書き換えてはならない。 + */ + public char[] chars() { + return chars; + } + /** UTF-16 単位の 1 文字。サロゲートはそのまま返す(接頭辞の先頭判定用)。 */ public char charAt(int idx) { return chars[idx]; diff --git a/src/test/java/org/unlaxer/tinyexpression/p4/ubnfc/DeclarativeLexicalConformanceTest.java b/src/test/java/org/unlaxer/tinyexpression/p4/ubnfc/DeclarativeLexicalConformanceTest.java new file mode 100644 index 00000000..57b9fd48 --- /dev/null +++ b/src/test/java/org/unlaxer/tinyexpression/p4/ubnfc/DeclarativeLexicalConformanceTest.java @@ -0,0 +1,35 @@ +package org.unlaxer.tinyexpression.p4.ubnfc; + +import static org.junit.Assert.*; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Map; +import org.junit.Test; +import org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4Parser; +import org.unlaxer.tinyexpression.p4.ubnfc.generated.api.ParseOptions; + +/** Same source, cursor and AST-value cases as Rust, with no external scanner registry. */ +public class DeclarativeLexicalConformanceTest { + @Test public void sharedLexicalCasesNeedNoHostParserMapping() throws Exception { + var rows = new ObjectMapper().readTree(Files.readString(Path.of("src/test/resources/p4-lexical-conformance.json"))); + for (var row : rows) { + String id = row.get("id").asText(), input = row.get("input").asText(); + boolean ok = row.get("ok").asBoolean(); + int end = row.has("prefix") ? row.get("prefix").asInt() : ok ? input.codePointCount(0, input.length()) : 0; + var result = TinyExpressionP4Parser.parseEntry("TinyExpressionP4", row.get("entry").asText(), input, + new ParseOptions(true, false, false, true, Map.of())); + assertEquals(id, ok, result.ok()); + assertEquals(id, end, result.consumedCp()); + assertEquals(id, end, result.matchedCp()); + if (row.has("value")) { + var raw = (org.unlaxer.tinyexpression.p4.ubnfc.generated.TinyExpressionP4AST.StringConcatExpr) result.ast().orElseThrow(); + assertEquals(id, input, raw.left()); + var converter = new UbnfcAstConverter(result.nodeSpans(), input); + var ast = (org.unlaxer.tinyexpression.generated.p4.TinyExpressionP4AST.StringConcatExpr) converter.convert(raw); + assertEquals(id, row.get("value").asText(), ast.left()); + assertArrayEquals(id, new int[]{0, end}, converter.spans().get(ast)); + } + } + } +} diff --git a/src/test/resources/eval-context-contract/rust-responses.tsv b/src/test/resources/eval-context-contract/rust-responses.tsv index 484d9d6e..bede42fc 100644 --- a/src/test/resources/eval-context-contract/rust-responses.tsv +++ b/src/test/resources/eval-context-contract/rust-responses.tsv @@ -20,8 +20,8 @@ sin-degree 0 {"ok":true,"value":{"kind":"double","value":"0.49999999999999994"," sin-radian 0 {"ok":true,"value":{"kind":"double","value":"-0.9880316240928618","f64Bits":"0xbfef9df47f1c903d"},"text":"-0.9880316240928618"} in-time-range 0 {"ok":true,"value":{"kind":"number","value":"1","f32Bits":"0x3f800000"},"text":"1.0"} in-time-range-outside 0 {"ok":true,"value":{"kind":"number","value":"0","f32Bits":"0x00000000"},"text":"0.0"} -parse-error 3 {"ok":false,"stage":"create","error":{"kind":"ParseException","message":"syntax at code point 3: expected (, match, if, sin, cos, tan, sqrt, min, max, random, abs, round, ceil, floor, pow, log, exp, toNum, $, len, length, external, NUMBER, call, internal"},"diagnostic":{"kind":"syntax","offset":3,"expected":["(","match","if","sin","cos","tan","sqrt","min","max","random","abs","round","ceil","floor","pow","log","exp","toNum","$","len","length","external","NUMBER","call","internal"],"farthestOffset":3,"farthestExpected":["' '","'$'","'('","')'","'*/'","','","'.'","'.length'","'/*'","'//'","':'","'?'","'abs'","'call'","'ceil'","'cos'","'else'","'exp'","'external'","'floor'","'if'","'internal'","'len'","'length'","'log'","'match'","'max'","'min'","'pow'","'random'","'round'","'sin'","'sqrt'","'tan'","'toNum'","'{'","'}'","Chain","DigitParser","NumberParser","NumberTermParser","OneOrMore","SignParser","__CaptureSite"]}} -parse-error-unclosed 3 {"ok":false,"stage":"create","error":{"kind":"ParseException","message":"syntax at code point 8: expected *, /, +, -, ==, !=, <=, >=, <, >, }"},"diagnostic":{"kind":"syntax","offset":8,"expected":["*","/","+","-","==","!=","<=",">=","<",">","}"],"farthestOffset":8,"farthestExpected":["' '","'!='","'*'","'*/'","'+'","'-'","'.'","'/'","'/*'","'//'","'<'","'<='","'=='","'>'","'>='","'}'","DigitParser","EParser","ExponentParser","NumberExpressionRepeat0Parser","NumberTermRepeat0Parser"]}} +parse-error 3 {"ok":false,"stage":"create","error":{"kind":"ParseException","message":"syntax at code point 3: expected (, match, if, sin, cos, tan, sqrt, min, max, random, abs, round, ceil, floor, pow, log, exp, toNum, $, len, length, external, NUMBER, call, internal"},"diagnostic":{"kind":"syntax","offset":3,"expected":["(","match","if","sin","cos","tan","sqrt","min","max","random","abs","round","ceil","floor","pow","log","exp","toNum","$","len","length","external","NUMBER","call","internal"],"farthestOffset":3,"farthestExpected":["' '","'$'","'('","')'","'*/'","','","'.length'","'/*'","'//'","':'","'?'","'abs'","'call'","'ceil'","'cos'","'else'","'exp'","'external'","'floor'","'if'","'internal'","'len'","'length'","'log'","'match'","'max'","'min'","'pow'","'random'","'round'","'sin'","'sqrt'","'tan'","'toNum'","'{'","'}'","NUMBERParser","NumberTermParser","__CaptureSite"]}} +parse-error-unclosed 3 {"ok":false,"stage":"create","error":{"kind":"ParseException","message":"syntax at code point 8: expected *, /, +, -, ==, !=, <=, >=, <, >, }"},"diagnostic":{"kind":"syntax","offset":8,"expected":["*","/","+","-","==","!=","<=",">=","<",">","}"],"farthestOffset":8,"farthestExpected":["' '","'!='","'*'","'*/'","'+'","'-'","'/'","'/*'","'//'","'<'","'<='","'=='","'>'","'>='","'}'","NumberExpressionRepeat0Parser","NumberTermRepeat0Parser"]}} blank-formula 5 {"ok":false,"stage":"apply","error":{"kind":"UnsupportedOperationException","message":"Generated AST backend cannot evaluate formula (result was null)"}} var-declaration 0 {"ok":true,"value":{"kind":"number","value":"10","f32Bits":"0x41200000"},"text":"10.0"} external-stub 0 {"ok":true,"value":{"kind":"number","value":"12.5","f32Bits":"0x41480000"},"text":"12.5"} @@ -52,7 +52,7 @@ request-external-bad-arity 2 {"ok":false,"stage":"request","message":"external a request-seed-negative 2 {"ok":false,"stage":"request","message":"seed must be a non-negative integer, found -1"} request-seed-string 2 {"ok":false,"stage":"request","message":"seed must be a number"} trace-ok 0 {"ok":true,"value":{"kind":"number","value":"6","f32Bits":"0x40c00000"},"text":"6.0","trace":{"steps":15,"recorded":15,"truncated":false,"root":{"kind":"IfExpr","span":[0,25],"value":{"kind":"number","value":"6","f32Bits":"0x40c00000"},"text":"6.0","children":[{"kind":"BooleanOrExpr","span":[3,9],"value":{"kind":"boolean","value":true},"text":"true","children":[{"kind":"BooleanAndExpr","span":[3,9],"value":{"kind":"boolean","value":true},"text":"true","children":[{"kind":"BooleanXorExpr","span":[3,9],"value":{"kind":"boolean","value":true},"text":"true","children":[{"kind":"BooleanFactorExpr","span":[3,9],"value":{"kind":"boolean","value":true},"text":"true","children":[{"kind":"ComparisonExpr","span":[3,9],"value":{"kind":"boolean","value":true},"text":"true","children":[{"kind":"BinaryExpr","span":[3,6],"value":{"kind":"number","value":"3","f32Bits":"0x40400000"},"text":"3.0","children":[{"kind":"VariableRefExpr","span":[3,6],"value":{"kind":"number","value":"3","f32Bits":"0x40400000"},"text":"3.0","children":[]}]},{"kind":"BinaryExpr","span":[8,9],"value":{"kind":"number","value":"1","f32Bits":"0x3f800000"},"text":"1.0","children":[{"kind":"Leaf","span":[8,9],"leaf":"1","value":{"kind":"number","value":"1","f32Bits":"0x3f800000"},"text":"1.0","children":[]}]}]}]}]}]}]},{"kind":"BranchExpressionExpr","span":[11,17],"value":{"kind":"number","value":"6","f32Bits":"0x40c00000"},"text":"6.0","children":[{"kind":"BinaryExpr","span":[11,17],"value":{"kind":"number","value":"6","f32Bits":"0x40c00000"},"text":"6.0","children":[{"kind":"BinaryExpr","span":[11,17],"value":{"kind":"number","value":"6","f32Bits":"0x40c00000"},"text":"6.0","children":[{"kind":"VariableRefExpr","span":[11,14],"value":{"kind":"number","value":"3","f32Bits":"0x40400000"},"text":"3.0","children":[]},{"kind":"Leaf","span":[16,17],"leaf":"2","value":{"kind":"number","value":"2","f32Bits":"0x40000000"},"text":"2.0","children":[]}]}]}]}]}}} -trace-create-failure 3 {"ok":false,"stage":"create","error":{"kind":"ParseException","message":"syntax at code point 3: expected (, match, if, sin, cos, tan, sqrt, min, max, random, abs, round, ceil, floor, pow, log, exp, toNum, $, len, length, external, NUMBER, call, internal"},"diagnostic":{"kind":"syntax","offset":3,"expected":["(","match","if","sin","cos","tan","sqrt","min","max","random","abs","round","ceil","floor","pow","log","exp","toNum","$","len","length","external","NUMBER","call","internal"],"farthestOffset":3,"farthestExpected":["' '","'$'","'('","')'","'*/'","','","'.'","'.length'","'/*'","'//'","':'","'?'","'abs'","'call'","'ceil'","'cos'","'else'","'exp'","'external'","'floor'","'if'","'internal'","'len'","'length'","'log'","'match'","'max'","'min'","'pow'","'random'","'round'","'sin'","'sqrt'","'tan'","'toNum'","'{'","'}'","Chain","DigitParser","NumberParser","NumberTermParser","OneOrMore","SignParser","__CaptureSite"]},"trace":null} +trace-create-failure 3 {"ok":false,"stage":"create","error":{"kind":"ParseException","message":"syntax at code point 3: expected (, match, if, sin, cos, tan, sqrt, min, max, random, abs, round, ceil, floor, pow, log, exp, toNum, $, len, length, external, NUMBER, call, internal"},"diagnostic":{"kind":"syntax","offset":3,"expected":["(","match","if","sin","cos","tan","sqrt","min","max","random","abs","round","ceil","floor","pow","log","exp","toNum","$","len","length","external","NUMBER","call","internal"],"farthestOffset":3,"farthestExpected":["' '","'$'","'('","')'","'*/'","','","'.length'","'/*'","'//'","':'","'?'","'abs'","'call'","'ceil'","'cos'","'else'","'exp'","'external'","'floor'","'if'","'internal'","'len'","'length'","'log'","'match'","'max'","'min'","'pow'","'random'","'round'","'sin'","'sqrt'","'tan'","'toNum'","'{'","'}'","NUMBERParser","NumberTermParser","__CaptureSite"]},"trace":null} trace-apply-failure 5 {"ok":false,"stage":"apply","error":{"kind":"ArithmeticException","message":"/ by zero"},"trace":{"steps":4,"recorded":4,"truncated":false,"root":{"kind":"BinaryExpr","span":[0,5],"error":{"kind":"ArithmeticException","message":"/ by zero"},"children":[{"kind":"BinaryExpr","span":[0,5],"error":{"kind":"ArithmeticException","message":"/ by zero"},"children":[{"kind":"Leaf","span":[0,1],"leaf":"1","value":{"kind":"int","value":1},"text":"1","children":[]},{"kind":"Leaf","span":[4,5],"leaf":"0","value":{"kind":"int","value":0},"text":"0","children":[]}]}]}}} run-ok 0 {"ok":true,"formulas":[{"info":{"name":"First","calculatorName":"first","description":"first","tags":["NORMAL"],"periodStartInclusive":null,"periodEndExclusive":null,"multiTenancyId":"1","dependsOn":null,"resultType":"java.lang.Float","numberType":null,"executionBackend":"JAVA_CODE","formulaText":"$x + 1","formulaSpan":[101,108],"declaredHash":null,"hash":"1FA7CAE7C78392ED7E3FB5BDA7C6C9F1","className":"Formula_First","classNameWithHash":"Formula_First_1FA7CAE7C78392ED7E3FB5BDA7C6C9F1","extraValueByKey":{"checkKind":"First"}},"value":{"kind":"number","value":"3","f32Bits":"0x40400000"}},{"info":{"name":"second","calculatorName":"second","description":null,"tags":[],"periodStartInclusive":null,"periodEndExclusive":null,"multiTenancyId":null,"dependsOn":null,"resultType":"java.lang.String","numberType":null,"executionBackend":"JAVA_CODE","formulaText":"'a' + $s","formulaSpan":[174,183],"declaredHash":null,"hash":"0F42A5AAAEC97B8461FF26EE51AAFF59","className":"Formula_second","classNameWithHash":"Formula_second_0F42A5AAAEC97B8461FF26EE51AAFF59","extraValueByKey":{}},"value":{"kind":"string","value":"ab"}}]} run-apply-failure 5 {"ok":false,"formulas":[{"info":{"name":"div","calculatorName":"div","description":null,"tags":[],"periodStartInclusive":null,"periodEndExclusive":null,"multiTenancyId":null,"dependsOn":null,"resultType":"java.lang.Integer","numberType":"java.lang.Integer","executionBackend":"JAVA_CODE","formulaText":"1 / 0","formulaSpan":[57,63],"declaredHash":null,"hash":"BC650F1A8070E8D0E7C0929302A5D2A6","className":"Formula_div","classNameWithHash":"Formula_div_BC650F1A8070E8D0E7C0929302A5D2A6","extraValueByKey":{}},"error":{"kind":"ArithmeticException","message":"/ by zero"}}]} diff --git a/src/test/resources/p4-lexical-conformance.json b/src/test/resources/p4-lexical-conformance.json new file mode 100644 index 00000000..8465825b --- /dev/null +++ b/src/test/resources/p4-lexical-conformance.json @@ -0,0 +1,21 @@ +[ + {"id":"signed-fraction-exponent","entry":"NumberExpression","input":"-.5E-2","ok":true}, + {"id":"trailing-point","entry":"NumberExpression","input":"+12.","ok":true}, + {"id":"incomplete-exponent","entry":"NumberExpression","input":"1e+","ok":true,"prefix":1}, + {"id":"sign-alone","entry":"NumberExpression","input":"+","ok":false}, + {"id":"point-alone","entry":"NumberExpression","input":".","ok":false}, + {"id":"single-quoted-non-bmp","entry":"StringExpression","input":"'😀a'","ok":true,"value":"😀a"}, + {"id":"double-quoted-non-bmp","entry":"StringExpression","input":"\"😀a\"","ok":true,"value":"\"😀a\""}, + {"id":"raw-escape","entry":"StringExpression","input":"'a\\n'","ok":true,"value":"a\\n"}, + {"id":"multiline-string","entry":"StringExpression","input":"'a\nb'","ok":true,"value":"a\nb"}, + {"id":"unclosed-string","entry":"StringExpression","input":"'a\\","ok":false}, + {"id":"identifier","entry":"VariableRef","input":"$_a09","ok":true}, + {"id":"invalid-identifier","entry":"VariableRef","input":"$😀","ok":false}, + {"id":"triple-fence","entry":"CodeBlock","input":"```java:X\nx\n```","ok":true}, + {"id":"long-fence-non-bmp","entry":"CodeBlock","input":"````java:X\n😀\n````","ok":true}, + {"id":"long-fence-crlf","entry":"CodeBlock","input":"````java:X\r\n````\r\n","ok":true}, + {"id":"embedded-short-fence","entry":"CodeBlock","input":"`````java:a.B\n```\n````\n`````","ok":true}, + {"id":"wrong-fence-width","entry":"CodeBlock","input":"````java:X\na\n```","ok":false}, + {"id":"missing-fence","entry":"CodeBlock","input":"````java:X\na","ok":false}, + {"id":"fence-not-standalone","entry":"CodeBlock","input":"````java:X\na\n````x","ok":false} +] diff --git a/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/characters.ubnf b/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/characters.ubnf new file mode 100644 index 00000000..dcaf9bb1 --- /dev/null +++ b/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/characters.ubnf @@ -0,0 +1,6 @@ +grammar Characters { + @ubnf: v2 + token DIGIT ::= CHAR_RANGE('0', '9'); + token LETTER ::= CHAR_RANGE('a', 'z') | CHAR_RANGE('A', 'Z') | '_'; + token NEWLINE ::= '\r\n' | '\r' | '\n'; +} diff --git a/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/fences.ubnf b/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/fences.ubnf new file mode 100644 index 00000000..bc9f3129 --- /dev/null +++ b/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/fences.ubnf @@ -0,0 +1,14 @@ +grammar Fences { + @import chars from 'characters.ubnf' + @import names from 'identifiers.ubnf' + @ubnf: v2 + // The legacy three-backtick form ends at its first triple-backtick sequence. + token CODE_START ::= BOL '```' names.IDENTIFIER ':' names.CLASS_NAME (chars.NEWLINE | EOF); + token CODE_BODY ::= { NEGATIVE_LOOKAHEAD('```') ANY } LOOKAHEAD('```'); + token CODE_END ::= BOL '```' (chars.NEWLINE | EOF); + // Four or more backticks: closing width must equal the captured opening width. + // A shorter/longer fence or a non-standalone line remains opaque body text. + token LONG_CODE_BLOCK ::= BOL CAPTURE(fence, '`'{4,}) names.IDENTIFIER ':' names.CLASS_NAME chars.NEWLINE + { NEGATIVE_LOOKAHEAD(BOL SAME_AS(fence) EOL) ANY } + BOL SAME_AS(fence) (chars.NEWLINE | EOF); +} diff --git a/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/identifiers.ubnf b/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/identifiers.ubnf new file mode 100644 index 00000000..33f8a2dc --- /dev/null +++ b/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/identifiers.ubnf @@ -0,0 +1,6 @@ +grammar Identifiers { + @import chars from 'characters.ubnf' + @ubnf: v2 + token IDENTIFIER ::= chars.LETTER (chars.LETTER | chars.DIGIT)*; + token CLASS_NAME ::= IDENTIFIER ('.' IDENTIFIER)*; +} diff --git a/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/numbers.ubnf b/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/numbers.ubnf new file mode 100644 index 00000000..4df86465 --- /dev/null +++ b/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/numbers.ubnf @@ -0,0 +1,8 @@ +grammar Numbers { + @import chars from 'characters.ubnf' + @ubnf: v2 + // Optional sign, integer/fraction, optional complete exponent. No implicit trivia. + token NUMBER ::= ['+' | '-'] + (chars.DIGIT+ '.' chars.DIGIT* | '.' chars.DIGIT+ | chars.DIGIT+) + [('e' | 'E') ['+' | '-'] chars.DIGIT+]; +} diff --git a/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/strings.ubnf b/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/strings.ubnf new file mode 100644 index 00000000..fcf3ae57 --- /dev/null +++ b/tools/tinyexpression-p4-lsp-vscode/grammar/lexical/strings.ubnf @@ -0,0 +1,7 @@ +grammar Strings { + @ubnf: v2 + // Quotes and escape pairs are raw source, including newlines and non-BMP scalars. + // AST normalization belongs to the consumer, not this recognizer. + token STRING ::= '"' { '\\' ANY | NEGATION('"\\') } '"' + | '\'' { '\\' ANY | NEGATION('\'\\') } '\''; +} diff --git a/tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf b/tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf index dacdae9c..0aa89e9e 100644 --- a/tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf +++ b/tools/tinyexpression-p4-lsp-vscode/grammar/tinyexpression-p4.ubnf @@ -1,37 +1,26 @@ grammar TinyExpressionP4 { - // The FQN below is a host binding, not the complete meaning of a token. - // Format 2 keeps the observable lexical/cursor contract alongside it. + @import numbers from 'lexical/numbers.ubnf' + @import names from 'lexical/identifiers.ubnf' + @import strings from 'lexical/strings.ubnf' + @import fences from 'lexical/fences.ubnf' + + // Lexical modules are the source of truth; no host Parser implementation mapping. @ubnf: v2 - @feature: tokenContractsV1 - @feature: contextAccessorsV1 - @feature: tokenProgressContractsV1 + @feature: declarativeTokensV1 @package: org.unlaxer.tinyexpression.generated.p4 @whitespace: javaStyle - @memoSafeToken: NUMBER - @memoSafeToken: IDENTIFIER - @memoSafeToken: STRING - @memoSafeToken: CODE_START - @memoSafeToken: CODE_END - @memoSafeToken: LONG_CODE_BLOCK - @memoSafeToken: EOF - - @tokenContract: { token: 'NUMBER' accepts: 'an optional + or -; then digits with an optional decimal point and optional exponent' failure: 'no-consume' consumes: 'always' context: '' } - @tokenContract: { token: 'IDENTIFIER' accepts: 'an ASCII letter or _ followed by ASCII letters, digits, or _' failure: 'no-consume' consumes: 'always' context: '' } - @tokenContract: { token: 'STRING' accepts: 'a single- or double-quoted string; backslash and its following code point are raw text; an unclosed quote fails' failure: 'no-consume' consumes: 'always' context: '' } - @tokenContract: { token: 'CODE_START' accepts: 'a line-start ```scheme:qualified.ClassName opener with no trailing text' failure: 'no-consume' consumes: 'always' context: '' } - @tokenContract: { token: 'CODE_END' accepts: 'a line-start ``` closing fence with no trailing text; the line ending is consumed when present' failure: 'no-consume' consumes: 'always' context: '' } - @tokenContract: { token: 'LONG_CODE_BLOCK' accepts: 'a complete fenced block using four or more backticks, a scheme:qualified.ClassName opener, opaque body, and a same-width closing fence' failure: 'no-consume' consumes: 'always' context: '' } - @tokenContract: { token: 'EOF' accepts: 'only the end of input' failure: 'no-consume' consumes: 'never' context: '' } - - token NUMBER = org.unlaxer.parser.elementary.NumberParser - token IDENTIFIER = org.unlaxer.parser.clang.IdentifierParser - token STRING = org.unlaxer.tinyexpression.parser.StringLiteralParser - token CODE_START = org.unlaxer.tinyexpression.parser.javalang.CodeStartParser - token CODE_BODY = UNTIL('```') - token CODE_END = org.unlaxer.tinyexpression.parser.javalang.CodeEndParser - token LONG_CODE_BLOCK = org.unlaxer.tinyexpression.parser.javalang.LongCodeBlockParser - token EOF = org.unlaxer.parser.elementary.EndOfSourceParser + // Preserve P4's existing literal matching while enabling declarative token syntax. + @literalBoundary: none + + token NUMBER ::= numbers.NUMBER; + token IDENTIFIER ::= names.IDENTIFIER; + token STRING ::= strings.STRING; + token CODE_START ::= fences.CODE_START; + token CODE_BODY ::= fences.CODE_BODY; + token CODE_END ::= fences.CODE_END; + token LONG_CODE_BLOCK ::= fences.LONG_CODE_BLOCK; + token EOF ::= EOF; @root @interleave(profile=javaStyle) From e07c268ecd6fc4dd879176472c75148d31ab0e4e Mon Sep 17 00:00:00 2001 From: opaopa6969 Date: Sat, 3 Oct 2026 19:04:14 +0900 Subject: [PATCH 2/4] Require distinct 3.2.0-SNAPSHOT artifacts for declarative grammars --- .github/unlaxer-source-pin | 6 +++--- .github/workflows/ci.yml | 16 +++++++--------- docs/declarative-lexical-modules.md | 7 +++++-- pom.xml | 2 +- scripts/ci/install-unlaxer-if-unpublished.sh | 4 ++-- 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/.github/unlaxer-source-pin b/.github/unlaxer-source-pin index 8ff8ded9..31e72ac7 100644 --- a/.github/unlaxer-source-pin +++ b/.github/unlaxer-source-pin @@ -1,3 +1,3 @@ -# unlaxer-parser commit CI builds while pom.xml's unlaxer.version is not on Maven Central -# (scripts/ci/install-unlaxer-if-unpublished.sh, tinyexpression #220). Delete once 3.1.1 is published. -commit=08f2bc1c918a34b84c333a8178c990383fdffb8d +# unlaxer-parser commit CI builds for the declarative-module development dependency. +# Retain until pom.xml selects a published version with the same lexical capabilities. +commit=f825740396a6181654191de5ba040e1f83533526 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8a57f284..a3a97a88 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -132,8 +132,8 @@ jobs: run: | task_maven_repo=$(mktemp -d "$RUNNER_TEMP/ubnfc-parser.XXXXXX") echo "MAVEN_REPO=$task_maven_repo" >> "$GITHUB_ENV" - # tinyexpression #220: unlaxer 3.1.1 (with its -jdk17 artifacts) is merged but not on Maven - # Central yet; build the pinned unlaxer-parser commit into the job-local repository until it is. + # Declarative lexical modules require the pinned 3.2.0-SNAPSHOT generator; + # published 3.1.1 cannot read this grammar. Build into the job-local repository. - name: Install unlaxer from source if it is not on Maven Central yet run: bash scripts/ci/install-unlaxer-if-unpublished.sh # Grammar sha256 + every vendored file against UBNFC_PIN. ubnfc is private, so the full @@ -180,8 +180,8 @@ jobs: if: matrix.generator == 'source' with: repository: opaopa6969/unlaxer-parser - # Declarative lexical modules and comment-safe setting values. - ref: 08f2bc1c918a34b84c333a8178c990383fdffb8d + # Declarative lexical modules under a distinct development artifact version. + ref: f825740396a6181654191de5ba040e1f83533526 path: unlaxer-parser - name: Install pinned development generator into its isolated repository if: matrix.generator == 'source' @@ -190,7 +190,7 @@ jobs: mvn -B -pl .,unlaxer-common,unlaxer-dsl install -DskipTests -Dgpg.skip=true -Dmaven.repo.local="$MAVEN_REPO" # The declared dependency must support declarative modules. Do not silently - # substitute 3.1.0: it cannot read this grammar. Until 3.1.1 is published, + # substitute 3.1.1: it cannot read this grammar. Until a compatible release exists, # explicitly build the same pinned source dependency as the main CI job. - name: Install declared dependency from its pin if unpublished if: matrix.generator == 'declared' @@ -330,8 +330,7 @@ jobs: run: | task_maven_repo=$(mktemp -d "$RUNNER_TEMP/tinyexpression-smoke.XXXXXX") echo "MAVEN_REPO=$task_maven_repo" >> "$GITHUB_ENV" - # tinyexpression #220: unlaxer 3.1.1 (with its -jdk17 artifacts) is merged but not on Maven - # Central yet; build the pinned unlaxer-parser commit into the job-local repository until it is. + # Build the pinned declarative-module generator into the job-local repository. - name: Install unlaxer from source if it is not on Maven Central yet run: bash scripts/ci/install-unlaxer-if-unpublished.sh @@ -376,8 +375,7 @@ jobs: run: | task_maven_repo=$(mktemp -d "$RUNNER_TEMP/tinyexpression-build.XXXXXX") echo "MAVEN_REPO=$task_maven_repo" >> "$GITHUB_ENV" - # tinyexpression #220: unlaxer 3.1.1 (with its -jdk17 artifacts) is merged but not on Maven - # Central yet; build the pinned unlaxer-parser commit into the job-local repository until it is. + # Build the pinned declarative-module generator into the job-local repository. - name: Install unlaxer from source if it is not on Maven Central yet run: bash scripts/ci/install-unlaxer-if-unpublished.sh diff --git a/docs/declarative-lexical-modules.md b/docs/declarative-lexical-modules.md index 33c74c7c..7ee1b221 100644 --- a/docs/declarative-lexical-modules.md +++ b/docs/declarative-lexical-modules.md @@ -66,9 +66,12 @@ UBNFC_DIR=/path/to/ubnfc scripts/regenerate-ubnfc-parser.sh --check --require-fu UBNFC_DIR=/path/to/ubnfc rust/check-generated.sh ``` -Java compiler dependency は lexical module 対応の `.github/unlaxer-source-pin` が最低条件。 +Java compiler dependency は `3.2.0-SNAPSHOT` と lexical module 対応の +`.github/unlaxer-source-pin` が最低条件。公開済み `3.1.1` は新しい文法に未対応。 未公開の間、CI の declared-dependency leg もこの pin から build する。 -新しい文法を読めない旧公開版 3.1.0 への fallback は行わず、公開版との検証と偽らない。 +旧公開版への fallback や同じ release version の上書きは行わず、公開版との検証と偽らない。 +ローカルで新規 build する場合も、pin に記載した unlaxer-parser commit の +`mvn -pl .,unlaxer-common,unlaxer-dsl install -DskipTests -Dgpg.skip=true` を先に実行する。 Java/Rust 共通の 19 ケースは `src/test/resources/p4-lexical-conformance.json`。 受理/拒否・独立した consumed/matched・raw quote・公開 AST 値・span を比較する。 diff --git a/pom.xml b/pom.xml index bd3825e5..ab1ad89f 100644 --- a/pom.xml +++ b/pom.xml @@ -56,7 +56,7 @@ installed into a job-local, isolated Maven repo (issue #173: unlaxer-parser master, non-blocking) so the GAV actually resolves from that isolated repo instead of silently falling back to the published artifact. --> - 3.1.1 + 3.2.0-SNAPSHOT diff --git a/scripts/ci/install-unlaxer-if-unpublished.sh b/scripts/ci/install-unlaxer-if-unpublished.sh index 87757bb4..6459b344 100755 --- a/scripts/ci/install-unlaxer-if-unpublished.sh +++ b/scripts/ci/install-unlaxer-if-unpublished.sh @@ -4,8 +4,8 @@ # # MAVEN_REPO=/path/to/repo scripts/ci/install-unlaxer-if-unpublished.sh # -# tinyexpression 2.0.1 needs unlaxer 3.1.1 (its -jdk17 artifacts, tinyexpression #220), which is -# built and merged but not published. Until it is, CI builds the pinned unlaxer-parser commit +# Declarative P4 lexical modules need unlaxer 3.2.0-SNAPSHOT, not the published 3.1.1. +# Until a compatible version is published, CI builds the pinned unlaxer-parser commit # (.github/unlaxer-source-pin) whose must equal pom.xml's unlaxer.version. Once the # version is on Central this script does nothing, and the pin file can be deleted. set -euo pipefail From e38d3ecd7e7836db56b779343e53d83ebfbfd9da Mon Sep 17 00:00:00 2001 From: opaopa6969 Date: Sat, 3 Oct 2026 19:31:41 +0900 Subject: [PATCH 3/4] Align standalone LSP generator with declarative UBNF dependency --- tools/tinyexpression-p4-lsp-vscode/pom.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/tinyexpression-p4-lsp-vscode/pom.xml b/tools/tinyexpression-p4-lsp-vscode/pom.xml index 246a2086..34ab59aa 100644 --- a/tools/tinyexpression-p4-lsp-vscode/pom.xml +++ b/tools/tinyexpression-p4-lsp-vscode/pom.xml @@ -14,6 +14,8 @@ 21 UTF-8 0.23.1 + + 3.2.0-SNAPSHOT ${project.build.directory}/generated-sources/tinyexpression-p4 ${project.basedir}/server-dist ${project.build.directory}/tinyexpression-p4-lsp-${project.version}.vsix @@ -23,7 +25,7 @@ org.unlaxer unlaxer-dsl - 3.1.0 + ${unlaxer.version} org.unlaxer From be1132085e5b34d61149e5c5f731c6375b979444 Mon Sep 17 00:00:00 2001 From: opaopa6969 Date: Sat, 3 Oct 2026 19:33:21 +0900 Subject: [PATCH 4/4] Refresh bundled LSP server from declarative grammar generation --- .../tinyexpression-p4-lsp-server.jar | Bin 12405160 -> 12627447 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/tinyexpression-p4-lsp-vscode/server-dist/tinyexpression-p4-lsp-server.jar b/tools/tinyexpression-p4-lsp-vscode/server-dist/tinyexpression-p4-lsp-server.jar index 31c43fc64c39fac9105eda5f588707603dc80736..8eb5e13411831a73a8c69580c1f374cfb66102bf 100644 GIT binary patch delta 1760679 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�znqpO7}ihQja5o5fn}ls>99Uzo?L_1q~X>OLS6 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

c1rZLioy=O%HwW5i!wT*%)qWeH2|6+ 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
    FC^s6l}l06nHr!ta#Wz#}mgwsDB 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