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]*