Code Monkey home page Code Monkey logo

Comments (2)

zevv avatar zevv commented on May 16, 2024

Something is working in the railroad branch, compile with -d:npegDiagrams for output.

Open question is how to represent lookahead (&) and not-predicate (!), as these do not consume any input.

              ╭─────────»──────────╮  
exp o──[term]─┴┬─[termOp]──[term]─┬┴─o
               ╰────────«─────────╯   

                 ╭───────────»────────────╮  
term o──[factor]─┴┬─[factorOp]──[factor]─┬┴─o
                  ╰──────────«───────────╯   

factor o──┬─[number]───────────────┬──o
          ╰─[open]──[exp]──[close]─╯   

line o──[ws]──[exp]──[eol]──o

    ╭─────»─────╮  
S o─┴┬─[Space]─┬┴─o
     ╰────«────╯   

jtrue o──"true"──o

jfalse o──"false"──o

jnull o──"null"──o

unicodeEscape o──'u'──[Xdigit]──[Xdigit]──[Xdigit]──[Xdigit]──[Xdigit]──o

escape o──'\'──┬─{'"','\','b','f','n','r','t','{'..'|'}─┬──o
               ╰─[unicodeEscape]────────────────────────╯   

                         ╭────────────────»────────────────╮  
             ╭────»─────╮│                  ╭─────»──────╮ │  
stringBody o─┴─[escape]─┴┴┬┬─{' '..'\xff'}─┬┴┬─[escape]─┬┴┬┴─o
                          │╰───────«───────╯ ╰────«─────╯ │   
                          ╰───────────────«───────────────╯   

          ╭──»──╮                        ╭──»──╮  
jstring o─┴─[S]─┴─'"'──[stringBody]──'"'─┴─[S]─┴─o

minus o──'-'──o

intPart o──┬─'0'──────────────────┬──o
           │         ╭─────»─────╮│   
           ╰─[Digit]─┴┬─[Digit]─┬┴╯   
                      ╰────«────╯     
                                      

fractPart o──"."─┬─[Digit]─┬─o
                 ╰────«────╯  

                   ╭────»────╮             
expPart o──┬─'e'─┬─┴─┬─'+'─┬─┴┬─[Digit]─┬─o
           ╰─'E'─╯   ╰─'-'─╯  ╰────«────╯  

          ╭────»────╮           ╭──────»──────╮╭─────»─────╮  
jnumber o─┴─[minus]─┴─[intPart]─┴─[fractPart]─┴┴─[expPart]─┴─o

from npeg.

zevv avatar zevv commented on May 16, 2024

Closed by 599af1b

from npeg.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.