plotnik-compiler 0.3.2

Compiler for Plotnik query language (parser, analyzer, bytecode emitter)
Documentation
---
source: crates/plotnik-lib/src/emit/emit_tests.rs
---
Test = [
    A: (identifier) @a
    B: (number) @b
]
---
[strings]
S0 "Beauty will save the world"
S1 "a"
S2 "b"
S3 "A"
S4 "B"
S5 "Test"
S6 "identifier"
S7 "number"

[type_defs]
T0 = <Node>
T1 = Struct  M0:1  ; { a }
T2 = Struct  M1:1  ; { b }
T3 = Enum    M2:2  ; A | B

[type_members]
M0: S1 → T0  ; a: <Node>
M1: S2 → T0  ; b: <Node>
M2: S3 → T1  ; A: T1
M3: S4 → T2  ; B: T2

[type_names]
N0: S5 → T3  ; Test

[entrypoints]
Test = 06 :: T3

[transitions]
_ObjWrap:
  00   ε   [Obj]                            02
  02       Trampoline                       03
  03   ε   [EndObj]                         05
  05                                        ▶

Test:
  06   ε                                    08
  07  ...  
  08   ε                                    11, 16
  10                                        ▶
  11   !   [Enum(M2)] (identifier) [Node Set(M0) EndEnum]  10
  14  ...  
  15  ...  
  16   !   [Enum(M3)] (number) [Node Set(M1) EndEnum]  10