Recursive descent parser generator: Difference between revisions

J: bugfix
m (Undoing delete of J draft - I've a simple fix...)
(J: bugfix)
Line 379:
)
 
opterm=: 1 :0
2 :('m','''',m,'''','expr n')
)
 
expr=:1 :0
:
r=. genname''
emit r,'=:',xy,m,yx
r
)
 
plus=: '+' opexpr
times=: '*' opterm
minus=: '-' opexpr
 
N=: 10000
Line 399 ⟶ 403:
Task example:
 
<lang J> parse '(one + two) * three - four * five'
z0001=:four*five*four
z0002=:three-z0001two+one
z0003=:one+twothree*z0002
z0004=:z0001-z0003*z0002
z0004</lang>
6,951

edits