jashkenas--coffeescript/lib/coffee-script/parser.js

729 lines
125 KiB
JavaScript
Raw Normal View History

2013-12-20 02:08:25 +00:00
/* parser generated by jison 0.4.13 */
/*
Returns a Parser object of the following structure:
Parser: {
yy: {}
}
Parser.prototype: {
yy: {},
trace: function(),
symbols_: {associative list: name ==> number},
terminals_: {associative list: number ==> name},
productions_: [...],
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),
table: [...],
defaultActions: {...},
parseError: function(str, hash),
parse: function(input),
lexer: {
EOF: 1,
parseError: function(str, hash),
setInput: function(input),
input: function(),
unput: function(str),
more: function(),
less: function(n),
pastInput: function(),
upcomingInput: function(),
showPosition: function(),
test_match: function(regex_match_array, rule_index),
next: function(),
lex: function(),
begin: function(condition),
popState: function(),
_currentRules: function(),
topState: function(),
pushState: function(condition),
options: {
ranges: boolean (optional: true ==> token location info will include a .range[] member)
flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)
backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)
},
performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),
rules: [...],
conditions: {associative list: name ==> set},
}
}
token location info (@$, _$, etc.): {
first_line: n,
last_line: n,
first_column: n,
last_column: n,
range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)
}
the parseError function receives a 'hash' object with these members for lexer and parser errors: {
text: (matched text)
token: (the produced terminal token, if any)
line: (yylineno)
}
while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {
loc: (yylloc)
expected: (string describing the set of expected tokens)
recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)
}
*/
2010-02-11 04:24:05 +00:00
var parser = (function(){
var parser = {trace: function trace() { },
yy: {},
symbols_: {"error":2,"Root":3,"Body":4,"Line":5,"TERMINATOR":6,"Expression":7,"Statement":8,"Return":9,"Comment":10,"STATEMENT":11,"Value":12,"Invocation":13,"Code":14,"Operation":15,"Assign":16,"If":17,"Try":18,"While":19,"For":20,"Switch":21,"Class":22,"Throw":23,"Block":24,"INDENT":25,"OUTDENT":26,"Identifier":27,"IDENTIFIER":28,"AlphaNumeric":29,"NUMBER":30,"STRING":31,"Literal":32,"JS":33,"REGEX":34,"DEBUGGER":35,"UNDEFINED":36,"NULL":37,"BOOL":38,"Assignable":39,"=":40,"AssignObj":41,"ObjAssignable":42,":":43,"ThisProperty":44,"RETURN":45,"HERECOMMENT":46,"PARAM_START":47,"ParamList":48,"PARAM_END":49,"FuncGlyph":50,"->":51,"->*":52,"=>":53,"=>*":54,"OptComma":55,",":56,"Param":57,"ParamVar":58,"...":59,"Array":60,"Object":61,"Splat":62,"SimpleAssignable":63,"Accessor":64,"Parenthetical":65,"Range":66,"This":67,".":68,"?.":69,"::":70,"?::":71,"Index":72,"INDEX_START":73,"IndexValue":74,"INDEX_END":75,"INDEX_SOAK":76,"Slice":77,"{":78,"AssignList":79,"}":80,"CLASS":81,"EXTENDS":82,"OptFuncExist":83,"Arguments":84,"SUPER":85,"FUNC_EXIST":86,"CALL_START":87,"CALL_END":88,"ArgList":89,"THIS":90,"@":91,"[":92,"]":93,"RangeDots":94,"..":95,"Arg":96,"SimpleArgs":97,"TRY":98,"Catch":99,"FINALLY":100,"CATCH":101,"THROW":102,"(":103,")":104,"WhileSource":105,"WHILE":106,"WHEN":107,"UNTIL":108,"Loop":109,"LOOP":110,"ForBody":111,"FOR":112,"ForStart":113,"ForSource":114,"ForVariables":115,"OWN":116,"ForValue":117,"FORIN":118,"FOROF":119,"BY":120,"SWITCH":121,"Whens":122,"ELSE":123,"When":124,"LEADING_WHEN":125,"IfBlock":126,"IF":127,"POST_IF":128,"UNARY":129,"UNARY_MATH":130,"-":131,"+":132,"--":133,"++":134,"?":135,"MATH":136,"**":137,"SHIFT":138,"COMPARE":139,"LOGIC":140,"RELATION":141,"COMPOUND_ASSIGN":142,"$accept":0,"$end":1},
terminals_: {2:"error",6:"TERMINATOR",11:"STATEMENT",25:"INDENT",26:"OUTDENT",28:"IDENTIFIER",30:"NUMBER",31:"STRING",33:"JS",34:"REGEX",35:"DEBUGGER",36:"UNDEFINED",37:"NULL",38:"BOOL",40:"=",43:":",45:"RETURN",46:"HERECOMMENT",47:"PARAM_START",49:"PARAM_END",51:"->",52:"->*",53:"=>",54:"=>*",56:",",59:"...",68:".",69:"?.",70:"::",71:"?::",73:"INDEX_START",75:"INDEX_END",76:"INDEX_SOAK",78:"{",80:"}",81:"CLASS",82:"EXTENDS",85:"SUPER",86:"FUNC_EXIST",87:"CALL_START",88:"CALL_END",90:"THIS",91:"@",92:"[",93:"]",95:"..",98:"TRY",100:"FINALLY",101:"CATCH",102:"THROW",103:"(",104:")",106:"WHILE",107:"WHEN",108:"UNTIL",110:"LOOP",112:"FOR",116:"OWN",118:"FORIN",119:"FOROF",120:"BY",121:"SWITCH",123:"ELSE",125:"LEADING_WHEN",127:"IF",128:"POST_IF",129:"UNARY",130:"UNARY_MATH",131:"-",132:"+",133:"--",134:"++",135:"?",136:"MATH",137:"**",138:"SHIFT",139:"COMPARE",140:"LOGIC",141:"RELATION",142:"COMPOUND_ASSIGN"},
productions_: [0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[8,1],[8,1],[8,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[24,2],[24,3],[27,1],[29,1],[29,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[16,3],[16,4],[16,5],[41,1],[41,3],[41,5],[41,1],[42,1],[42,1],[42,1],[9,2],[9,1],[10,1],[14,5],[14,2],[50,1],[50,1],[50,1],[50,1],[55,0],[55,1],[48,0],[48,1],[48,3],[48,4],[48,6],[57,1],[57,2],[57,3],[57,1],[58,1],[58,1],[58,1],[58,1],[62,2],[63,1],[63,2],[63,2],[63,1],[39,1],[39,1],[39,1],[12,1],[12,1],[12,1],[12,1],[12,1],[64,2],[64,2],[64,2],[64,2],[64,1],[64,1],[72,3],[72,2],[74,1],[74,1],[61,4],[79,0],[79,1],[79,3],[79,4],[79,6],[22,1],[22,2],[22,3],[22,4],[22,2],[22,3],[22,4],[22,5],[13,3],[13,3],[13,1],[13,2],[83,0],[83,1],[84,2],[84,4],[67,1],[67,1],[44,2],[60,2],[60,4],[94,1],[94,1],[66,5],[77,3],[77,2],[77,2],[77,1],[89,1],[89,3],[89,4],[89,4],[89,6],[96,1],[96,1],[96,1],[97,1],[97,3],[18,2],[18,3],[18,4],[18,5],[99,3],[99,3],[99,2],[23,2],[65,3],[65,5],[105,2],[105,4],[105,2],[105,4],[19,2],[19,2],[19,2],[19,1],[109,2],[109,2],[20,2],[20,2],[20,2],[111,2],[111,2],[113,2],[113,3],[117,1],[117,1],[117,1],[117,1],[115,1],[115,3],[114,2],[114,2],[114,4],[114,4],[114,4],[114,6],[114,6],[21,5],[21,7],[21,4],[21,6],[122,1],[122,2],[124,3],[124,4],[126,3],[126,5],[17,1],[17,3],[17,3],[17,3],[15,2],[15,2],[15,2],[15,2],[15,2],[15,2],[15,2],[15,2],[15,2],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,5],[15,4],[15,3]],
2013-12-20 02:08:25 +00:00
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */
/**/) {
/* this == yyval */
2010-02-11 04:24:05 +00:00
2010-12-20 01:04:49 +00:00
var $0 = $$.length - 1;
switch (yystate) {
case 1:return this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Block);
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 2:return this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
case 3:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(yy.Block.wrap([$$[$0]]));
2010-02-11 04:24:05 +00:00
break;
case 4:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-2].push($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 5:this.$ = $$[$0-1];
2010-02-11 04:24:05 +00:00
break;
case 6:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 7:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 8:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 9:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
case 10:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Literal($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 11:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
case 12:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 13:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 14:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 15:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 16:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 17:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 18:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 19:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 20:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 21:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2010-12-20 01:04:49 +00:00
case 22:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
case 23:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Block);
2010-02-11 04:24:05 +00:00
break;
case 24:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-1]);
2010-02-11 04:24:05 +00:00
break;
case 25:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Literal($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 26:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Literal($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 27:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Literal($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 28:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
case 29:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Literal($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 30:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Literal($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 31:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Literal($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 32:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Undefined);
2011-11-25 13:35:20 +00:00
break;
case 33:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Null);
2010-02-11 04:24:05 +00:00
break;
case 34:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Bool($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 35:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Assign($$[$0-2], $$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 36:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Assign($$[$0-3], $$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 37:this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Assign($$[$0-4], $$[$0-1]));
2010-02-11 04:24:05 +00:00
break;
case 38:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 39:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Assign(yy.addLocationDataFn(_$[$0-2])(new yy.Value($$[$0-2])), $$[$0], 'object'));
2010-02-11 04:24:05 +00:00
break;
case 40:this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Assign(yy.addLocationDataFn(_$[$0-4])(new yy.Value($$[$0-4])), $$[$0-1], 'object'));
2010-02-11 04:24:05 +00:00
break;
case 41:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2011-11-25 13:35:20 +00:00
case 42:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2011-12-14 23:31:20 +00:00
case 43:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
case 44:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
case 45:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Return($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 46:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Return);
2010-02-11 04:24:05 +00:00
break;
case 47:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Comment($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 48:this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Code($$[$0-3], $$[$0], $$[$0-1]));
2010-02-11 04:24:05 +00:00
break;
case 49:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Code([], $$[$0], $$[$0-1]));
2010-02-11 04:24:05 +00:00
break;
case 50:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('func');
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 51:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('generator');
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 52:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('boundfunc');
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 53:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('boundgenerator');
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 54:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 55:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 56:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])([]);
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 57:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])([$$[$0]]);
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 58:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-2].concat($$[$0]));
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 59:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])($$[$0-3].concat($$[$0]));
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 60:this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])($$[$0-5].concat($$[$0-2]));
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 61:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Param($$[$0]));
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 62:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Param($$[$0-1], null, true));
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 63:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Param($$[$0-2], $$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 64:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Expansion);
2010-02-11 04:24:05 +00:00
break;
case 65:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 66:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 67:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
case 68:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
case 69:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Splat($$[$0-1]));
2010-02-11 04:24:05 +00:00
break;
case 70:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 71:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0-1].add($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 72:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Value($$[$0-1], [].concat($$[$0])));
2010-02-11 04:24:05 +00:00
break;
2013-12-20 02:08:25 +00:00
case 73:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
case 74:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
case 75:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value($$[$0]));
2010-02-11 04:24:05 +00:00
break;
2013-02-28 13:37:30 +00:00
case 76:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 77:this.$ = $$[$0];
break;
2013-12-20 02:08:25 +00:00
case 78:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value($$[$0]));
break;
2013-12-20 02:08:25 +00:00
case 79:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 80:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 81:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
case 82:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Access($$[$0]));
2011-11-25 13:35:20 +00:00
break;
case 83:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Access($$[$0], 'soak'));
2011-12-14 23:31:20 +00:00
break;
case 84:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])([yy.addLocationDataFn(_$[$0-1])(new yy.Access(new yy.Literal('prototype'))), yy.addLocationDataFn(_$[$0])(new yy.Access($$[$0]))]);
break;
case 85:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])([yy.addLocationDataFn(_$[$0-1])(new yy.Access(new yy.Literal('prototype'), 'soak')), yy.addLocationDataFn(_$[$0])(new yy.Access($$[$0]))]);
break;
case 86:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Access(new yy.Literal('prototype')));
2013-12-20 02:08:25 +00:00
break;
case 87:this.$ = $$[$0];
2013-12-20 02:08:25 +00:00
break;
case 88:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-1]);
break;
case 89:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(yy.extend($$[$0], {
2010-10-25 13:31:52 +00:00
soak: true
}));
break;
case 90:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Index($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 91:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Slice($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 92:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Obj($$[$0-2], $$[$0-3].generated));
2010-02-11 04:24:05 +00:00
break;
case 93:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])([]);
2010-02-11 04:24:05 +00:00
break;
case 94:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])([$$[$0]]);
2010-02-11 04:24:05 +00:00
break;
case 95:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-2].concat($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 96:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])($$[$0-3].concat($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 97:this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])($$[$0-5].concat($$[$0-2]));
2010-06-26 17:36:31 +00:00
break;
case 98:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Class);
2010-02-11 04:24:05 +00:00
break;
case 99:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Class(null, null, $$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 100:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Class(null, $$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 101:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Class(null, $$[$0-1], $$[$0]));
2010-11-13 23:13:09 +00:00
break;
case 102:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Class($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 103:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Class($$[$0-1], null, $$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 104:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Class($$[$0-2], $$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 105:this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Class($$[$0-3], $$[$0-1], $$[$0]));
2010-10-23 20:35:35 +00:00
break;
2013-12-20 02:08:25 +00:00
case 106:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Call($$[$0-2], $$[$0], $$[$0-1]));
break;
case 107:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Call($$[$0-2], $$[$0], $$[$0-1]));
break;
case 108:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Call('super', [new yy.Splat(new yy.Literal('arguments'))]));
break;
case 109:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Call('super', $$[$0]));
break;
case 110:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(false);
break;
case 111:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(true);
break;
case 112:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])([]);
2010-11-20 21:25:22 +00:00
break;
case 113:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])($$[$0-2]);
2010-11-20 21:25:22 +00:00
break;
2013-12-20 02:08:25 +00:00
case 114:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value(new yy.Literal('this')));
2010-11-20 21:25:22 +00:00
break;
case 115:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value(new yy.Literal('this')));
2010-11-20 21:25:22 +00:00
break;
case 116:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Value(yy.addLocationDataFn(_$[$0-1])(new yy.Literal('this')), [yy.addLocationDataFn(_$[$0])(new yy.Access($$[$0]))], 'this'));
2010-03-28 17:06:16 +00:00
break;
case 117:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Arr([]));
2010-03-28 17:06:16 +00:00
break;
case 118:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Arr($$[$0-2]));
2010-03-28 17:06:16 +00:00
break;
case 119:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('inclusive');
break;
case 120:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('exclusive');
break;
case 121:this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Range($$[$0-3], $$[$0-1], $$[$0-2]));
break;
case 122:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Range($$[$0-2], $$[$0], $$[$0-1]));
break;
case 123:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Range($$[$0-1], null, $$[$0]));
break;
case 124:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Range(null, $$[$0], $$[$0-1]));
break;
case 125:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Range(null, null, $$[$0]));
break;
case 126:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])([$$[$0]]);
break;
case 127:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-2].concat($$[$0]));
break;
case 128:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])($$[$0-3].concat($$[$0]));
break;
case 129:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])($$[$0-2]);
break;
case 130:this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])($$[$0-5].concat($$[$0-2]));
break;
2013-12-20 02:08:25 +00:00
case 131:this.$ = $$[$0];
2011-12-14 23:31:20 +00:00
break;
2013-12-20 02:08:25 +00:00
case 132:this.$ = $$[$0];
break;
case 133:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Expansion);
2014-01-24 16:00:34 +00:00
break;
case 134:this.$ = $$[$0];
break;
case 135:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([].concat($$[$0-2], $$[$0]));
break;
case 136:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Try($$[$0]));
break;
case 137:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Try($$[$0-1], $$[$0][0], $$[$0][1]));
2010-11-20 21:25:22 +00:00
break;
case 138:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Try($$[$0-2], null, null, $$[$0]));
2010-11-20 21:25:22 +00:00
break;
case 139:this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Try($$[$0-3], $$[$0-2][0], $$[$0-2][1], $$[$0]));
2010-11-20 21:25:22 +00:00
break;
case 140:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([$$[$0-1], $$[$0]]);
break;
case 141:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([yy.addLocationDataFn(_$[$0-1])(new yy.Value($$[$0-1])), $$[$0]]);
break;
case 142:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])([null, $$[$0]]);
break;
case 143:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Throw($$[$0]));
2011-11-25 13:35:20 +00:00
break;
case 144:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Parens($$[$0-1]));
break;
case 145:this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Parens($$[$0-2]));
break;
case 146:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.While($$[$0]));
break;
case 147:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.While($$[$0-2], {
2010-12-20 01:04:49 +00:00
guard: $$[$0]
}));
2010-02-11 04:24:05 +00:00
break;
case 148:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.While($$[$0], {
invert: true
}));
break;
case 149:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.While($$[$0-2], {
invert: true,
2010-12-20 01:04:49 +00:00
guard: $$[$0]
}));
break;
case 150:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0-1].addBody($$[$0]));
break;
case 151:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0].addBody(yy.addLocationDataFn(_$[$0-1])(yy.Block.wrap([$$[$0-1]]))));
break;
case 152:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0].addBody(yy.addLocationDataFn(_$[$0-1])(yy.Block.wrap([$$[$0-1]]))));
2010-10-04 20:53:32 +00:00
break;
case 153:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])($$[$0]);
2011-11-25 13:35:20 +00:00
break;
case 154:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.While(yy.addLocationDataFn(_$[$0-1])(new yy.Literal('true'))).addBody($$[$0]));
2011-12-14 23:31:20 +00:00
break;
case 155:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.While(yy.addLocationDataFn(_$[$0-1])(new yy.Literal('true'))).addBody(yy.addLocationDataFn(_$[$0])(yy.Block.wrap([$$[$0]]))));
break;
case 156:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.For($$[$0-1], $$[$0]));
break;
case 157:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.For($$[$0-1], $$[$0]));
break;
case 158:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.For($$[$0], $$[$0-1]));
break;
case 159:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])({
source: yy.addLocationDataFn(_$[$0])(new yy.Value($$[$0]))
});
break;
case 160:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])((function () {
2010-12-20 01:04:49 +00:00
$$[$0].own = $$[$0-1].own;
$$[$0].name = $$[$0-1][0];
$$[$0].index = $$[$0-1][1];
2010-12-20 01:04:49 +00:00
return $$[$0];
}()));
break;
case 161:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0]);
break;
case 162:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])((function () {
2010-12-20 01:04:49 +00:00
$$[$0].own = true;
return $$[$0];
}()));
break;
case 163:this.$ = $$[$0];
break;
case 164:this.$ = $$[$0];
break;
case 165:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value($$[$0]));
break;
case 166:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value($$[$0]));
break;
case 167:this.$ = yy.addLocationDataFn(_$[$0], _$[$0])([$$[$0]]);
break;
case 168:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([$$[$0-2], $$[$0]]);
2011-12-14 23:31:20 +00:00
break;
case 169:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])({
2010-12-20 01:04:49 +00:00
source: $$[$0]
});
2010-02-11 04:24:05 +00:00
break;
case 170:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])({
2010-12-20 01:04:49 +00:00
source: $$[$0],
2010-11-20 21:25:22 +00:00
object: true
});
2010-11-20 21:25:22 +00:00
break;
case 171:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])({
2010-12-20 01:04:49 +00:00
source: $$[$0-2],
guard: $$[$0]
});
2010-02-11 04:24:05 +00:00
break;
case 172:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])({
2010-12-20 01:04:49 +00:00
source: $$[$0-2],
guard: $$[$0],
2010-11-20 21:25:22 +00:00
object: true
});
break;
case 173:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])({
2010-12-20 01:04:49 +00:00
source: $$[$0-2],
step: $$[$0]
});
break;
case 174:this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])({
2010-12-20 01:04:49 +00:00
source: $$[$0-4],
guard: $$[$0-2],
step: $$[$0]
});
2010-02-11 04:24:05 +00:00
break;
case 175:this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])({
2010-12-20 01:04:49 +00:00
source: $$[$0-4],
step: $$[$0-2],
guard: $$[$0]
});
2010-02-11 04:24:05 +00:00
break;
case 176:this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Switch($$[$0-3], $$[$0-1]));
break;
case 177:this.$ = yy.addLocationDataFn(_$[$0-6], _$[$0])(new yy.Switch($$[$0-5], $$[$0-3], $$[$0-1]));
break;
case 178:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Switch(null, $$[$0-1]));
break;
case 179:this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])(new yy.Switch(null, $$[$0-3], $$[$0-1]));
2010-05-11 02:57:51 +00:00
break;
case 180:this.$ = $$[$0];
2010-05-11 02:57:51 +00:00
break;
case 181:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0-1].concat($$[$0]));
break;
case 182:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([[$$[$0-1], $$[$0]]]);
break;
case 183:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])([[$$[$0-2], $$[$0-1]]]);
2010-04-05 14:26:23 +00:00
break;
case 184:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.If($$[$0-1], $$[$0], {
type: $$[$0-2]
}));
2010-02-11 04:24:05 +00:00
break;
case 185:this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])($$[$0-4].addElse(yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.If($$[$0-1], $$[$0], {
type: $$[$0-2]
}))));
2010-02-11 04:24:05 +00:00
break;
case 186:this.$ = $$[$0];
2010-02-11 04:24:05 +00:00
break;
case 187:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-2].addElse($$[$0]));
2010-02-11 04:24:05 +00:00
break;
case 188:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.If($$[$0], yy.addLocationDataFn(_$[$0-2])(yy.Block.wrap([$$[$0-2]])), {
type: $$[$0-1],
statement: true
}));
2010-02-11 04:24:05 +00:00
break;
case 189:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.If($$[$0], yy.addLocationDataFn(_$[$0-2])(yy.Block.wrap([$$[$0-2]])), {
type: $$[$0-1],
2010-04-27 23:35:15 +00:00
statement: true
}));
2010-04-27 23:35:15 +00:00
break;
case 190:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op($$[$0-1], $$[$0]));
2010-11-13 23:13:09 +00:00
break;
case 191:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op($$[$0-1], $$[$0]));
break;
case 192:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('-', $$[$0]));
2010-11-13 23:13:09 +00:00
break;
case 193:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('+', $$[$0]));
break;
case 194:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('--', $$[$0]));
break;
case 195:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('++', $$[$0]));
break;
case 196:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('--', $$[$0-1], null, true));
2011-12-14 23:31:20 +00:00
break;
case 197:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('++', $$[$0-1], null, true));
break;
case 198:this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Existence($$[$0-1]));
break;
case 199:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op('+', $$[$0-2], $$[$0]));
break;
case 200:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op('-', $$[$0-2], $$[$0]));
break;
case 201:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op($$[$0-1], $$[$0-2], $$[$0]));
break;
case 202:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op($$[$0-1], $$[$0-2], $$[$0]));
break;
case 203:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op($$[$0-1], $$[$0-2], $$[$0]));
2013-12-20 02:08:25 +00:00
break;
case 204:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op($$[$0-1], $$[$0-2], $$[$0]));
break;
case 205:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op($$[$0-1], $$[$0-2], $$[$0]));
2013-12-20 02:08:25 +00:00
break;
case 206:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])((function () {
2010-12-20 01:04:49 +00:00
if ($$[$0-1].charAt(0) === '!') {
2013-02-28 13:37:30 +00:00
return new yy.Op($$[$0-1].slice(1), $$[$0-2], $$[$0]).invert();
} else {
2013-02-28 13:37:30 +00:00
return new yy.Op($$[$0-1], $$[$0-2], $$[$0]);
}
}()));
2010-08-18 01:31:32 +00:00
break;
case 207:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Assign($$[$0-2], $$[$0], $$[$0-1]));
2010-11-09 05:26:31 +00:00
break;
case 208:this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Assign($$[$0-4], $$[$0-1], $$[$0-3]));
break;
case 209:this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Assign($$[$0-3], $$[$0], $$[$0-2]));
break;
case 210:this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Extends($$[$0-2], $$[$0]));
2010-08-21 12:56:25 +00:00
break;
}
},
table: [{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:63,28:[1,74],29:48,30:[1,72],31:[1,73],32:22,33:[1,49],34:[1,50],35:[1,51],36:[1,52],37:[1,53],38:[1,54],39:21,44:64,45:[1,44],46:[1,45],47:[1,27],50:28,51:[1,59],52:[1,60],53:[1,61],54:[1,62],60:46,61:47,63:35,65:23,66:24,67:25,78:[1,71],81:[1,42],85:[1,26],90:[1,57],91:[1,58],92:[1,56],98:[1,37],102:[1,43],103:[1,55],105:38,106:[1,66],108:[1,67],109:39,110:[1,68],111:40,112:[1,69],113:70,121:[1,41],126:36,127:[1,65],129:[1,29],130:[1,30],131:[1,31],132:[1,32],133:[1,33],134:[1,34]},{1:[3]},{1:[2,2],6:[1,75]},{1:[2,3],6:[2,3],26:[2,3],104:[2,3]},{1:[2,6],6:[2,6],26:[2,6],104:[2,6],105:86,106:[1,66],108:[1,67],111:87,112:[1,69],113:70,128:[1,85],131:[1,78],132:[1,77],135:[1,76],136:[1,79],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,7],6:[2,7],26:[2,7],104:[2,7],105:89,106:[1,66],108:[1,67],111:90,112:[1,69],113:70,128:[1,88]},{1:[2,11],6:[2,11],25:[2,11],26:[2,11],49:[2,11],56:[2,11],59:[2,11],64:92,68:[1,94],69:[1,95],70:[1,96],71:[1,97],72:98,73:[1,99],75:[2,11],76:[1,100],80:[2,11],83:91,86:[1,93],87:[2,110],88:[2,11],93:[2,11],95:[2,11],104:[2,11],106:[2,11],107:[2,11],108:[2,11],112:[2,11],120:[2,11],128:[2,11],131:[2,11],132:[2,11],135:[2,11],136:[2,11],137:[2,11],138:[2,11],139:[2,11],140:[2,11],141:[2,11]},{1:[2,12],6:[2,12],25:[2,12],26:[2,12],49:[2,12],56:[2,12],59:[2,12],64:102,68:[1,94],69:[1,95],70:[1,96],71:[1,97],72:98,73:[1,99],75:[2,12],76:[1,100],80:[2,12],83:101,86:[1,93],87:[2,110],88:[2,12],93:[2,12],95:[2,12],104:[2,12],106:[2,12],107:[2,12],108:[2,12],112:[2,12],120:[2,12],128:[2,12],131:[2,12],132:[2,12],135:[2,12],136:[2,12],137:[2,12],138:[2,12],139:[2,12],140:[2,12],141:[2,12]},{1:[2,13],6:[2,13],25:[2,13],26:[2,13],49:[2,13],56:[2,13],59:[2,13],75:[2,13],80:[2,13],88:[2,13],93:[2,13],95:[2,13],104:[2,13],106:[2,13],107:[2,13],108:[2,13],112:[2,13],120:[2,13],128:[2,13],131:[2,13],132:[2,13],135:[2,13],136:[2,13],137:[2,13],138:[2,13],139:[2,13],140:[2,13],141:[2,13]},{1:[2,14],6:[2,14],25:[2,14],26:[2,14],49:[2,14],56:[2,14],59:[2,14],75:[2,14],80:[2,14],88:[2,14],93:[2,14],95:[2,14],104:[2,14],106:[2,14],107:[2,14],108:[2,14],112:[2,14],120:[2,14],128:[2,14],131:[2,14],132:[2,14],135:[2,14],136:[2,14],137:[2,14],138:[2,14],139:[2,14],140:[2,14],141:[2,14]},{1:[2,15],6:[2,15],25:[2,15],26:[2,15],49:[2,15],56:[2,15],59:[2,15],75:[2,15],80:[2,15],88:[2,15],93:[2,15],95:[2,15],104:[2,15],106:[2,15],107:[2,15],108:[2,15],112:[2,15],120:[2,15],128:[2,15],131:[2,15],132:[2,15],135:[2,15],136:[2,15],137:[2,15],138:[2,15],139:[2,15],140:[2,15],141:[2,15]},{1:[2,16],6:[2,16],25:[2,16],26:[2,16],49:[2,16],56:[2,16],59:[2,16],75:[2,16],80:[2,16],88:[2,16],93:[2,16],95:[2,16],104:[2,16],106:[2,16],107:[2,16],108:[2,16],112:[2,16],120:[2,16],128:[2,16],131:[2,16],132:[2,16],135:[2,16],136:[2,16],137:[2,16],138:[2,16],139:[2,16],140:[2,16],141:[2,16]},{1:[2,17],6:[2,17],25:[2,17],26:[2,17],49:[2,17],56:[2,17],59:[2,17],75:[2,17],80:[2,17],88:[2,17],93:[2,17],95:[2,17],104:[2,17],106:[2,17],107:[2,17],108:[2,17],112:[2,17],120:[2,17],128:[2,17],131:[2,17],132:[2,17],135:[2,17],136:[2,17],137:[2,17],138:[2,17],139:[2,17],140:[2,17],141:[2,17]},{1:[2,18],6:[2,18],25:[2,18],26:[2,18],49:[2,18],56:[2,18],59:[2,18],75:[2,18],80:[2,18],88:[2,18],93:[2,18],95:[2,18],104:[2,18],106:[2,18],107:[2,18],108:[2,18],112:[2,18],120:[2,18],128:[2,18],131:[2,18],132:[2,18],135:[2,18],136:[2,18],137:[2,18],138:[2,18],139:[2,18],140:[2,18],141:[2,18]},{1:[2,19],6:[2,19],25:[2,19],26:[2,19],49:[2,19],56:[2,19],59:[2,19],75:[2,19],80:[2,19],88:[2,19],93:[2,19],95:[2,19],104:[2,19],106:[2,19],107:[2,19],108:[2,19],112:[2,19],120:[2,19],128:[2,19],131:[2,19],132:[2,19],135:[2,19],136:[2,19],137:[2,19],138:[2,19],139:[2,19],140:[2,19],141:[2,19]},{1:[2,20],6:[2,20],25:[2,20],26:[2,20],49:[2,20],56:[2,20],59:[2,20],75:[2,20],80:[2,20],88:[2,20],93:[2,20],95:[2,20],104:[2,20],106:[2,20],107:[2,20],108:[2,20],112:[2,20],120:[2,20],128:[2,20],131:[2,20],132:[2,20],135:[2,20],136:[2,20],137:
defaultActions: {59:[2,50],60:[2,51],61:[2,52],62:[2,53],93:[2,111],194:[2,91]},
2010-02-11 04:24:05 +00:00
parseError: function parseError(str, hash) {
if (hash.recoverable) {
this.trace(str);
} else {
throw new Error(str);
}
2010-02-11 04:24:05 +00:00
},
parse: function parse(input) {
var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
2013-12-20 02:08:25 +00:00
var args = lstack.slice.call(arguments, 1);
2010-02-11 04:24:05 +00:00
this.lexer.setInput(input);
this.lexer.yy = this.yy;
this.yy.lexer = this.lexer;
this.yy.parser = this;
if (typeof this.lexer.yylloc == 'undefined') {
this.lexer.yylloc = {};
}
var yyloc = this.lexer.yylloc;
lstack.push(yyloc);
var ranges = this.lexer.options && this.lexer.options.ranges;
if (typeof this.yy.parseError === 'function') {
2010-12-20 01:04:49 +00:00
this.parseError = this.yy.parseError;
} else {
this.parseError = Object.getPrototypeOf(this).parseError;
}
function popStack(n) {
stack.length = stack.length - 2 * n;
vstack.length = vstack.length - n;
lstack.length = lstack.length - n;
}
2010-02-11 04:24:05 +00:00
function lex() {
var token;
token = self.lexer.lex() || EOF;
if (typeof token !== 'number') {
token = self.symbols_[token] || token;
2010-02-11 04:24:05 +00:00
}
return token;
}
var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
2010-02-11 04:24:05 +00:00
while (true) {
state = stack[stack.length - 1];
if (this.defaultActions[state]) {
action = this.defaultActions[state];
} else {
if (symbol === null || typeof symbol == 'undefined') {
symbol = lex();
}
action = table[state] && table[state][symbol];
}
if (typeof action === 'undefined' || !action.length || !action[0]) {
var errStr = '';
expected = [];
for (p in table[state]) {
if (this.terminals_[p] && p > TERROR) {
expected.push('\'' + this.terminals_[p] + '\'');
}
}
if (this.lexer.showPosition) {
errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + this.lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\'';
} else {
errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\'');
}
this.parseError(errStr, {
text: this.lexer.match,
token: this.terminals_[symbol] || symbol,
line: this.lexer.yylineno,
loc: yyloc,
expected: expected
});
}
if (action[0] instanceof Array && action.length > 1) {
throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);
}
switch (action[0]) {
case 1:
stack.push(symbol);
vstack.push(this.lexer.yytext);
lstack.push(this.lexer.yylloc);
stack.push(action[1]);
symbol = null;
if (!preErrorSymbol) {
yyleng = this.lexer.yyleng;
yytext = this.lexer.yytext;
yylineno = this.lexer.yylineno;
yyloc = this.lexer.yylloc;
if (recovering > 0) {
recovering--;
}
} else {
symbol = preErrorSymbol;
preErrorSymbol = null;
2010-02-13 23:19:59 +00:00
}
break;
case 2:
len = this.productions_[action[1]][1];
yyval.$ = vstack[vstack.length - len];
yyval._$ = {
first_line: lstack[lstack.length - (len || 1)].first_line,
last_line: lstack[lstack.length - 1].last_line,
first_column: lstack[lstack.length - (len || 1)].first_column,
last_column: lstack[lstack.length - 1].last_column
};
if (ranges) {
yyval._$.range = [
lstack[lstack.length - (len || 1)].range[0],
lstack[lstack.length - 1].range[1]
];
}
2013-12-20 02:08:25 +00:00
r = this.performAction.apply(yyval, [
yytext,
yyleng,
yylineno,
this.yy,
action[1],
vstack,
lstack
].concat(args));
if (typeof r !== 'undefined') {
return r;
}
if (len) {
stack = stack.slice(0, -1 * len * 2);
vstack = vstack.slice(0, -1 * len);
lstack = lstack.slice(0, -1 * len);
}
stack.push(this.productions_[action[1]][0]);
vstack.push(yyval.$);
lstack.push(yyval._$);
newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
stack.push(newState);
break;
case 3:
return true;
}
2010-01-31 04:17:36 +00:00
}
2010-02-11 04:24:05 +00:00
return true;
}};
2013-12-20 02:08:25 +00:00
function Parser () {
this.yy = {};
}
Parser.prototype = parser;parser.Parser = Parser;
return new Parser;
2010-02-11 04:24:05 +00:00
})();
if (typeof require !== 'undefined' && typeof exports !== 'undefined') {
2010-02-11 04:24:05 +00:00
exports.parser = parser;
exports.Parser = parser.Parser;
2013-02-28 13:37:30 +00:00
exports.parse = function () { return parser.parse.apply(parser, arguments); };
2010-02-11 04:24:05 +00:00
exports.main = function commonjsMain(args) {
2013-02-28 13:37:30 +00:00
if (!args[1]) {
console.log('Usage: '+args[0]+' FILE');
process.exit(1);
}
2013-02-28 13:37:30 +00:00
var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
return exports.parser.parse(source);
2013-02-28 13:37:30 +00:00
};
if (typeof module !== 'undefined' && require.main === module) {
2013-02-28 13:37:30 +00:00
exports.main(process.argv.slice(1));
2010-02-11 04:24:05 +00:00
}
}