2010-02-10 23:24:05 -05:00
|
|
|
/* Jison generated parser */
|
|
|
|
var parser = (function(){
|
|
|
|
var parser = {trace: function trace() { },
|
|
|
|
yy: {},
|
2010-09-26 13:11:47 -04:00
|
|
|
symbols_: {"error":2,"Root":3,"TERMINATOR":4,"Body":5,"Block":6,"Line":7,"Expression":8,"Statement":9,"Return":10,"Throw":11,"BREAK":12,"CONTINUE":13,"DEBUGGER":14,"Value":15,"Invocation":16,"Code":17,"Operation":18,"Assign":19,"If":20,"Try":21,"While":22,"For":23,"Switch":24,"Extends":25,"Class":26,"Existence":27,"Comment":28,"INDENT":29,"OUTDENT":30,"Identifier":31,"IDENTIFIER":32,"AlphaNumeric":33,"NUMBER":34,"STRING":35,"Literal":36,"JS":37,"REGEX":38,"TRUE":39,"FALSE":40,"YES":41,"NO":42,"ON":43,"OFF":44,"Assignable":45,"=":46,"AssignObj":47,":":48,"RETURN":49,"HERECOMMENT":50,"?":51,"PARAM_START":52,"ParamList":53,"PARAM_END":54,"FuncGlyph":55,"->":56,"=>":57,"OptComma":58,",":59,"Param":60,"PARAM":61,"@":62,".":63,"Splat":64,"SimpleAssignable":65,"Accessor":66,"ThisProperty":67,"Array":68,"Object":69,"Parenthetical":70,"Range":71,"This":72,"NULL":73,"PROPERTY_ACCESS":74,"PROTOTYPE_ACCESS":75,"::":76,"SOAK_ACCESS":77,"Index":78,"Slice":79,"INDEX_START":80,"INDEX_END":81,"INDEX_SOAK":82,"INDEX_PROTO":83,"{":84,"AssignList":85,"}":86,"CLASS":87,"EXTENDS":88,"ClassBody":89,"ClassAssign":90,"OptFuncExist":91,"Arguments":92,"SUPER":93,"FUNC_EXIST":94,"CALL_START":95,"CALL_END":96,"ArgList":97,"THIS":98,"RangeDots":99,"[":100,"]":101,"Arg":102,"SimpleArgs":103,"TRY":104,"Catch":105,"FINALLY":106,"CATCH":107,"THROW":108,"(":109,")":110,"WhileSource":111,"WHILE":112,"WHEN":113,"UNTIL":114,"Loop":115,"LOOP":116,"ForBody":117,"FOR":118,"ForStart":119,"ForSource":120,"ForVariables":121,"ALL":122,"ForValue":123,"IN":124,"OF":125,"BY":126,"SWITCH":127,"Whens":128,"ELSE":129,"When":130,"LEADING_WHEN":131,"IfBlock":132,"IF":133,"UNLESS":134,"POST_IF":135,"POST_UNLESS":136,"UNARY":137,"-":138,"+":139,"--":140,"++":141,"==":142,"!=":143,"MATH":144,"SHIFT":145,"COMPARE":146,"LOGIC":147,"COMPOUND_ASSIGN":148,"INSTANCEOF":149,"$accept":0,"$end":1},
|
|
|
|
terminals_: {"2":"error","4":"TERMINATOR","12":"BREAK","13":"CONTINUE","14":"DEBUGGER","29":"INDENT","30":"OUTDENT","32":"IDENTIFIER","34":"NUMBER","35":"STRING","37":"JS","38":"REGEX","39":"TRUE","40":"FALSE","41":"YES","42":"NO","43":"ON","44":"OFF","46":"=","48":":","49":"RETURN","50":"HERECOMMENT","51":"?","52":"PARAM_START","54":"PARAM_END","56":"->","57":"=>","59":",","61":"PARAM","62":"@","63":".","73":"NULL","74":"PROPERTY_ACCESS","75":"PROTOTYPE_ACCESS","76":"::","77":"SOAK_ACCESS","80":"INDEX_START","81":"INDEX_END","82":"INDEX_SOAK","83":"INDEX_PROTO","84":"{","86":"}","87":"CLASS","88":"EXTENDS","93":"SUPER","94":"FUNC_EXIST","95":"CALL_START","96":"CALL_END","98":"THIS","100":"[","101":"]","104":"TRY","106":"FINALLY","107":"CATCH","108":"THROW","109":"(","110":")","112":"WHILE","113":"WHEN","114":"UNTIL","116":"LOOP","118":"FOR","122":"ALL","124":"IN","125":"OF","126":"BY","127":"SWITCH","129":"ELSE","131":"LEADING_WHEN","133":"IF","134":"UNLESS","135":"POST_IF","136":"POST_UNLESS","137":"UNARY","138":"-","139":"+","140":"--","141":"++","142":"==","143":"!=","144":"MATH","145":"SHIFT","146":"COMPARE","147":"LOGIC","148":"COMPOUND_ASSIGN","149":"INSTANCEOF"},
|
2010-09-27 23:59:47 -04:00
|
|
|
productions_: [0,[3,0],[3,1],[3,1],[3,2],[5,1],[5,3],[5,2],[7,1],[7,1],[9,1],[9,1],[9,1],[9,1],[9,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[6,3],[6,2],[6,2],[31,1],[33,1],[33,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[19,3],[19,5],[47,1],[47,1],[47,3],[47,3],[47,5],[47,5],[47,1],[10,2],[10,1],[28,1],[27,2],[17,5],[17,2],[55,1],[55,1],[58,0],[58,1],[53,0],[53,1],[53,3],[60,1],[60,2],[60,4],[60,5],[64,4],[65,1],[65,2],[65,2],[65,1],[45,1],[45,1],[45,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[66,2],[66,2],[66,1],[66,2],[66,1],[66,1],[78,3],[78,2],[78,2],[69,4],[85,0],[85,1],[85,3],[85,4],[85,6],[26,2],[26,4],[26,5],[26,7],[26,4],[26,1],[26,3],[26,6],[90,1],[90,3],[90,5],[89,0],[89,1],[89,3],[89,3],[25,3],[16,3],[16,3],[16,1],[16,2],[91,0],[91,1],[92,2],[92,4],[72,1],[72,1],[99,2],[99,3],[67,2],[71,5],[79,5],[79,4],[79,4],[68,2],[68,4],[97,1],[97,3],[97,4],[97,4],[97,6],[102,1],[102,1],[103,1],[103,3],[21,3],[21,4],[21,5],[105,3],[11,2],[70,3],[70,2],[111,2],[111,4],[111,2],[111,4],[22,2],[22,2],[22,2],[22,1],[115,2],[115,2],[23,2],[23,2],[23,2],[117,2],[117,2],[119,2],[119,3],[123,1],[123,1],[123,1],[121,1],[121,3],[120,2],[120,2],[120,4],[120,4],[120,4],[120,6],[120,6],[24,5],[24,7],[24,4],[24,6],[128,1],[128,2],[130,3],[130,4],[132,3],[132,3],[132,5],[132,3],[20,1],[20,3],[20,3],[20,3],[20,3],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,5],[18,3],[18,3],[18,3],[18,4],[18,4],[18,4]],
|
2010-02-10 23:24:05 -05:00
|
|
|
performAction: function anonymous(yytext,yyleng,yylineno,yy) {
|
|
|
|
|
|
|
|
var $$ = arguments[5],$0=arguments[5].length;
|
|
|
|
switch(arguments[4]) {
|
2010-09-25 04:39:19 -04:00
|
|
|
case 1:return this.$ = new yy.Expressions;
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-25 04:39:19 -04:00
|
|
|
case 2:return this.$ = new yy.Expressions;
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
|
|
|
case 3:return this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
|
|
|
case 4:return this.$ = $$[$0-2+1-1];
|
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 5:this.$ = yy.Expressions.wrap([$$[$0-1+1-1]]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
|
|
|
case 6:this.$ = $$[$0-3+1-1].push($$[$0-3+3-1]);
|
|
|
|
break;
|
|
|
|
case 7:this.$ = $$[$0-2+1-1];
|
|
|
|
break;
|
|
|
|
case 8:this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
|
|
|
case 9:this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
|
|
|
case 10:this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
|
|
|
case 11:this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 12:this.$ = new yy.LiteralNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 13:this.$ = new yy.LiteralNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 14:this.$ = new yy.LiteralNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
|
|
|
case 15:this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
|
|
|
case 16:this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
|
|
|
case 17:this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
|
|
|
case 18:this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
|
|
|
case 19:this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
|
|
|
case 20:this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
|
|
|
case 21:this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
|
|
|
case 22:this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
|
|
|
case 23:this.$ = $$[$0-1+1-1];
|
|
|
|
break;
|
2010-02-27 18:57:45 -05:00
|
|
|
case 24:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-03-09 23:04:16 -05:00
|
|
|
case 25:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-03-17 03:11:10 -04:00
|
|
|
case 26:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-04-05 10:26:23 -04:00
|
|
|
case 27:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 28:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 29:this.$ = $$[$0-3+2-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-25 04:39:19 -04:00
|
|
|
case 30:this.$ = new yy.Expressions;
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 31:this.$ = yy.Expressions.wrap([$$[$0-2+2-1]]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 32:this.$ = new yy.LiteralNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 33:this.$ = new yy.LiteralNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 34:this.$ = new yy.LiteralNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 35:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 36:this.$ = new yy.LiteralNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 37:this.$ = new yy.LiteralNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 38:this.$ = new yy.LiteralNode(true);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 39:this.$ = new yy.LiteralNode(false);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 40:this.$ = new yy.LiteralNode(true);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 41:this.$ = new yy.LiteralNode(false);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 42:this.$ = new yy.LiteralNode(true);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 43:this.$ = new yy.LiteralNode(false);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 44:this.$ = new yy.AssignNode($$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 45:this.$ = new yy.AssignNode($$[$0-5+1-1], $$[$0-5+4-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 46:this.$ = new yy.ValueNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 47:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 48:this.$ = new yy.AssignNode(new yy.ValueNode($$[$0-3+1-1]), $$[$0-3+3-1], 'object');
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 49:this.$ = new yy.AssignNode(new yy.ValueNode($$[$0-3+1-1]), $$[$0-3+3-1], 'object');
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 50:this.$ = new yy.AssignNode(new yy.ValueNode($$[$0-5+1-1]), $$[$0-5+4-1], 'object');
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 51:this.$ = new yy.AssignNode(new yy.ValueNode($$[$0-5+1-1]), $$[$0-5+4-1], 'object');
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 52:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 53:this.$ = new yy.ReturnNode($$[$0-2+2-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 54:this.$ = new yy.ReturnNode(new yy.ValueNode(new yy.LiteralNode('null')));
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 55:this.$ = new yy.CommentNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 56:this.$ = new yy.ExistenceNode($$[$0-2+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 57:this.$ = new yy.CodeNode($$[$0-5+2-1], $$[$0-5+5-1], $$[$0-5+4-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 58:this.$ = new yy.CodeNode([], $$[$0-2+2-1], $$[$0-2+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 59:this.$ = 'func';
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 60:this.$ = 'boundfunc';
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-07-25 02:52:02 -04:00
|
|
|
case 61:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 62:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 63:this.$ = [];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 64:this.$ = [$$[$0-1+1-1]];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 65:this.$ = $$[$0-3+1-1].concat([$$[$0-3+3-1]]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 66:this.$ = new yy.LiteralNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 67:this.$ = new yy.ParamNode($$[$0-2+2-1], true);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 68:this.$ = new yy.ParamNode($$[$0-4+1-1], false, true);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 69:this.$ = new yy.ParamNode($$[$0-5+2-1], true, true);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 70:this.$ = new yy.SplatNode($$[$0-4+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 71:this.$ = new yy.ValueNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 72:this.$ = $$[$0-2+1-1].push($$[$0-2+2-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 73:this.$ = new yy.ValueNode($$[$0-2+1-1], [$$[$0-2+2-1]]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-07-28 01:54:36 -04:00
|
|
|
case 74:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 75:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 76:this.$ = new yy.ValueNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 77:this.$ = new yy.ValueNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 78:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 79:this.$ = new yy.ValueNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 80:this.$ = new yy.ValueNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 81:this.$ = new yy.ValueNode($$[$0-1+1-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 82:this.$ = $$[$0-1+1-1];
|
2010-07-01 21:26:33 -04:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 83:this.$ = new yy.ValueNode(new yy.LiteralNode('null'));
|
2010-07-01 21:26:33 -04:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 84:this.$ = new yy.AccessorNode($$[$0-2+2-1]);
|
2010-07-01 21:26:33 -04:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 85:this.$ = new yy.AccessorNode($$[$0-2+2-1], 'prototype');
|
2010-07-01 21:26:33 -04:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 86:this.$ = new yy.AccessorNode(new yy.LiteralNode('prototype'));
|
2010-07-25 02:52:02 -04:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 87:this.$ = new yy.AccessorNode($$[$0-2+2-1], 'soak');
|
2010-07-25 02:52:02 -04:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 88:this.$ = $$[$0-1+1-1];
|
2010-07-25 20:46:08 -04:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 89:this.$ = new yy.SliceNode($$[$0-1+1-1]);
|
2010-07-28 01:54:36 -04:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 90:this.$ = new yy.IndexNode($$[$0-3+2-1]);
|
2010-08-28 08:26:47 -04:00
|
|
|
break;
|
|
|
|
case 91:this.$ = (function () {
|
2010-06-12 19:05:13 -04:00
|
|
|
$$[$0-2+2-1].soakNode = true;
|
2010-05-31 22:32:43 -04:00
|
|
|
return $$[$0-2+2-1];
|
|
|
|
}());
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 92:this.$ = (function () {
|
2010-05-31 22:32:43 -04:00
|
|
|
$$[$0-2+2-1].proto = true;
|
|
|
|
return $$[$0-2+2-1];
|
|
|
|
}());
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 93:this.$ = new yy.ObjectNode($$[$0-4+2-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 94:this.$ = [];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 95:this.$ = [$$[$0-1+1-1]];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 96:this.$ = $$[$0-3+1-1].concat([$$[$0-3+3-1]]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 97:this.$ = $$[$0-4+1-1].concat([$$[$0-4+4-1]]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-08-28 08:26:47 -04:00
|
|
|
case 98:this.$ = $$[$0-6+1-1].concat($$[$0-6+4-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 99:this.$ = new yy.ClassNode($$[$0-2+2-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 100:this.$ = new yy.ClassNode($$[$0-4+2-1], $$[$0-4+4-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 101:this.$ = new yy.ClassNode($$[$0-5+2-1], null, $$[$0-5+4-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 102:this.$ = new yy.ClassNode($$[$0-7+2-1], $$[$0-7+4-1], $$[$0-7+6-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-21 03:50:32 -04:00
|
|
|
case 103:this.$ = new yy.ClassNode('__temp__', null, $$[$0-4+3-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 104:this.$ = new yy.ClassNode('__temp__', null, new yy.Expressions);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 105:this.$ = new yy.ClassNode('__temp__', $$[$0-3+3-1], new yy.Expressions);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 106:this.$ = new yy.ClassNode('__temp__', $$[$0-6+3-1], $$[$0-6+5-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 107:this.$ = $$[$0-1+1-1];
|
2010-06-26 13:36:31 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 108:this.$ = new yy.AssignNode(new yy.ValueNode($$[$0-3+1-1]), $$[$0-3+3-1], 'this');
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 109:this.$ = new yy.AssignNode(new yy.ValueNode($$[$0-5+1-1]), $$[$0-5+4-1], 'this');
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 110:this.$ = [];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 111:this.$ = [$$[$0-1+1-1]];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 112:this.$ = $$[$0-3+1-1].concat($$[$0-3+3-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 113:this.$ = $$[$0-3+2-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 114:this.$ = new yy.ExtendsNode($$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-03-26 11:44:25 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 115:this.$ = new yy.CallNode($$[$0-3+1-1], $$[$0-3+3-1], $$[$0-3+2-1]);
|
2010-06-12 11:00:56 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 116:this.$ = new yy.CallNode($$[$0-3+1-1], $$[$0-3+3-1], $$[$0-3+2-1]);
|
2010-03-26 11:44:25 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 117:this.$ = new yy.CallNode('super', [new yy.SplatNode(new yy.LiteralNode('arguments'))]);
|
2010-03-26 11:44:25 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 118:this.$ = new yy.CallNode('super', $$[$0-2+2-1]);
|
2010-03-26 11:44:25 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 119:this.$ = false;
|
2010-03-26 14:11:34 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 120:this.$ = true;
|
2010-03-28 13:06:16 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 121:this.$ = [];
|
2010-03-28 13:06:16 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 122:this.$ = $$[$0-4+2-1];
|
2010-03-28 13:06:16 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 123:this.$ = new yy.ValueNode(new yy.LiteralNode('this'));
|
2010-03-28 13:14:35 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 124:this.$ = new yy.ValueNode(new yy.LiteralNode('this'));
|
2010-03-29 21:43:12 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 125:this.$ = 'inclusive';
|
2010-07-28 01:54:36 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 126:this.$ = 'exclusive';
|
2010-07-28 01:54:36 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 127:this.$ = new yy.ValueNode(new yy.LiteralNode('this'), [new yy.AccessorNode($$[$0-2+2-1])]);
|
2010-06-29 21:03:50 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 128:this.$ = new yy.RangeNode($$[$0-5+2-1], $$[$0-5+4-1], $$[$0-5+3-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 129:this.$ = new yy.RangeNode($$[$0-5+2-1], $$[$0-5+4-1], $$[$0-5+3-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 130:this.$ = new yy.RangeNode($$[$0-4+2-1], null, $$[$0-4+3-1]);
|
2010-03-09 23:04:16 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 131:this.$ = new yy.RangeNode(null, $$[$0-4+3-1], $$[$0-4+2-1]);
|
2010-03-09 23:04:16 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 132:this.$ = new yy.ArrayNode([]);
|
2010-03-10 16:18:17 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 133:this.$ = new yy.ArrayNode($$[$0-4+2-1]);
|
2010-03-16 17:39:36 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 134:this.$ = [$$[$0-1+1-1]];
|
2010-03-17 03:11:10 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 135:this.$ = $$[$0-3+1-1].concat([$$[$0-3+3-1]]);
|
2010-03-17 03:11:10 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 136:this.$ = $$[$0-4+1-1].concat([$$[$0-4+4-1]]);
|
2010-07-18 14:46:21 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 137:this.$ = $$[$0-4+2-1];
|
2010-07-25 02:42:37 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 138:this.$ = $$[$0-6+1-1].concat($$[$0-6+4-1]);
|
2010-07-25 02:52:02 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 139:this.$ = $$[$0-1+1-1];
|
2010-07-25 02:52:02 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 140:this.$ = $$[$0-1+1-1];
|
2010-07-25 20:46:08 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 141:this.$ = $$[$0-1+1-1];
|
2010-07-27 22:05:55 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 142:this.$ = $$[$0-3+1-1] instanceof Array ? $$[$0-3+1-1].concat([$$[$0-3+3-1]]) : [$$[$0-3+1-1]].concat([$$[$0-3+3-1]]);
|
2010-08-17 21:31:32 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 143:this.$ = new yy.TryNode($$[$0-3+2-1], $$[$0-3+3-1][0], $$[$0-3+3-1][1]);
|
2010-08-18 21:27:10 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 144:this.$ = new yy.TryNode($$[$0-4+2-1], null, null, $$[$0-4+4-1]);
|
2010-08-18 21:51:44 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 145:this.$ = new yy.TryNode($$[$0-5+2-1], $$[$0-5+3-1][0], $$[$0-5+3-1][1], $$[$0-5+5-1]);
|
2010-08-18 21:51:44 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 146:this.$ = [$$[$0-3+2-1], $$[$0-3+3-1]];
|
2010-08-18 21:51:44 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 147:this.$ = new yy.ThrowNode($$[$0-2+2-1]);
|
2010-08-18 21:51:44 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 148:this.$ = new yy.ParentheticalNode($$[$0-3+2-1]);
|
|
|
|
break;
|
|
|
|
case 149:this.$ = new yy.ParentheticalNode(new yy.LiteralNode(''));
|
|
|
|
break;
|
|
|
|
case 150:this.$ = new yy.WhileNode($$[$0-2+2-1]);
|
|
|
|
break;
|
|
|
|
case 151:this.$ = new yy.WhileNode($$[$0-4+2-1], {
|
2010-04-28 21:46:47 -04:00
|
|
|
guard: $$[$0-4+4-1]
|
2010-03-07 11:41:56 -05:00
|
|
|
});
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 152:this.$ = new yy.WhileNode($$[$0-2+2-1], {
|
2010-04-28 22:08:00 -04:00
|
|
|
invert: true
|
|
|
|
});
|
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 153:this.$ = new yy.WhileNode($$[$0-4+2-1], {
|
2010-04-28 22:08:00 -04:00
|
|
|
invert: true,
|
|
|
|
guard: $$[$0-4+4-1]
|
|
|
|
});
|
2010-04-25 21:22:29 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 154:this.$ = $$[$0-2+1-1].addBody($$[$0-2+2-1]);
|
2010-07-25 02:42:37 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 155:this.$ = $$[$0-2+2-1].addBody(yy.Expressions.wrap([$$[$0-2+1-1]]));
|
2010-07-25 20:46:08 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 156:this.$ = $$[$0-2+2-1].addBody(yy.Expressions.wrap([$$[$0-2+1-1]]));
|
2010-07-27 22:05:55 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 157:this.$ = $$[$0-1+1-1];
|
2010-07-15 21:18:35 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 158:this.$ = new yy.WhileNode(new yy.LiteralNode('true')).addBody($$[$0-2+2-1]);
|
2010-07-15 21:18:35 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 159:this.$ = new yy.WhileNode(new yy.LiteralNode('true')).addBody(yy.Expressions.wrap([$$[$0-2+2-1]]));
|
2010-05-12 20:56:44 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 160:this.$ = new yy.ForNode($$[$0-2+1-1], $$[$0-2+2-1], $$[$0-2+2-1].vars[0], $$[$0-2+2-1].vars[1]);
|
2010-08-17 21:31:32 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 161:this.$ = new yy.ForNode($$[$0-2+1-1], $$[$0-2+2-1], $$[$0-2+2-1].vars[0], $$[$0-2+2-1].vars[1]);
|
2010-08-18 21:27:10 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 162:this.$ = new yy.ForNode($$[$0-2+2-1], $$[$0-2+1-1], $$[$0-2+1-1].vars[0], $$[$0-2+1-1].vars[1]);
|
2010-09-18 22:25:45 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 163:this.$ = {
|
2010-09-21 03:50:32 -04:00
|
|
|
source: new yy.ValueNode($$[$0-2+2-1]),
|
2010-07-27 22:38:38 -04:00
|
|
|
vars: []
|
|
|
|
};
|
2010-05-31 22:32:43 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 164:this.$ = (function () {
|
2010-07-27 22:38:38 -04:00
|
|
|
$$[$0-2+2-1].raw = $$[$0-2+1-1].raw;
|
|
|
|
$$[$0-2+2-1].vars = $$[$0-2+1-1];
|
|
|
|
return $$[$0-2+2-1];
|
|
|
|
}());
|
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 165:this.$ = $$[$0-2+2-1];
|
2010-07-27 22:38:38 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 166:this.$ = (function () {
|
2010-07-15 21:18:35 -04:00
|
|
|
$$[$0-3+3-1].raw = true;
|
|
|
|
return $$[$0-3+3-1];
|
|
|
|
}());
|
2010-04-26 14:35:35 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 167:this.$ = $$[$0-1+1-1];
|
2010-07-25 20:46:08 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 168:this.$ = new yy.ValueNode($$[$0-1+1-1]);
|
2010-08-17 21:31:32 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 169:this.$ = new yy.ValueNode($$[$0-1+1-1]);
|
2010-08-18 21:27:10 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 170:this.$ = [$$[$0-1+1-1]];
|
2010-08-28 08:26:47 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 171:this.$ = [$$[$0-3+1-1], $$[$0-3+3-1]];
|
2010-09-18 22:25:45 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 172:this.$ = {
|
2010-03-21 10:59:41 -04:00
|
|
|
source: $$[$0-2+2-1]
|
|
|
|
};
|
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 173:this.$ = {
|
2010-03-07 11:41:56 -05:00
|
|
|
source: $$[$0-2+2-1],
|
|
|
|
object: true
|
|
|
|
};
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 174:this.$ = {
|
2010-03-28 14:32:01 -04:00
|
|
|
source: $$[$0-4+2-1],
|
2010-04-28 21:46:47 -04:00
|
|
|
guard: $$[$0-4+4-1]
|
2010-03-28 14:32:01 -04:00
|
|
|
};
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 175:this.$ = {
|
2010-03-28 14:32:01 -04:00
|
|
|
source: $$[$0-4+2-1],
|
2010-04-28 21:46:47 -04:00
|
|
|
guard: $$[$0-4+4-1],
|
2010-03-28 14:32:01 -04:00
|
|
|
object: true
|
|
|
|
};
|
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 176:this.$ = {
|
2010-03-28 14:32:01 -04:00
|
|
|
source: $$[$0-4+2-1],
|
|
|
|
step: $$[$0-4+4-1]
|
|
|
|
};
|
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 177:this.$ = {
|
2010-03-28 14:32:01 -04:00
|
|
|
source: $$[$0-6+2-1],
|
2010-04-28 21:46:47 -04:00
|
|
|
guard: $$[$0-6+4-1],
|
2010-03-28 14:32:01 -04:00
|
|
|
step: $$[$0-6+6-1]
|
|
|
|
};
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 178:this.$ = {
|
2010-03-28 14:32:01 -04:00
|
|
|
source: $$[$0-6+2-1],
|
|
|
|
step: $$[$0-6+4-1],
|
2010-04-28 21:46:47 -04:00
|
|
|
guard: $$[$0-6+6-1]
|
2010-03-28 14:32:01 -04:00
|
|
|
};
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 179:this.$ = new yy.SwitchNode($$[$0-5+2-1], $$[$0-5+4-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 180:this.$ = new yy.SwitchNode($$[$0-7+2-1], $$[$0-7+4-1], $$[$0-7+6-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 181:this.$ = new yy.SwitchNode(null, $$[$0-4+3-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 182:this.$ = new yy.SwitchNode(null, $$[$0-6+3-1], $$[$0-6+5-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 183:this.$ = $$[$0-1+1-1];
|
2010-05-10 22:57:51 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 184:this.$ = $$[$0-2+1-1].concat($$[$0-2+2-1]);
|
2010-05-10 22:57:51 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 185:this.$ = [[$$[$0-3+2-1], $$[$0-3+3-1]]];
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 186:this.$ = [[$$[$0-4+2-1], $$[$0-4+3-1]]];
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 187:this.$ = new yy.IfNode($$[$0-3+2-1], $$[$0-3+3-1]);
|
2010-04-05 10:26:23 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 188:this.$ = new yy.IfNode($$[$0-3+2-1], $$[$0-3+3-1], {
|
2010-04-27 19:35:15 -04:00
|
|
|
invert: true
|
|
|
|
});
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 189:this.$ = $$[$0-5+1-1].addElse(new yy.IfNode($$[$0-5+4-1], $$[$0-5+5-1]));
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 190:this.$ = $$[$0-3+1-1].addElse($$[$0-3+3-1]);
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 191:this.$ = $$[$0-1+1-1];
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 192:this.$ = new yy.IfNode($$[$0-3+3-1], yy.Expressions.wrap([$$[$0-3+1-1]]), {
|
2010-03-07 11:41:56 -05:00
|
|
|
statement: true
|
|
|
|
});
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 193:this.$ = new yy.IfNode($$[$0-3+3-1], yy.Expressions.wrap([$$[$0-3+1-1]]), {
|
2010-04-27 19:35:15 -04:00
|
|
|
statement: true
|
|
|
|
});
|
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 194:this.$ = new yy.IfNode($$[$0-3+3-1], yy.Expressions.wrap([$$[$0-3+1-1]]), {
|
2010-04-05 10:26:23 -04:00
|
|
|
statement: true,
|
|
|
|
invert: true
|
|
|
|
});
|
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 195:this.$ = new yy.IfNode($$[$0-3+3-1], yy.Expressions.wrap([$$[$0-3+1-1]]), {
|
2010-03-07 11:41:56 -05:00
|
|
|
statement: true,
|
|
|
|
invert: true
|
|
|
|
});
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 196:this.$ = new yy.OpNode($$[$0-2+1-1], $$[$0-2+2-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 197:this.$ = new yy.OpNode('-', $$[$0-2+2-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 198:this.$ = new yy.OpNode('+', $$[$0-2+2-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 199:this.$ = new yy.OpNode('--', $$[$0-2+2-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 200:this.$ = new yy.OpNode('++', $$[$0-2+2-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 201:this.$ = new yy.OpNode('--', $$[$0-2+1-1], null, true);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 202:this.$ = new yy.OpNode('++', $$[$0-2+1-1], null, true);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 203:this.$ = new yy.OpNode('?', $$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 204:this.$ = new yy.OpNode('+', $$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 205:this.$ = new yy.OpNode('-', $$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 206:this.$ = new yy.OpNode('==', $$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 207:this.$ = new yy.OpNode('!=', $$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 208:this.$ = new yy.OpNode($$[$0-3+2-1], $$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-08-17 21:31:32 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 209:this.$ = new yy.OpNode($$[$0-3+2-1], $$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-08-18 21:27:10 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 210:this.$ = new yy.OpNode($$[$0-3+2-1], $$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-08-28 08:26:47 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 211:this.$ = new yy.OpNode($$[$0-3+2-1], $$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-09-08 21:39:51 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 212:this.$ = new yy.OpNode($$[$0-3+2-1], $$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-09-18 22:25:45 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 213:this.$ = new yy.OpNode($$[$0-5+2-1], $$[$0-5+1-1], $$[$0-5+4-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 214:this.$ = new yy.InNode($$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 215:this.$ = new yy.OpNode('in', $$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-03-21 10:59:41 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 216:this.$ = new yy.OpNode('instanceof', $$[$0-3+1-1], $$[$0-3+3-1]);
|
2010-08-11 23:14:50 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 217:this.$ = new yy.OpNode($$[$0-4+2-1], new yy.InNode($$[$0-4+1-1], $$[$0-4+4-1]));
|
2010-08-14 16:33:20 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 218:this.$ = new yy.OpNode($$[$0-4+2-1], new yy.ParentheticalNode(new yy.OpNode('in', $$[$0-4+1-1], $$[$0-4+4-1])));
|
2010-06-21 22:25:28 -04:00
|
|
|
break;
|
2010-09-27 23:59:47 -04:00
|
|
|
case 219:this.$ = new yy.OpNode($$[$0-4+2-1], new yy.ParentheticalNode(new yy.OpNode('instanceof', $$[$0-4+1-1], $$[$0-4+4-1])));
|
2010-08-21 08:56:25 -04:00
|
|
|
break;
|
2010-03-21 10:59:41 -04:00
|
|
|
}
|
|
|
|
},
|
2010-09-27 23:59:47 -04:00
|
|
|
table: [{"1":[2,1],"3":1,"4":[1,2],"5":3,"6":4,"7":5,"8":7,"9":8,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,6],"31":77,"32":[1,82],"33":55,"34":[1,80],"35":[1,81],"36":29,"37":[1,56],"38":[1,57],"39":[1,58],"40":[1,59],"41":[1,60],"42":[1,61],"43":[1,62],"44":[1,63],"45":28,"49":[1,51],"50":[1,50],"52":[1,35],"55":36,"56":[1,68],"57":[1,69],"62":[1,67],"65":48,"67":78,"68":53,"69":54,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,79],"87":[1,49],"93":[1,34],"98":[1,66],"100":[1,65],"104":[1,43],"108":[1,52],"109":[1,64],"111":44,"112":[1,72],"114":[1,73],"115":45,"116":[1,74],"117":46,"118":[1,75],"119":76,"127":[1,47],"132":42,"133":[1,70],"134":[1,71],"137":[1,37],"138":[1,38],"139":[1,39],"140":[1,40],"141":[1,41]},{"1":[3]},{"1":[2,2],"28":83,"50":[1,50]},{"1":[2,3],"4":[1,84]},{"4":[1,85]},{"1":[2,5],"4":[2,5],"30":[2,5]},{"5":86,"7":5,"8":7,"9":8,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"30":[1,87],"31":77,"32":[1,82],"33":55,"34":[1,80],"35":[1,81],"36":29,"37":[1,56],"38":[1,57],"39":[1,58],"40":[1,59],"41":[1,60],"42":[1,61],"43":[1,62],"44":[1,63],"45":28,"49":[1,51],"50":[1,50],"52":[1,35],"55":36,"56":[1,68],"57":[1,69],"62":[1,67],"65":48,"67":78,"68":53,"69":54,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,79],"87":[1,49],"93":[1,34],"98":[1,66],"100":[1,65],"104":[1,43],"108":[1,52],"109":[1,64],"111":44,"112":[1,72],"114":[1,73],"115":45,"116":[1,74],"117":46,"118":[1,75],"119":76,"127":[1,47],"132":42,"133":[1,70],"134":[1,71],"137":[1,37],"138":[1,38],"139":[1,39],"140":[1,40],"141":[1,41]},{"1":[2,8],"4":[2,8],"30":[2,8],"51":[1,90],"110":[2,8],"111":105,"112":[1,72],"114":[1,73],"117":106,"118":[1,75],"119":76,"124":[1,99],"125":[1,100],"135":[1,103],"136":[1,104],"137":[1,102],"138":[1,92],"139":[1,91],"140":[1,88],"141":[1,89],"142":[1,93],"143":[1,94],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"149":[1,101]},{"1":[2,9],"4":[2,9],"30":[2,9],"110":[2,9],"111":109,"112":[1,72],"114":[1,73],"117":110,"118":[1,75],"119":76,"135":[1,107],"136":[1,108]},{"1":[2,15],"4":[2,15],"29":[2,15],"30":[2,15],"51":[2,15],"59":[2,15],"63":[2,15],"66":113,"74":[1,115],"75":[1,116],"76":[1,117],"77":[1,118],"78":119,"79":120,"80":[1,121],"81":[2,15],"82":[1,122],"83":[1,123],"86":[2,15],"91":111,"94":[1,114],"95":[2,119],"96":[2,15],"101":[2,15],"110":[2,15],"112":[2,15],"113":[2,15],"114":[2,15],"118":[2,15],"124":[2,15],"125":[2,15],"126":[2,15],"135":[2,15],"136":[2,15],"137":[2,15],"138":[2,15],"139":[2,15],"140":[2,15],"141":[2,15],"142":[2,15],"143":[2,15],"144":[2,15],"145":[2,15],"146":[2,15],"147":[2,15],"148":[1,112],"149":[2,15]},{"1":[2,16],"4":[2,16],"29":[2,16],"30":[2,16],"51":[2,16],"59":[2,16],"63":[2,16],"66":125,"74":[1,115],"75":[1,116],"76":[1,117],"77":[1,118],"78":119,"79":120,"80":[1,121],"81":[2,16],"82":[1,122],"83":[1,123],"86":[2,16],"91":124,"94":[1,114],"95":[2,119],"96":[2,16],"101":[2,16],"110":[2,16],"112":[2,16],"113":[2,16],"114":[2,16],"118":[2,16],"124":[2,16],"125":[2,16],"126":[2,16],"135":[2,16],"136":[2,16],"137":[2,16],"138":[2,16],"139":[2,16],"140":[2,16],"141":[2,16],"142":[2,16],"143":[2,16],"144":[2,16],"145":[2,16],"146":[2,16],"147":[2,16],"149":[2,16]},{"1":[2,17],"4":[2,17],"29":[2,17],"30":[2,17],"51":[2,17],"59":[2,17],"63":[2,17],"81":[2,17],"86":[2,17],"96":[2,17],"101":[2,17],"110":[2,17],"112":[2,17],"113":[2,17],"114":[2,17],"118":[2,17],"124":[2,17],"125":[2,17],"126":[2,17],"135":[2,17],"136":[2,17],"137":[2,17],"138":[2,17],"139":[2,17],"140":[2,17],"141":[2,17],"142":[2,17],"143":[2,17],"144":[2,17],"145":[2,17],"146":[2,17],"147":[2,17],"149":[2,17]},{"1":[2,18],"4":[2,18],"29":[2,18],"30":[2,18],"51":[2,18],"59":[2,18],"63":[2,18],"81":[2,18],"86":[2,18],"96":[2,18],"101":[2,18],"110":[2,18],"112":[2,18],"113":[2,18],"114":[2,18],"118":[2,18],"124":[2,18],"125":[2,18],"126":[2,18],"135":[2,18],"136":[2,18
|
|
|
|
defaultActions: {"85":[2,4],"114":[2,120]},
|
2010-02-10 23:24:05 -05:00
|
|
|
parseError: function parseError(str, hash) {
|
|
|
|
throw new Error(str);
|
|
|
|
},
|
|
|
|
parse: function parse(input) {
|
|
|
|
var self = this,
|
|
|
|
stack = [0],
|
|
|
|
vstack = [null], // semantic value stack
|
|
|
|
table = this.table,
|
|
|
|
yytext = '',
|
|
|
|
yylineno = 0,
|
|
|
|
yyleng = 0,
|
|
|
|
shifts = 0,
|
2010-04-21 22:52:20 -04:00
|
|
|
reductions = 0,
|
|
|
|
recovering = 0,
|
|
|
|
TERROR = 2,
|
|
|
|
EOF = 1;
|
2010-02-10 23:24:05 -05:00
|
|
|
|
|
|
|
this.lexer.setInput(input);
|
|
|
|
this.lexer.yy = this.yy;
|
2010-04-21 22:52:20 -04:00
|
|
|
this.yy.lexer = this.lexer;
|
2010-02-10 23:24:05 -05:00
|
|
|
|
2010-04-21 22:52:20 -04:00
|
|
|
var parseError = this.yy.parseError = typeof this.yy.parseError == 'function' ? this.yy.parseError : this.parseError;
|
|
|
|
|
|
|
|
function popStack (n) {
|
|
|
|
stack.length = stack.length - 2*n;
|
|
|
|
vstack.length = vstack.length - n;
|
|
|
|
}
|
|
|
|
|
|
|
|
function checkRecover (st) {
|
|
|
|
for (var p in table[st]) if (p == TERROR) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
2010-02-10 23:24:05 -05:00
|
|
|
|
|
|
|
function lex() {
|
|
|
|
var token;
|
|
|
|
token = self.lexer.lex() || 1; // $end = 1
|
|
|
|
// if token isn't its numeric value, convert
|
|
|
|
if (typeof token !== 'number') {
|
2010-07-04 12:50:04 -04:00
|
|
|
token = self.symbols_[token] || token;
|
2010-02-10 23:24:05 -05:00
|
|
|
}
|
|
|
|
return token;
|
|
|
|
};
|
|
|
|
|
2010-04-21 22:52:20 -04:00
|
|
|
var symbol, preErrorSymbol, state, action, a, r, yyval={},p,len,newState, expected, recovered = false;
|
2010-02-10 23:24:05 -05:00
|
|
|
while (true) {
|
2010-06-01 20:21:12 -04:00
|
|
|
// retreive state number from top of stack
|
2010-02-10 23:24:05 -05:00
|
|
|
state = stack[stack.length-1];
|
2010-06-01 20:21:12 -04:00
|
|
|
|
|
|
|
// use default actions if available
|
|
|
|
if (this.defaultActions[state]) {
|
|
|
|
action = this.defaultActions[state];
|
|
|
|
} else {
|
|
|
|
if (symbol == null)
|
|
|
|
symbol = lex();
|
|
|
|
// read action for current state and first input
|
|
|
|
action = table[state] && table[state][symbol];
|
|
|
|
}
|
2010-02-10 23:24:05 -05:00
|
|
|
|
2010-04-21 22:52:20 -04:00
|
|
|
// handle parse error
|
2010-03-07 18:51:10 -05:00
|
|
|
if (typeof action === 'undefined' || !action.length || !action[0]) {
|
2010-04-21 22:52:20 -04:00
|
|
|
|
|
|
|
if (!recovering) {
|
|
|
|
// Report error
|
|
|
|
expected = [];
|
|
|
|
for (p in table[state]) if (this.terminals_[p] && p > 2) {
|
|
|
|
expected.push("'"+this.terminals_[p]+"'");
|
|
|
|
}
|
|
|
|
if (this.lexer.showPosition) {
|
|
|
|
parseError.call(this, 'Parse error on line '+(yylineno+1)+":\n"+this.lexer.showPosition()+'\nExpecting '+expected.join(', '),
|
|
|
|
{text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, expected: expected});
|
|
|
|
} else {
|
2010-07-04 12:50:04 -04:00
|
|
|
parseError.call(this, 'Parse error on line '+(yylineno+1)+": Unexpected '"+(this.terminals_[symbol] || symbol)+"'",
|
2010-04-21 22:52:20 -04:00
|
|
|
{text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, expected: expected});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// just recovered from another error
|
|
|
|
if (recovering == 3) {
|
|
|
|
if (symbol == EOF) {
|
|
|
|
throw 'Parsing halted.'
|
|
|
|
}
|
|
|
|
|
|
|
|
// discard current lookahead and grab another
|
|
|
|
yyleng = this.lexer.yyleng;
|
|
|
|
yytext = this.lexer.yytext;
|
|
|
|
yylineno = this.lexer.yylineno;
|
2010-06-01 20:21:12 -04:00
|
|
|
symbol = lex();
|
2010-01-30 23:17:36 -05:00
|
|
|
}
|
2010-04-21 22:52:20 -04:00
|
|
|
|
|
|
|
// try to recover from error
|
|
|
|
while (1) {
|
|
|
|
// check for error recovery rule in this state
|
|
|
|
if (checkRecover(state)) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
if (state == 0) {
|
|
|
|
throw 'Parsing halted.'
|
|
|
|
}
|
|
|
|
popStack(1);
|
|
|
|
state = stack[stack.length-1];
|
2010-02-13 18:19:59 -05:00
|
|
|
}
|
2010-04-21 22:52:20 -04:00
|
|
|
|
|
|
|
preErrorSymbol = symbol; // save the lookahead token
|
|
|
|
symbol = TERROR; // insert generic error symbol as new lookahead
|
|
|
|
state = stack[stack.length-1];
|
|
|
|
action = table[state] && table[state][TERROR];
|
|
|
|
recovering = 3; // allow 3 real symbols to be shifted before reporting a new error
|
2010-01-30 23:17:36 -05:00
|
|
|
}
|
2010-02-10 23:24:05 -05:00
|
|
|
|
|
|
|
// this shouldn't happen, unless resolve defaults are off
|
2010-03-07 18:51:10 -05:00
|
|
|
if (action[0] instanceof Array && action.length > 1) {
|
2010-02-10 23:24:05 -05:00
|
|
|
throw new Error('Parse Error: multiple actions possible at state: '+state+', token: '+symbol);
|
|
|
|
}
|
|
|
|
|
2010-04-21 22:52:20 -04:00
|
|
|
a = action;
|
2010-02-10 23:24:05 -05:00
|
|
|
|
|
|
|
switch (a[0]) {
|
|
|
|
|
|
|
|
case 1: // shift
|
|
|
|
shifts++;
|
|
|
|
|
2010-04-21 22:52:20 -04:00
|
|
|
stack.push(symbol);
|
|
|
|
vstack.push(this.lexer.yytext); // semantic values or junk only, no terminals
|
2010-02-10 23:24:05 -05:00
|
|
|
stack.push(a[1]); // push state
|
2010-06-01 20:21:12 -04:00
|
|
|
symbol = null;
|
2010-04-21 22:52:20 -04:00
|
|
|
if (!preErrorSymbol) { // normal execution/no error
|
|
|
|
yyleng = this.lexer.yyleng;
|
|
|
|
yytext = this.lexer.yytext;
|
|
|
|
yylineno = this.lexer.yylineno;
|
|
|
|
if (recovering > 0)
|
|
|
|
recovering--;
|
|
|
|
} else { // error just occurred, resume old lookahead f/ before error
|
|
|
|
symbol = preErrorSymbol;
|
|
|
|
preErrorSymbol = null;
|
|
|
|
}
|
2010-02-10 23:24:05 -05:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 2: // reduce
|
|
|
|
reductions++;
|
|
|
|
|
|
|
|
len = this.productions_[a[1]][1];
|
|
|
|
|
|
|
|
// perform semantic action
|
|
|
|
yyval.$ = vstack[vstack.length-len]; // default to $$ = $1
|
|
|
|
r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, a[1], vstack);
|
|
|
|
|
|
|
|
if (typeof r !== 'undefined') {
|
|
|
|
return r;
|
|
|
|
}
|
|
|
|
|
|
|
|
// pop off stack
|
|
|
|
if (len) {
|
|
|
|
stack = stack.slice(0,-1*len*2);
|
|
|
|
vstack = vstack.slice(0, -1*len);
|
|
|
|
}
|
|
|
|
|
|
|
|
stack.push(this.productions_[a[1]][0]); // push nonterminal (reduce)
|
|
|
|
vstack.push(yyval.$);
|
|
|
|
// goto new state = table[STATE][NONTERMINAL]
|
|
|
|
newState = table[stack[stack.length-2]][stack[stack.length-1]];
|
|
|
|
stack.push(newState);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3: // accept
|
|
|
|
|
2010-02-12 13:35:34 -05:00
|
|
|
this.reductionCount = reductions;
|
|
|
|
this.shiftCount = shifts;
|
2010-02-10 23:24:05 -05:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2010-01-30 23:17:36 -05:00
|
|
|
}
|
2010-02-10 23:24:05 -05:00
|
|
|
|
|
|
|
return true;
|
|
|
|
}};
|
|
|
|
return parser;
|
|
|
|
})();
|
|
|
|
if (typeof require !== 'undefined') {
|
|
|
|
exports.parser = parser;
|
|
|
|
exports.parse = function () { return parser.parse.apply(parser, arguments); }
|
|
|
|
exports.main = function commonjsMain(args) {
|
|
|
|
if (!args[1])
|
|
|
|
throw new Error('Usage: '+args[0]+' FILE');
|
2010-06-28 00:26:45 -04:00
|
|
|
if (typeof process !== 'undefined') {
|
|
|
|
var source = require('fs').readFileSync(require('path').join(process.cwd(), args[1]), "utf8");
|
|
|
|
} else {
|
|
|
|
var cwd = require("file").path(require("file").cwd());
|
|
|
|
var source = cwd.join(args[1]).read({charset: "utf-8"});
|
|
|
|
}
|
|
|
|
return exports.parser.parse(source);
|
2010-02-10 23:24:05 -05:00
|
|
|
}
|
2010-09-27 23:59:47 -04:00
|
|
|
if (typeof module !== "undefined" && require.main === module) {
|
2010-06-28 00:26:45 -04:00
|
|
|
exports.main(typeof process !== 'undefined' ? process.argv.slice(1) : require("system").args);
|
2010-02-10 23:24:05 -05:00
|
|
|
}
|
2010-07-01 21:26:33 -04:00
|
|
|
}
|