Jass² - A Jass Parser written in vJass
Hacked over the last few days so probably buggy. Equiped with an ad-hoc printer.
Documentation may come sometime. Some examples follow though.
How to parse Toplevel:
JASS:
local string j = "
type bla extends integer
globals
constant integer x = 3
integer y
integer array z
endglobals
function foo takes integer x, bla foo returns real
set x = y
return lol
endfunction
"
local Jass_Parser p = Jass_Parser.create(j)
local Jass_List e = p.parseProgram()
loop
exitwhen e == Jass_Nil
call BJDebugMsg(Jass_Toplevel(e.head).toString())
set e = e.tail
endloop
Parsing a single expression:
JASS:
local string j = "a * b[3] + foo(bar, $ff)"
local Jass_Parser p = Jass_Parser.create(j)
call BJDebugMsg(p.parseExpr().toString())
Here's the code: GitHub - lep/jassjass: Jass parser written in vJass
Last edited: