UNPKG

alloy

Version:

TiDev Titanium MVC Framework

1,648 lines (1,596 loc) 112 kB
module.exports = (function(){ /* * Generated by PEG.js 0.7.0. * * http://pegjs.majda.cz/ */ function quote(s) { /* * ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a * string literal except for the closing quote character, backslash, * carriage return, line separator, paragraph separator, and line feed. * Any character may appear in the form of an escape sequence. * * For portability, we also escape escape all control and non-ASCII * characters. Note that "\0" and "\v" escape sequences are not used * because JSHint does not like the first and IE the second. */ return '"' + s .replace(/\\/g, '\\\\') // backslash .replace(/"/g, '\\"') // closing quote character .replace(/\x08/g, '\\b') // backspace .replace(/\t/g, '\\t') // horizontal tab .replace(/\n/g, '\\n') // line feed .replace(/\f/g, '\\f') // form feed .replace(/\r/g, '\\r') // carriage return .replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g, escape) + '"'; } var result = { /* * Parses the input with a generated parser. If the parsing is successfull, * returns a value explicitly or implicitly specified by the grammar from * which the parser was generated (see |PEG.buildParser|). If the parsing is * unsuccessful, throws |PEG.parser.SyntaxError| describing the error. */ parse: function(input, startRule) { var parseFunctions = { "start": parse_start, "topobject": parse_topobject, "object": parse_object, "topmembers": parse_topmembers, "members": parse_members, "pair": parse_pair, "array": parse_array, "elements": parse_elements, "value": parse_value, "basevalue": parse_basevalue, "DollarArgs": parse_DollarArgs, "bitwise_operator": parse_bitwise_operator, "OpenParen": parse_OpenParen, "CloseParen": parse_CloseParen, "WPATH": parse_WPATH, "LocaleCall": parse_LocaleCall, "Locale": parse_Locale, "TiConstant": parse_TiConstant, "TiNS": parse_TiNS, "paramComma": parse_paramComma, "paramString": parse_paramString, "string": parse_string, "bareString": parse_bareString, "bareChar": parse_bareChar, "schars": parse_schars, "chars": parse_chars, "schar": parse_schar, "char": parse_char, "number": parse_number, "int": parse_int, "frac": parse_frac, "exp": parse_exp, "digits": parse_digits, "e": parse_e, "digit": parse_digit, "digit19": parse_digit19, "hexDigit": parse_hexDigit, "_": parse__, "__": parse___, "___": parse____, "Comma": parse_Comma, "LineTerminator": parse_LineTerminator, "LineTerminatorSequence": parse_LineTerminatorSequence, "SourceCharacter": parse_SourceCharacter, "WhiteSpace": parse_WhiteSpace, "Comment": parse_Comment, "MultiLineComment": parse_MultiLineComment, "SingleLineComment": parse_SingleLineComment, "MultiLineCommentNoLineTerminator": parse_MultiLineCommentNoLineTerminator }; if (startRule !== undefined) { if (parseFunctions[startRule] === undefined) { throw new Error("Invalid rule name: " + quote(startRule) + "."); } } else { startRule = "start"; } var pos = 0; var reportFailures = 0; var rightmostFailuresPos = 0; var rightmostFailuresExpected = []; function padLeft(input, padding, length) { var result = input; var padLength = length - input.length; for (var i = 0; i < padLength; i++) { result = padding + result; } return result; } function escape(ch) { var charCode = ch.charCodeAt(0); var escapeChar; var length; if (charCode <= 0xFF) { escapeChar = 'x'; length = 2; } else { escapeChar = 'u'; length = 4; } return '\\' + escapeChar + padLeft(charCode.toString(16).toUpperCase(), '0', length); } function matchFailed(failure) { if (pos < rightmostFailuresPos) { return; } if (pos > rightmostFailuresPos) { rightmostFailuresPos = pos; rightmostFailuresExpected = []; } rightmostFailuresExpected.push(failure); } function parse_start() { var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse___(); if (result0 !== null) { result1 = parse_topobject(); if (result1 !== null) { result2 = parse___(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, topobject) { return topobject; })(pos0, result0[1]); } if (result0 === null) { pos = pos0; } return result0; } function parse_topobject() { var result0, result1, result2, result3, result4; var pos0, pos1; pos0 = pos; pos1 = pos; if (input.charCodeAt(pos) === 123) { result0 = "{"; pos++; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"{\""); } } if (result0 !== null) { result1 = parse___(); if (result1 !== null) { if (input.charCodeAt(pos) === 125) { result2 = "}"; pos++; } else { result2 = null; if (reportFailures === 0) { matchFailed("\"}\""); } } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) { return {}; })(pos0); } if (result0 === null) { pos = pos0; } if (result0 === null) { pos0 = pos; pos1 = pos; if (input.charCodeAt(pos) === 123) { result0 = "{"; pos++; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"{\""); } } if (result0 !== null) { result1 = parse___(); if (result1 !== null) { result2 = parse_topmembers(); if (result2 !== null) { result3 = parse___(); if (result3 !== null) { if (input.charCodeAt(pos) === 125) { result4 = "}"; pos++; } else { result4 = null; if (reportFailures === 0) { matchFailed("\"}\""); } } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, topmembers) { return topmembers; })(pos0, result0[2]); } if (result0 === null) { pos = pos0; } } return result0; } function parse_object() { var result0, result1, result2, result3, result4; var pos0, pos1; pos0 = pos; pos1 = pos; if (input.charCodeAt(pos) === 123) { result0 = "{"; pos++; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"{\""); } } if (result0 !== null) { result1 = parse___(); if (result1 !== null) { if (input.charCodeAt(pos) === 125) { result2 = "}"; pos++; } else { result2 = null; if (reportFailures === 0) { matchFailed("\"}\""); } } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) { return {}; })(pos0); } if (result0 === null) { pos = pos0; } if (result0 === null) { pos0 = pos; pos1 = pos; if (input.charCodeAt(pos) === 123) { result0 = "{"; pos++; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"{\""); } } if (result0 !== null) { result1 = parse___(); if (result1 !== null) { result2 = parse_members(); if (result2 !== null) { result3 = parse___(); if (result3 !== null) { if (input.charCodeAt(pos) === 125) { result4 = "}"; pos++; } else { result4 = null; if (reportFailures === 0) { matchFailed("\"}\""); } } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, members) { return members; })(pos0, result0[2]); } if (result0 === null) { pos = pos0; } } return result0; } function parse_topmembers() { var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_pair(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse____(); if (result2 !== null) { result3 = parse_pair(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse____(); if (result2 !== null) { result3 = parse_pair(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, head, tail) { var result = {}; result[head[0]] = head[1]; for (var i = 0; i < tail.length; i++) { result[tail[i][1][0]] = tail[i][1][1]; } if (typeof result['undefined'] === 'undefined') { delete result['undefined']; } return result; })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } return result0; } function parse_members() { var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_pair(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse___(); if (result2 !== null) { if (input.charCodeAt(pos) === 44) { result3 = ","; pos++; } else { result3 = null; if (reportFailures === 0) { matchFailed("\",\""); } } if (result3 !== null) { result4 = parse___(); if (result4 !== null) { result5 = parse_pair(); result5 = result5 !== null ? result5 : ""; if (result5 !== null) { result2 = [result2, result3, result4, result5]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse___(); if (result2 !== null) { if (input.charCodeAt(pos) === 44) { result3 = ","; pos++; } else { result3 = null; if (reportFailures === 0) { matchFailed("\",\""); } } if (result3 !== null) { result4 = parse___(); if (result4 !== null) { result5 = parse_pair(); result5 = result5 !== null ? result5 : ""; if (result5 !== null) { result2 = [result2, result3, result4, result5]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, head, tail) { var result = {}; result[head[0]] = head[1]; for (var i = 0; i < tail.length; i++) { result[tail[i][3][0]] = tail[i][3][1]; } if (typeof result['undefined'] === 'undefined') { delete result['undefined']; } return result; })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } return result0; } function parse_pair() { var result0, result1, result2, result3, result4; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_string(); if (result0 === null) { result0 = parse_bareString(); } if (result0 !== null) { result1 = parse___(); if (result1 !== null) { if (input.charCodeAt(pos) === 58) { result2 = ":"; pos++; } else { result2 = null; if (reportFailures === 0) { matchFailed("\":\""); } } if (result2 !== null) { result3 = parse___(); if (result3 !== null) { result4 = parse_value(); if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, name, value) { return [name, value]; })(pos0, result0[0], result0[4]); } if (result0 === null) { pos = pos0; } return result0; } function parse_array() { var result0, result1, result2, result3, result4; var pos0, pos1; pos0 = pos; pos1 = pos; if (input.charCodeAt(pos) === 91) { result0 = "["; pos++; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"[\""); } } if (result0 !== null) { result1 = parse___(); if (result1 !== null) { if (input.charCodeAt(pos) === 93) { result2 = "]"; pos++; } else { result2 = null; if (reportFailures === 0) { matchFailed("\"]\""); } } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) { return []; })(pos0); } if (result0 === null) { pos = pos0; } if (result0 === null) { pos0 = pos; pos1 = pos; if (input.charCodeAt(pos) === 91) { result0 = "["; pos++; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"[\""); } } if (result0 !== null) { result1 = parse___(); if (result1 !== null) { result2 = parse_elements(); if (result2 !== null) { result3 = parse___(); if (result3 !== null) { if (input.charCodeAt(pos) === 93) { result4 = "]"; pos++; } else { result4 = null; if (reportFailures === 0) { matchFailed("\"]\""); } } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, elements) { return elements; })(pos0, result0[2]); } if (result0 === null) { pos = pos0; } } return result0; } function parse_elements() { var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_value(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse___(); if (result2 !== null) { if (input.charCodeAt(pos) === 44) { result3 = ","; pos++; } else { result3 = null; if (reportFailures === 0) { matchFailed("\",\""); } } if (result3 !== null) { result4 = parse___(); if (result4 !== null) { result5 = parse_value(); if (result5 !== null) { result2 = [result2, result3, result4, result5]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse___(); if (result2 !== null) { if (input.charCodeAt(pos) === 44) { result3 = ","; pos++; } else { result3 = null; if (reportFailures === 0) { matchFailed("\",\""); } } if (result3 !== null) { result4 = parse___(); if (result4 !== null) { result5 = parse_value(); if (result5 !== null) { result2 = [result2, result3, result4, result5]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, head, tail) { var result = [head]; for (var i = 0; i < tail.length; i++) { result.push(tail[i][3]); } return result; })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } return result0; } function parse_value() { var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_basevalue(); if (result0 !== null) { pos2 = pos; result2 = parse___(); if (result2 !== null) { result3 = parse_bitwise_operator(); if (result3 !== null) { result4 = parse___(); if (result4 !== null) { result5 = parse_basevalue(); if (result5 !== null) { result2 = [result2, result3, result4, result5]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } if (result2 !== null) { result1 = []; while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse___(); if (result2 !== null) { result3 = parse_bitwise_operator(); if (result3 !== null) { result4 = parse___(); if (result4 !== null) { result5 = parse_basevalue(); if (result5 !== null) { result2 = [result2, result3, result4, result5]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } } else { result1 = null; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, head, tail) { var str = processValue(head); for (var i = 0; i < tail.length; i++) { str += tail[i][1] + processValue(tail[i][3]); } return ALLOY_EXPR + str; })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } if (result0 === null) { result0 = parse_basevalue(); } return result0; } function parse_basevalue() { var result0, result1; var pos0, pos1; result0 = parse_LocaleCall(); if (result0 === null) { result0 = parse_TiConstant(); if (result0 === null) { result0 = parse_WPATH(); if (result0 === null) { result0 = parse_string(); if (result0 === null) { result0 = parse_number(); if (result0 === null) { result0 = parse_object(); if (result0 === null) { result0 = parse_array(); if (result0 === null) { pos0 = pos; pos1 = pos; if (input.substr(pos, 4) === "true") { result0 = "true"; pos += 4; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"true\""); } } if (result0 !== null) { result1 = parse___(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) { return true; })(pos0); } if (result0 === null) { pos = pos0; } if (result0 === null) { pos0 = pos; pos1 = pos; if (input.substr(pos, 5) === "false") { result0 = "false"; pos += 5; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"false\""); } } if (result0 !== null) { result1 = parse___(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) { return false; })(pos0); } if (result0 === null) { pos = pos0; } if (result0 === null) { pos0 = pos; pos1 = pos; if (input.substr(pos, 9) === "undefined") { result0 = "undefined"; pos += 9; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"undefined\""); } } if (result0 !== null) { result1 = parse___(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) { return ALLOY_EXPR + "undefined"; })(pos0); } if (result0 === null) { pos = pos0; } if (result0 === null) { pos0 = pos; pos1 = pos; if (input.substr(pos, 4) === "null") { result0 = "null"; pos += 4; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"null\""); } } if (result0 !== null) { result1 = parse___(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) { return ALLOY_EXPR + "null"; })(pos0); } if (result0 === null) { pos = pos0; } if (result0 === null) { result0 = parse_DollarArgs(); } } } } } } } } } } } return result0; } function parse_DollarArgs() { var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; if (input.substr(pos, 6) === "$.args") { result0 = "$.args"; pos += 6; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"$.args\""); } } if (result0 !== null) { pos2 = pos; if (input.charCodeAt(pos) === 46) { result2 = "."; pos++; } else { result2 = null; if (reportFailures === 0) { matchFailed("\".\""); } } if (result2 !== null) { result3 = parse_bareString(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } if (result2 !== null) { result1 = []; while (result2 !== null) { result1.push(result2); pos2 = pos; if (input.charCodeAt(pos) === 46) { result2 = "."; pos++; } else { result2 = null; if (reportFailures === 0) { matchFailed("\".\""); } } if (result2 !== null) { result3 = parse_bareString(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } } else { result1 = null; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, parts) { var args = ALLOY_EXPR + parts[0]; var len = parts[1] ? parts[1].length : 0; for (var i = 0; i < len; i++) { args += parts[1][i].join(''); } return args; })(pos0, result0); } if (result0 === null) { pos = pos0; } return result0; } function parse_bitwise_operator() { var result0; var pos0; reportFailures++; if (input.substr(pos, 2) === ">>") { result0 = ">>"; pos += 2; } else { result0 = null; if (reportFailures === 0) { matchFailed("\">>\""); } } if (result0 === null) { if (input.substr(pos, 3) === ">>>") { result0 = ">>>"; pos += 3; } else { result0 = null; if (reportFailures === 0) { matchFailed("\">>>\""); } } if (result0 === null) { if (input.substr(pos, 2) === "<<") { result0 = "<<"; pos += 2; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"<<\""); } } if (result0 === null) { if (input.substr(pos, 3) === "<<<") { result0 = "<<<"; pos += 3; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"<<<\""); } } if (result0 === null) { pos0 = pos; if (/^[&|^]/.test(input.charAt(pos))) { result0 = input.charAt(pos); pos++; } else { result0 = null; if (reportFailures === 0) { matchFailed("[&|^]"); } } if (result0 !== null) { result0 = (function(offset, op) { return op; })(pos0, result0); } if (result0 === null) { pos = pos0; } } } } } reportFailures--; if (reportFailures === 0 && result0 === null) { matchFailed("bitwise_operator"); } return result0; } function parse_OpenParen() { var result0; var pos0; pos0 = pos; if (input.charCodeAt(pos) === 40) { result0 = "("; pos++; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"(\""); } } if (result0 !== null) { result0 = (function(offset) { return '('; })(pos0); } if (result0 === null) { pos = pos0; } return result0; } function parse_CloseParen() { var result0; var pos0; pos0 = pos; if (input.charCodeAt(pos) === 41) { result0 = ")"; pos++; } else { result0 = null; if (reportFailures === 0) { matchFailed("\")\""); } } if (result0 !== null) { result0 = (function(offset) { return ')'; })(pos0); } if (result0 === null) { pos = pos0; } return result0; } function parse_WPATH() { var result0, result1, result2, result3, result4, result5, result6, result7, result8; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; if (input.substr(pos, 5) === "WPATH") { result0 = "WPATH"; pos += 5; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"WPATH\""); } } if (result0 !== null) { result1 = parse_OpenParen(); if (result1 !== null) { result2 = parse___(); if (result2 !== null) { result3 = parse_paramString(); if (result3 !== null) { result4 = parse___(); if (result4 !== null) { result5 = []; pos2 = pos; result6 = parse_paramComma(); if (result6 !== null) { result7 = parse___(); if (result7 !== null) { result8 = parse_paramString(); if (result8 !== null) { result6 = [result6, result7, result8]; } else { result6 = null; pos = pos2; } } else { result6 = null; pos = pos2; } } else { result6 = null; pos = pos2; } while (result6 !== null) { result5.push(result6); pos2 = pos; result6 = parse_paramComma(); if (result6 !== null) { result7 = parse___(); if (result7 !== null) { result8 = parse_paramString(); if (result8 !== null) { result6 = [result6, result7, result8]; } else { result6 = null; pos = pos2; } } else { result6 = null; pos = pos2; } } else { result6 = null; pos = pos2; } } if (result5 !== null) { result6 = parse___(); if (result6 !== null) { result7 = parse_CloseParen(); if (result7 !== null) { result0 = [result0, result1, result2, result3, result4, result5, result6, result7]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, param1) { return ALLOY_EXPR + 'WPATH(' + param1 + ')'; })(pos0, result0[3]); } if (result0 === null) { pos = pos0; } return result0; } function parse_LocaleCall() { var result0, result1, result2, result3, result4, result5, result6, result7; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_Locale(); if (result0 !== null) { result1 = parse_OpenParen(); if (result1 !== null) { result2 = parse___(); if (result2 !== null) { result3 = parse_paramString(); if (result3 !== null) { result4 = parse___(); if (result4 !== null) { pos2 = pos; result5 = parse_paramComma(); if (result5 !== null) { result6 = parse___(); if (result6 !== null) { result7 = parse_paramString(); if (result7 !== null) { result5 = [result5, result6, result7]; } else { result5 = null; pos = pos2; } } else { result5 = null; pos = pos2; } } else { result5 = null; pos = pos2; } result5 = result5 !== null ? result5 : ""; if (result5 !== null) { result6 = parse___(); if (result6 !== null) { result7 = parse_CloseParen(); if (result7 !== null) { result0 = [result0, result1, result2, result3, result4, result5, result6, result7]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, param1, param2) { return ALLOY_EXPR + 'L(' + param1 + (param2 ? param2.join('') : '') + ')'; })(pos0, result0[3], result0[5]); } if (result0 === null) { pos = pos0; } return result0; } function parse_Locale() { var result0, result1; var pos0; pos0 = pos; result0 = parse_TiNS(); if (result0 !== null) { if (input.substr(pos, 17) === ".Locale.getString") { result1 = ".Locale.getString"; pos += 17; } else { result1 = null; if (reportFailures === 0) { matchFailed("\".Locale.getString\""); } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } if (result0 === null) { if (input.charCodeAt(pos) === 76) { result0 = "L"; pos++; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"L\""); } } } return result0; } function parse_TiConstant() { var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_TiNS(); if (result0 !== null) { pos2 = pos; if (input.charCodeAt(pos) === 46) { result2 = "."; pos++; } else { result2 = null; if (reportFailures === 0) { matchFailed("\".\""); } } if (result2 !== null) { result3 = parse_bareString(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } if (result2 !== null) { result1 = []; while (result2 !== null) { result1.push(result2); pos2 = pos; if (input.charCodeAt(pos) === 46) { result2 = "."; pos++; } else { result2 = null; if (reportFailures === 0) { matchFailed("\".\""); } } if (result2 !== null) { result3 = parse_bareString(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } } else { result1 = null; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, parts) { var tc = ALLOY_EXPR + parts[0]; var len = parts[1] ? parts[1].length : 0; for (var i = 0; i < len; i++) { tc += parts[1][i].join(''); } return tc; })(pos0, result0); } if (result0 === null) { pos = pos0; } return result0; } function parse_TiNS() { var result0; if (input.substr(pos, 8) === "Titanium") { result0 = "Titanium"; pos += 8; } else { result0 = null; if (reportFailures === 0) { matchFailed("\"Titanium\""); } } if (result0 === null) { if (input.substr(pos, 2) === "Ti") { result0 = "Ti";