UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1 lines 39.1 kB
{"version":3,"sources":["parser.js"],"names":[],"mappings":"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","file":"angular2/src/change_detection/parser/parser.es6","sourcesContent":["import {Injectable} from 'angular2/di';\nimport {int, isBlank, isPresent, BaseException, StringWrapper, RegExpWrapper} from 'angular2/src/facade/lang';\nimport {ListWrapper, List} from 'angular2/src/facade/collection';\nimport {Lexer, EOF, Token, $PERIOD, $COLON, $SEMICOLON, $LBRACKET, $RBRACKET,\n $COMMA, $LBRACE, $RBRACE, $LPAREN, $RPAREN} from './lexer';\nimport {reflector, Reflector} from 'angular2/src/reflection/reflection';\nimport {\n AST,\n EmptyExpr,\n ImplicitReceiver,\n AccessMember,\n LiteralPrimitive,\n Expression,\n Binary,\n PrefixNot,\n Conditional,\n Pipe,\n Assignment,\n Chain,\n KeyedAccess,\n LiteralArray,\n LiteralMap,\n Interpolation,\n MethodCall,\n FunctionCall,\n TemplateBindings,\n TemplateBinding,\n ASTWithSource\n } from './ast';\n\nvar _implicitReceiver = new ImplicitReceiver();\n// TODO(tbosch): Cannot make this const/final right now because of the transpiler...\nvar INTERPOLATION_REGEXP = RegExpWrapper.create('\\\\{\\\\{(.*?)\\\\}\\\\}');\nvar QUOTE_REGEXP = RegExpWrapper.create(\"'\");\n\n@Injectable()\nexport class Parser {\n _lexer:Lexer;\n _reflector:Reflector;\n constructor(lexer:Lexer, providedReflector:Reflector = null){\n this._lexer = lexer;\n this._reflector = isPresent(providedReflector) ? providedReflector : reflector;\n }\n\n parseAction(input:string, location:any):ASTWithSource {\n var tokens = this._lexer.tokenize(input);\n var ast = new _ParseAST(input, location, tokens, this._reflector, true).parseChain();\n return new ASTWithSource(ast, input, location);\n }\n\n parseBinding(input:string, location:any):ASTWithSource {\n var tokens = this._lexer.tokenize(input);\n var ast = new _ParseAST(input, location, tokens, this._reflector, false).parseChain();\n return new ASTWithSource(ast, input, location);\n }\n\n addPipes(bindingAst:ASTWithSource, pipes:List<String>):ASTWithSource {\n if (ListWrapper.isEmpty(pipes)) return bindingAst;\n\n var res = ListWrapper.reduce(pipes,\n (result, currentPipeName) => new Pipe(result, currentPipeName, [], false),\n bindingAst.ast);\n return new ASTWithSource(res, bindingAst.source, bindingAst.location);\n }\n\n parseTemplateBindings(input:string, location:any):List<TemplateBinding> {\n var tokens = this._lexer.tokenize(input);\n return new _ParseAST(input, location, tokens, this._reflector, false).parseTemplateBindings();\n }\n\n parseInterpolation(input:string, location:any):ASTWithSource {\n var parts = StringWrapper.split(input, INTERPOLATION_REGEXP);\n if (parts.length <= 1) {\n return null;\n }\n var strings = [];\n var expressions = [];\n\n for (var i=0; i<parts.length; i++) {\n var part = parts[i];\n if (i%2 === 0) {\n // fixed string\n ListWrapper.push(strings, part);\n } else {\n var tokens = this._lexer.tokenize(part);\n var ast = new _ParseAST(input, location, tokens, this._reflector, false).parseChain();\n ListWrapper.push(expressions, ast);\n }\n }\n return new ASTWithSource(new Interpolation(strings, expressions), input, location);\n }\n\n wrapLiteralPrimitive(input:string, location:any):ASTWithSource {\n return new ASTWithSource(new LiteralPrimitive(input), input, location);\n }\n\n}\n\nclass _ParseAST {\n input:string;\n location:any;\n tokens:List<Token>;\n reflector:Reflector;\n parseAction:boolean;\n index:int;\n constructor(input:string, location:any, tokens:List, reflector:Reflector, parseAction:boolean) {\n this.input = input;\n this.location = location;\n this.tokens = tokens;\n this.index = 0;\n this.reflector = reflector;\n this.parseAction = parseAction;\n }\n\n peek(offset:int):Token {\n var i = this.index + offset;\n return i < this.tokens.length ? this.tokens[i] : EOF;\n }\n\n get next():Token {\n return this.peek(0);\n }\n\n get inputIndex():int {\n return (this.index < this.tokens.length) ? this.next.index : this.input.length;\n }\n\n advance() {\n this.index ++;\n }\n\n optionalCharacter(code:int):boolean {\n if (this.next.isCharacter(code)) {\n this.advance();\n return true;\n } else {\n return false;\n }\n }\n\n optionalKeywordVar():boolean {\n if (this.peekKeywordVar()) {\n this.advance();\n return true;\n } else {\n return false;\n }\n }\n\n peekKeywordVar():boolean {\n return this.next.isKeywordVar() || this.next.isOperator('#');\n }\n\n expectCharacter(code:int) {\n if (this.optionalCharacter(code)) return;\n this.error(`Missing expected ${StringWrapper.fromCharCode(code)}`);\n }\n\n\n optionalOperator(op:string):boolean {\n if (this.next.isOperator(op)) {\n this.advance();\n return true;\n } else {\n return false;\n }\n }\n\n expectOperator(operator:string) {\n if (this.optionalOperator(operator)) return;\n this.error(`Missing expected operator ${operator}`);\n }\n\n expectIdentifierOrKeyword():string {\n var n = this.next;\n if (!n.isIdentifier() && !n.isKeyword()) {\n this.error(`Unexpected token ${n}, expected identifier or keyword`)\n }\n this.advance();\n return n.toString();\n }\n\n expectIdentifierOrKeywordOrString():string {\n var n = this.next;\n if (!n.isIdentifier() && !n.isKeyword() && !n.isString()) {\n this.error(`Unexpected token ${n}, expected identifier, keyword, or string`)\n }\n this.advance();\n return n.toString();\n }\n\n parseChain():AST {\n var exprs = [];\n while (this.index < this.tokens.length) {\n var expr = this.parsePipe();\n ListWrapper.push(exprs, expr);\n\n if (this.optionalCharacter($SEMICOLON)) {\n if (! this.parseAction) {\n this.error(\"Binding expression cannot contain chained expression\");\n }\n while (this.optionalCharacter($SEMICOLON)){} //read all semicolons\n } else if (this.index < this.tokens.length) {\n this.error(`Unexpected token '${this.next}'`);\n }\n }\n if (exprs.length == 0) return new EmptyExpr();\n if (exprs.length == 1) return exprs[0];\n return new Chain(exprs);\n }\n\n parsePipe() {\n var result = this.parseExpression();\n if (this.optionalOperator(\"|\")) {\n return this.parseInlinedPipe(result);\n } else {\n return result;\n }\n }\n\n parseExpression() {\n var start = this.inputIndex;\n var result = this.parseConditional();\n\n while (this.next.isOperator('=')) {\n if (!result.isAssignable) {\n var end = this.inputIndex;\n var expression = this.input.substring(start, end);\n this.error(`Expression ${expression} is not assignable`);\n }\n\n if (!this.parseAction) {\n this.error(\"Binding expression cannot contain assignments\");\n }\n\n this.expectOperator('=');\n result = new Assignment(result, this.parseConditional());\n }\n\n return result;\n }\n\n parseConditional() {\n var start = this.inputIndex;\n var result = this.parseLogicalOr();\n\n if (this.optionalOperator('?')) {\n var yes = this.parseExpression();\n if (!this.optionalCharacter($COLON)) {\n var end = this.inputIndex;\n var expression = this.input.substring(start, end);\n this.error(`Conditional expression ${expression} requires all 3 expressions`);\n }\n var no = this.parseExpression();\n return new Conditional(result, yes, no);\n } else {\n return result;\n }\n }\n\n parseLogicalOr() {\n // '||'\n var result = this.parseLogicalAnd();\n while (this.optionalOperator('||')) {\n result = new Binary('||', result, this.parseLogicalAnd());\n }\n return result;\n }\n\n parseLogicalAnd() {\n // '&&'\n var result = this.parseEquality();\n while (this.optionalOperator('&&')) {\n result = new Binary('&&', result, this.parseEquality());\n }\n return result;\n }\n\n parseEquality() {\n // '==','!='\n var result = this.parseRelational();\n while (true) {\n if (this.optionalOperator('==')) {\n result = new Binary('==', result, this.parseRelational());\n } else if (this.optionalOperator('!=')) {\n result = new Binary('!=', result, this.parseRelational());\n } else {\n return result;\n }\n }\n }\n\n parseRelational() {\n // '<', '>', '<=', '>='\n var result = this.parseAdditive();\n while (true) {\n if (this.optionalOperator('<')) {\n result = new Binary('<', result, this.parseAdditive());\n } else if (this.optionalOperator('>')) {\n result = new Binary('>', result, this.parseAdditive());\n } else if (this.optionalOperator('<=')) {\n result = new Binary('<=', result, this.parseAdditive());\n } else if (this.optionalOperator('>=')) {\n result = new Binary('>=', result, this.parseAdditive());\n } else {\n return result;\n }\n }\n }\n\n parseAdditive() {\n // '+', '-'\n var result = this.parseMultiplicative();\n while (true) {\n if (this.optionalOperator('+')) {\n result = new Binary('+', result, this.parseMultiplicative());\n } else if (this.optionalOperator('-')) {\n result = new Binary('-', result, this.parseMultiplicative());\n } else {\n return result;\n }\n }\n }\n\n parseMultiplicative() {\n // '*', '%', '/'\n var result = this.parsePrefix();\n while (true) {\n if (this.optionalOperator('*')) {\n result = new Binary('*', result, this.parsePrefix());\n } else if (this.optionalOperator('%')) {\n result = new Binary('%', result, this.parsePrefix());\n } else if (this.optionalOperator('/')) {\n result = new Binary('/', result, this.parsePrefix());\n } else {\n return result;\n }\n }\n }\n\n parsePrefix() {\n if (this.optionalOperator('+')) {\n return this.parsePrefix();\n } else if (this.optionalOperator('-')) {\n return new Binary('-', new LiteralPrimitive(0), this.parsePrefix());\n } else if (this.optionalOperator('!')) {\n return new PrefixNot(this.parsePrefix());\n } else {\n return this.parseCallChain();\n }\n }\n\n parseCallChain():AST {\n var result = this.parsePrimary();\n while (true) {\n if (this.optionalCharacter($PERIOD)) {\n result = this.parseAccessMemberOrMethodCall(result);\n\n } else if (this.optionalCharacter($LBRACKET)) {\n var key = this.parseExpression();\n this.expectCharacter($RBRACKET);\n result = new KeyedAccess(result, key);\n\n } else if (this.optionalCharacter($LPAREN)) {\n var args = this.parseCallArguments();\n this.expectCharacter($RPAREN);\n result = new FunctionCall(result, args);\n\n } else {\n return result;\n }\n }\n }\n\n parsePrimary() {\n if (this.optionalCharacter($LPAREN)) {\n var result = this.parsePipe();\n this.expectCharacter($RPAREN);\n return result;\n\n } else if (this.next.isKeywordNull() || this.next.isKeywordUndefined()) {\n this.advance();\n return new LiteralPrimitive(null);\n\n } else if (this.next.isKeywordTrue()) {\n this.advance();\n return new LiteralPrimitive(true);\n\n } else if (this.next.isKeywordFalse()) {\n this.advance();\n return new LiteralPrimitive(false);\n\n } else if (this.optionalCharacter($LBRACKET)) {\n var elements = this.parseExpressionList($RBRACKET);\n this.expectCharacter($RBRACKET);\n return new LiteralArray(elements);\n\n } else if (this.next.isCharacter($LBRACE)) {\n return this.parseLiteralMap();\n\n } else if (this.next.isIdentifier()) {\n return this.parseAccessMemberOrMethodCall(_implicitReceiver);\n\n } else if (this.next.isNumber()) {\n var value = this.next.toNumber();\n this.advance();\n return new LiteralPrimitive(value);\n\n } else if (this.next.isString()) {\n var value = this.next.toString();\n this.advance();\n return new LiteralPrimitive(value);\n\n } else if (this.index >= this.tokens.length) {\n this.error(`Unexpected end of expression: ${this.input}`);\n\n } else {\n this.error(`Unexpected token ${this.next}`);\n }\n }\n\n parseExpressionList(terminator:int):List {\n var result = [];\n if (!this.next.isCharacter(terminator)) {\n do {\n ListWrapper.push(result, this.parseExpression());\n } while (this.optionalCharacter($COMMA));\n }\n return result;\n }\n\n parseLiteralMap() {\n var keys = [];\n var values = [];\n this.expectCharacter($LBRACE);\n if (!this.optionalCharacter($RBRACE)) {\n do {\n var key = this.expectIdentifierOrKeywordOrString();\n ListWrapper.push(keys, key);\n this.expectCharacter($COLON);\n ListWrapper.push(values, this.parseExpression());\n } while (this.optionalCharacter($COMMA));\n this.expectCharacter($RBRACE);\n }\n return new LiteralMap(keys, values);\n }\n\n parseAccessMemberOrMethodCall(receiver):AST {\n var id = this.expectIdentifierOrKeyword();\n\n if (this.optionalCharacter($LPAREN)) {\n var args = this.parseCallArguments();\n this.expectCharacter($RPAREN);\n var fn = this.reflector.method(id);\n return new MethodCall(receiver, id, fn, args);\n\n } else {\n var getter = this.reflector.getter(id);\n var setter = this.reflector.setter(id);\n var am = new AccessMember(receiver, id, getter, setter);\n\n if (this.optionalOperator(\"|\")) {\n return this.parseInlinedPipe(am);\n } else {\n return am;\n }\n }\n }\n\n parseInlinedPipe(result) {\n do {\n if (this.parseAction) {\n this.error(\"Cannot have a pipe in an action expression\");\n }\n var name = this.expectIdentifierOrKeyword();\n var args = ListWrapper.create();\n while (this.optionalCharacter($COLON)) {\n ListWrapper.push(args, this.parseExpression());\n }\n result = new Pipe(result, name, args, true);\n } while(this.optionalOperator(\"|\"));\n\n return result;\n }\n\n parseCallArguments() {\n if (this.next.isCharacter($RPAREN)) return [];\n var positionals = [];\n do {\n ListWrapper.push(positionals, this.parseExpression());\n } while (this.optionalCharacter($COMMA))\n return positionals;\n }\n\n /**\n * An identifier, a keyword, a string with an optional `-` inbetween.\n */\n expectTemplateBindingKey() {\n var result = '';\n var operatorFound = false;\n do {\n result += this.expectIdentifierOrKeywordOrString();\n operatorFound = this.optionalOperator('-');\n if (operatorFound) {\n result += '-';\n }\n } while (operatorFound);\n\n return result.toString();\n }\n\n parseTemplateBindings() {\n var bindings = [];\n while (this.index < this.tokens.length) {\n var keyIsVar:boolean = this.optionalKeywordVar();\n var key = this.expectTemplateBindingKey();\n this.optionalCharacter($COLON);\n var name = null;\n var expression = null;\n if (this.next !== EOF) {\n if (keyIsVar) {\n if (this.optionalOperator(\"=\")) {\n name = this.expectTemplateBindingKey();\n } else {\n name = '\\$implicit';\n }\n } else if (!this.peekKeywordVar()) {\n var start = this.inputIndex;\n var ast = this.parsePipe();\n var source = this.input.substring(start, this.inputIndex);\n expression = new ASTWithSource(ast, source, this.location);\n }\n }\n ListWrapper.push(bindings, new TemplateBinding(key, keyIsVar, name, expression));\n if (!this.optionalCharacter($SEMICOLON)) {\n this.optionalCharacter($COMMA);\n };\n }\n return bindings;\n }\n\n error(message:string, index:int = null) {\n if (isBlank(index)) index = this.index;\n\n var location = (index < this.tokens.length)\n ? `at column ${this.tokens[index].index + 1} in`\n : `at the end of the expression`;\n\n throw new BaseException(`Parser Error: ${message} ${location} [${this.input}] in ${this.location}`);\n }\n}\n"]}