1program
2 = code:code+ { return code.join(""); }
3
4code
5 = s:skipConsole { return s; }
6  / c:. { return c; }
7
8// Add "error" and/or "warn" if needed
9func
10 = f:("log" / "info" / "debug" / "propertyAccess" ) { return f; }
11
12console
13 = head:"stateMgmtConsole" dot:(_ "." _) func:func _ { return head + '.' + func }
14
15skipConsole
16 = console:console "(" c:(!")" c:logChar { return c; })* ")" ";"? { return ``}
17
18logChar
19 = "(" c:logChar* ")" { return `(${c.join("")})`; }
20 / "/*" c:logChar* "*/" { return `**${c.join("")}**`; }
21 / !")"!"*/" c:. { return c; }
22
23_ "whitespace"
24  = [ ' '\t\n\r]*