Plato on Github
Report Home
lang/compiler/parser/literal.js
Maintainability
115.06
Lines of code
37
Difficulty
9.70
Estimated Errors
0.23
Function weight
By Complexity
By SLOC
(function(sc) { "use strict"; require("./parser"); var Token = sc.lang.compiler.Token; var Node = sc.lang.compiler.Node; var Parser = sc.lang.compiler.Parser; Parser.addParseMethod("Literal", function() { var marker = this.createMarker(); var node = this.lex(); if (!isLiteral(node.type)) { this.throwUnexpected(node); } return marker.update().apply( Node.createLiteral(node) ); }); function isLiteral(type) { switch (type) { case Token.IntegerLiteral: case Token.FloatLiteral: case Token.NilLiteral: case Token.TrueLiteral: case Token.FalseLiteral: case Token.SymbolLiteral: case Token.StringLiteral: case Token.CharLiteral: return true; } return false; } })(sc);