jweinst1
3/22/2017 - 2:18 AM

parser for english language

parser for english language

//parser for English/Incredible language

Program
  = s:Statement* {return {node:"program", args:s};}
  
Statement
  = _ p:Print _ "." {return p};
  
Print
  = "print" _ l:Literal {return {node:"print", args:[l]};}
  / "print" _ l:Literal ","  _ n:Statement {return {node:"print", args:[l, n]};}
  
  
Literal
  = w:[a-zA-Z]+ {return w.join("");}




_ "whitespace"
  = [ \t\n\r]*