UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1 lines 34.6 kB
{"version":3,"sources":["lexer.js"],"names":[],"mappings":"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","file":"angular2/src/change_detection/parser/lexer.js","sourcesContent":["import {Injectable} from 'angular2/di';\nimport {List, ListWrapper, SetWrapper} from \"angular2/src/facade/collection\";\nimport {int, NumberWrapper, StringJoiner, StringWrapper} from \"angular2/src/facade/lang\";\n\nexport const TOKEN_TYPE_CHARACTER = 1;\nexport const TOKEN_TYPE_IDENTIFIER = 2;\nexport const TOKEN_TYPE_KEYWORD = 3;\nexport const TOKEN_TYPE_STRING = 4;\nexport const TOKEN_TYPE_OPERATOR = 5;\nexport const TOKEN_TYPE_NUMBER = 6;\n\n@Injectable()\nexport class Lexer {\n text:string;\n tokenize(text:string):List {\n var scanner = new _Scanner(text);\n var tokens = [];\n var token = scanner.scanToken();\n while (token != null) {\n ListWrapper.push(tokens, token);\n token = scanner.scanToken();\n }\n return tokens;\n }\n}\n\nexport class Token {\n index:int;\n type:int;\n _numValue:number;\n _strValue:string;\n constructor(index:int, type:int, numValue:number, strValue:string) {\n /**\n * NOTE: To ensure that this constructor creates the same hidden class each time, ensure that\n * all the fields are assigned to in the exact same order in each run of this constructor.\n */\n this.index = index;\n this.type = type;\n this._numValue = numValue;\n this._strValue = strValue;\n }\n\n isCharacter(code:int):boolean {\n return (this.type == TOKEN_TYPE_CHARACTER && this._numValue == code);\n }\n\n isNumber():boolean {\n return (this.type == TOKEN_TYPE_NUMBER);\n }\n\n isString():boolean {\n return (this.type == TOKEN_TYPE_STRING);\n }\n\n isOperator(operater:string):boolean {\n return (this.type == TOKEN_TYPE_OPERATOR && this._strValue == operater);\n }\n\n isIdentifier():boolean {\n return (this.type == TOKEN_TYPE_IDENTIFIER);\n }\n\n isKeyword():boolean {\n return (this.type == TOKEN_TYPE_KEYWORD);\n }\n\n isKeywordVar():boolean {\n return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == \"var\");\n }\n\n isKeywordNull():boolean {\n return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == \"null\");\n }\n\n isKeywordUndefined():boolean {\n return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == \"undefined\");\n }\n\n isKeywordTrue():boolean {\n return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == \"true\");\n }\n\n isKeywordFalse():boolean {\n return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == \"false\");\n }\n\n toNumber():number {\n // -1 instead of NULL ok?\n return (this.type == TOKEN_TYPE_NUMBER) ? this._numValue : -1;\n }\n\n toString():string {\n var type:int = this.type;\n if (type >= TOKEN_TYPE_CHARACTER && type <= TOKEN_TYPE_STRING) {\n return this._strValue;\n } else if (type == TOKEN_TYPE_NUMBER) {\n return this._numValue.toString();\n } else {\n return null;\n }\n }\n}\n\nfunction newCharacterToken(index:int, code:int):Token {\n return new Token(index, TOKEN_TYPE_CHARACTER, code, StringWrapper.fromCharCode(code));\n}\n\nfunction newIdentifierToken(index:int, text:string):Token {\n return new Token(index, TOKEN_TYPE_IDENTIFIER, 0, text);\n}\n\nfunction newKeywordToken(index:int, text:string):Token {\n return new Token(index, TOKEN_TYPE_KEYWORD, 0, text);\n}\n\nfunction newOperatorToken(index:int, text:string):Token {\n return new Token(index, TOKEN_TYPE_OPERATOR, 0, text);\n}\n\nfunction newStringToken(index:int, text:string):Token {\n return new Token(index, TOKEN_TYPE_STRING, 0, text);\n}\n\nfunction newNumberToken(index:int, n:number):Token {\n return new Token(index, TOKEN_TYPE_NUMBER, n, \"\");\n}\n\n\nexport var EOF:Token = new Token(-1, 0, 0, \"\");\n\nexport const $EOF = 0;\nexport const $TAB = 9;\nexport const $LF = 10;\nexport const $VTAB = 11;\nexport const $FF = 12;\nexport const $CR = 13;\nexport const $SPACE = 32;\nexport const $BANG = 33;\nexport const $DQ = 34;\nexport const $HASH = 35;\nexport const $$ = 36;\nexport const $PERCENT = 37;\nexport const $AMPERSAND = 38;\nexport const $SQ = 39;\nexport const $LPAREN = 40;\nexport const $RPAREN = 41;\nexport const $STAR = 42;\nexport const $PLUS = 43;\nexport const $COMMA = 44;\nexport const $MINUS = 45;\nexport const $PERIOD = 46;\nexport const $SLASH = 47;\nexport const $COLON = 58;\nexport const $SEMICOLON = 59;\nexport const $LT = 60;\nexport const $EQ = 61;\nexport const $GT = 62;\nexport const $QUESTION = 63;\n\nconst $0 = 48;\nconst $9 = 57;\n\nconst $A = 65, $B = 66, $C = 67, $D = 68, $E = 69, $F = 70, $G = 71, $H = 72,\n $I = 73, $J = 74, $K = 75, $L = 76, $M = 77, $N = 78, $O = 79, $P = 80,\n $Q = 81, $R = 82, $S = 83, $T = 84, $U = 85, $V = 86, $W = 87, $X = 88,\n $Y = 89, $Z = 90;\n\nexport const $LBRACKET = 91;\nexport const $BACKSLASH = 92;\nexport const $RBRACKET = 93;\nconst $CARET = 94;\nconst $_ = 95;\n\nconst $a = 97, $b = 98, $c = 99, $d = 100, $e = 101, $f = 102, $g = 103,\n $h = 104, $i = 105, $j = 106, $k = 107, $l = 108, $m = 109, $n = 110,\n $o = 111, $p = 112, $q = 113, $r = 114, $s = 115, $t = 116, $u = 117,\n $v = 118, $w = 119, $x = 120, $y = 121, $z = 122;\n\nexport const $LBRACE = 123;\nexport const $BAR = 124;\nexport const $RBRACE = 125;\nconst $TILDE = 126;\nconst $NBSP = 160;\n\n\nexport class ScannerError extends Error {\n message:string;\n constructor(message) {\n super();\n this.message = message;\n }\n\n toString() {\n return this.message;\n }\n}\n\nclass _Scanner {\n input:string;\n length:int;\n peek:int;\n index:int;\n\n constructor(input:string) {\n this.input = input;\n this.length = input.length;\n this.peek = 0;\n this.index = -1;\n this.advance();\n }\n\n advance() {\n this.peek = ++this.index >= this.length ? $EOF : StringWrapper.charCodeAt(this.input, this.index);\n }\n\n scanToken():Token {\n var input = this.input,\n length = this.length,\n peek = this.peek,\n index = this.index;\n\n // Skip whitespace.\n while (peek <= $SPACE) {\n if (++index >= length) {\n peek = $EOF;\n break;\n } else {\n peek = StringWrapper.charCodeAt(input, index);\n }\n }\n\n this.peek = peek;\n this.index = index;\n\n if (index >= length) {\n return null;\n }\n\n // Handle identifiers and numbers.\n if (isIdentifierStart(peek)) return this.scanIdentifier();\n if (isDigit(peek)) return this.scanNumber(index);\n\n var start:int = index;\n switch (peek) {\n case $PERIOD:\n this.advance();\n return isDigit(this.peek) ? this.scanNumber(start) :\n newCharacterToken(start, $PERIOD);\n case $LPAREN: case $RPAREN:\n case $LBRACE: case $RBRACE:\n case $LBRACKET: case $RBRACKET:\n case $COMMA:\n case $COLON:\n case $SEMICOLON:\n return this.scanCharacter(start, peek);\n case $SQ:\n case $DQ:\n return this.scanString();\n case $HASH:\n return this.scanOperator(start, StringWrapper.fromCharCode(peek));\n case $PLUS:\n case $MINUS:\n case $STAR:\n case $SLASH:\n case $PERCENT:\n case $CARET:\n case $QUESTION:\n return this.scanOperator(start, StringWrapper.fromCharCode(peek));\n case $LT:\n case $GT:\n case $BANG:\n case $EQ:\n return this.scanComplexOperator(start, $EQ, StringWrapper.fromCharCode(peek), '=');\n case $AMPERSAND:\n return this.scanComplexOperator(start, $AMPERSAND, '&', '&');\n case $BAR:\n return this.scanComplexOperator(start, $BAR, '|', '|');\n case $TILDE:\n return this.scanComplexOperator(start, $SLASH, '~', '/');\n case $NBSP:\n while (isWhitespace(this.peek)) this.advance();\n return this.scanToken();\n }\n\n this.error(`Unexpected character [${StringWrapper.fromCharCode(peek)}]`, 0);\n return null;\n }\n\n scanCharacter(start:int, code:int):Token {\n assert(this.peek == code);\n this.advance();\n return newCharacterToken(start, code);\n }\n\n\n scanOperator(start:int, str:string):Token {\n assert(this.peek == StringWrapper.charCodeAt(str, 0));\n assert(SetWrapper.has(OPERATORS, str));\n this.advance();\n return newOperatorToken(start, str);\n }\n\n scanComplexOperator(start:int, code:int, one:string, two:string):Token {\n assert(this.peek == StringWrapper.charCodeAt(one, 0));\n this.advance();\n var str:string = one;\n if (this.peek == code) {\n this.advance();\n str += two;\n }\n assert(SetWrapper.has(OPERATORS, str));\n return newOperatorToken(start, str);\n }\n\n scanIdentifier():Token {\n assert(isIdentifierStart(this.peek));\n var start:int = this.index;\n this.advance();\n while (isIdentifierPart(this.peek)) this.advance();\n var str:string = this.input.substring(start, this.index);\n if (SetWrapper.has(KEYWORDS, str)) {\n return newKeywordToken(start, str);\n } else {\n return newIdentifierToken(start, str);\n }\n }\n\n scanNumber(start:int):Token {\n assert(isDigit(this.peek));\n var simple:boolean = (this.index === start);\n this.advance(); // Skip initial digit.\n while (true) {\n if (isDigit(this.peek)) {\n // Do nothing.\n } else if (this.peek == $PERIOD) {\n simple = false;\n } else if (isExponentStart(this.peek)) {\n this.advance();\n if (isExponentSign(this.peek)) this.advance();\n if (!isDigit(this.peek)) this.error('Invalid exponent', -1);\n simple = false;\n } else {\n break;\n }\n this.advance();\n }\n var str:string = this.input.substring(start, this.index);\n // TODO\n var value:number = simple ? NumberWrapper.parseIntAutoRadix(str) : NumberWrapper.parseFloat(str);\n return newNumberToken(start, value);\n }\n\n scanString():Token {\n assert(this.peek == $SQ || this.peek == $DQ);\n var start:int = this.index;\n var quote:int = this.peek;\n this.advance(); // Skip initial quote.\n\n var buffer:StringJoiner;\n var marker:int = this.index;\n var input:string = this.input;\n\n while (this.peek != quote) {\n if (this.peek == $BACKSLASH) {\n if (buffer == null) buffer = new StringJoiner();\n buffer.add(input.substring(marker, this.index));\n this.advance();\n var unescapedCode:int;\n if (this.peek == $u) {\n // 4 character hex code for unicode character.\n var hex:string = input.substring(this.index + 1, this.index + 5);\n try {\n unescapedCode = NumberWrapper.parseInt(hex, 16);\n } catch (e) {\n this.error(`Invalid unicode escape [\\\\u${hex}]`, 0);\n }\n for (var i:int = 0; i < 5; i++) {\n this.advance();\n }\n } else {\n unescapedCode = unescape(this.peek);\n this.advance();\n }\n buffer.add(StringWrapper.fromCharCode(unescapedCode));\n marker = this.index;\n } else if (this.peek == $EOF) {\n this.error('Unterminated quote', 0);\n } else {\n this.advance();\n }\n }\n\n var last:string = input.substring(marker, this.index);\n this.advance(); // Skip terminating quote.\n\n // Compute the unescaped string value.\n var unescaped:string = last;\n if (buffer != null) {\n buffer.add(last);\n unescaped = buffer.toString();\n }\n return newStringToken(start, unescaped);\n }\n\n error(message:string, offset:int) {\n var position:int = this.index + offset;\n throw new ScannerError(`Lexer Error: ${message} at column ${position} in expression [${this.input}]`);\n }\n}\n\nfunction isWhitespace(code:int):boolean {\n return (code >= $TAB && code <= $SPACE) || (code == $NBSP);\n}\n\nfunction isIdentifierStart(code:int):boolean {\n return ($a <= code && code <= $z) ||\n ($A <= code && code <= $Z) ||\n (code == $_) ||\n (code == $$);\n}\n\nfunction isIdentifierPart(code:int):boolean {\n return ($a <= code && code <= $z) ||\n ($A <= code && code <= $Z) ||\n ($0 <= code && code <= $9) ||\n (code == $_) ||\n (code == $$);\n}\n\nfunction isDigit(code:int):boolean {\n return $0 <= code && code <= $9;\n}\n\nfunction isExponentStart(code:int):boolean {\n return code == $e || code == $E;\n}\n\nfunction isExponentSign(code:int):boolean {\n return code == $MINUS || code == $PLUS;\n}\n\nfunction unescape(code:int):int {\n switch(code) {\n case $n: return $LF;\n case $f: return $FF;\n case $r: return $CR;\n case $t: return $TAB;\n case $v: return $VTAB;\n default: return code;\n }\n}\n\nvar OPERATORS = SetWrapper.createFromList([\n '+',\n '-',\n '*',\n '/',\n '~/',\n '%',\n '^',\n '=',\n '==',\n '!=',\n '<',\n '>',\n '<=',\n '>=',\n '&&',\n '||',\n '&',\n '|',\n '!',\n '?',\n '#'\n]);\n\n\nvar KEYWORDS = SetWrapper.createFromList([\n 'var',\n 'null',\n 'undefined',\n 'true',\n 'false',\n]);\n"]}