sclass LASCompileResult { settable S script; settable GazelleV_LeftArrowScriptParser parser; settable Throwable compileError; settable GazelleV_LeftArrowScript.Script parsedScript; toString { ret compileError != null ? exceptionToStringShorter_dontDropOuterExceptions(compileError) : "Compiled OK"; } bool runnable() { ret parsedScript != null; } void compile { try { parsedScript(parser.parse(script)); print(parsedScript); } catch e { print(e); compileError(e); } } }