[go: up one dir, main page]

pomelo 0.2.3

Implementation of the Lemon parser generator as a Rust procedural macro
Documentation
State 0:
          s ::= * e
          e ::= * t
          e ::= * e PLUS t
          t ::= * f
          t ::= * t MUL f
          f ::= * ID
          f ::= * LP e RP

                            ID shift  10
                            LP shift  1
                             s accept
                             e shift  7
                             t shift  5
                             f shift  8

State 1:
          e ::= * t
          e ::= * e PLUS t
          t ::= * f
          t ::= * t MUL f
          f ::= * ID
          f ::= * LP e RP
          f ::= LP * e RP

                            ID shift  10
                            LP shift  1
                             e shift  4
                             t shift  5
                             f shift  8

State 2:
          e ::= e PLUS * t
          t ::= * f
          t ::= * t MUL f
          f ::= * ID
          f ::= * LP e RP

                            ID shift  10
                            LP shift  1
                             t shift  6
                             f shift  8

State 3:
          t ::= t MUL * f
          f ::= * ID
          f ::= * LP e RP

                            ID shift  10
                            LP shift  1
                             f shift  11

State 4:
          e ::= e * PLUS t
          f ::= LP e * RP

                          PLUS shift  2
                            RP shift  9

State 5:
      (1) e ::= t *
          t ::= t * MUL f

                          PLUS reduce 1
                           MUL shift  3
                     {default} reduce 1

State 6:
      (2) e ::= e PLUS t *
          t ::= t * MUL f

                          PLUS reduce 2
                           MUL shift  3
                     {default} reduce 2

State 7:
      (0) s ::= e *
          e ::= e * PLUS t

                             $ reduce 0
                          PLUS shift  2

State 8:
      (3) t ::= f *

                     {default} reduce 3

State 9:
      (6) f ::= LP e RP *

                     {default} reduce 6

State 10:
      (5) f ::= ID *

                     {default} reduce 5

State 11:
      (4) t ::= t MUL f *

                     {default} reduce 4

----------------------------------------------------
Symbols:
    0: $
    1: PLUS
    2: MUL
    3: ID
    4: LP
    5: RP
    6: error
    7: s
    8: e
    9: t
   10: f
   11: {default}

    Building [=========================> ] 63/64: general(test)                                                                                                                                                                            
    Finished ]8;;https://doc.rust-lang.org/cargo/reference/profiles.html#default-profiles\`test` profile [unoptimized + debuginfo]]8;;\ target(s) in 0.31s
     Running unittests src/lib.rs (target/debug/deps/pomelo-cad847cf45e0984e)

running 0 tests

test result: ok(B. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/compiletest.rs (target/debug/deps/compiletest-4e6e1f43ffb240ba)

running 0 tests

test result: ok(B. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s

     Running tests/general.rs (target/debug/deps/general-dfb295f2a521e8fb)

running 1 test
test pass::fallback2::bug ... ok(B

test result: ok(B. 1 passed; 0 failed; 0 ignored; 0 measured; 20 filtered out; finished in 0.00s

   Compiling pomelo v0.2.2 (/home/rodrigo/projects/pomelo)
    Building [=========================> ] 63/64: general(test)                                                                                                                                                                            
State 0:
          s ::= * e
          e ::= * t
          e ::= * e PLUS t
          t ::= * f
          t ::= * t MUL f
          f ::= * ID
          f ::= * LP e RP

                            ID shift  10
                            LP shift  1
                             s accept
                             e shift  7
                             t shift  5
                             f shift  8

State 1:
          e ::= * t
          e ::= * e PLUS t
          t ::= * f
          t ::= * t MUL f
          f ::= * ID
          f ::= * LP e RP
          f ::= LP * e RP

                            ID shift  10
                            LP shift  1
                             e shift  4
                             t shift  5
                             f shift  8

State 2:
          e ::= e PLUS * t
          t ::= * f
          t ::= * t MUL f
          f ::= * ID
          f ::= * LP e RP

                            ID shift  10
                            LP shift  1
                             t shift  6
                             f shift  8

State 3:
          t ::= t MUL * f
          f ::= * ID
          f ::= * LP e RP

                            ID shift  10
                            LP shift  1
                             f shift  11

State 4:
          e ::= e * PLUS t
          f ::= LP e * RP

                          PLUS shift  2
                            RP shift  9

State 5:
      (1) e ::= t *
          t ::= t * MUL f

                          PLUS reduce 1
                           MUL shift  3
                     {default} reduce 1

State 6:
      (2) e ::= e PLUS t *
          t ::= t * MUL f

                          PLUS reduce 2
                           MUL shift  3
                     {default} reduce 2

State 7:
      (0) s ::= e *
          e ::= e * PLUS t

                             $ reduce 0
                          PLUS shift  2

State 8:
      (3) t ::= f *

                     {default} reduce 3

State 9:
      (6) f ::= LP e RP *

                     {default} reduce 6

State 10:
      (5) f ::= ID *

                     {default} reduce 5

State 11:
      (4) t ::= t MUL f *

                     {default} reduce 4

----------------------------------------------------
Symbols:
    0: $
    1: PLUS
    2: MUL
    3: ID
    4: LP
    5: RP
    6: error
    7: s
    8: e
    9: t
   10: f
   11: {default}