aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/robertkrimen/otto/token/token.go
diff options
context:
space:
mode:
Diffstat (limited to 'Godeps/_workspace/src/github.com/robertkrimen/otto/token/token.go')
-rw-r--r--Godeps/_workspace/src/github.com/robertkrimen/otto/token/token.go116
1 files changed, 0 insertions, 116 deletions
diff --git a/Godeps/_workspace/src/github.com/robertkrimen/otto/token/token.go b/Godeps/_workspace/src/github.com/robertkrimen/otto/token/token.go
deleted file mode 100644
index 0e941ac96..000000000
--- a/Godeps/_workspace/src/github.com/robertkrimen/otto/token/token.go
+++ /dev/null
@@ -1,116 +0,0 @@
-// Package token defines constants representing the lexical tokens of JavaScript (ECMA5).
-package token
-
-import (
- "strconv"
-)
-
-// Token is the set of lexical tokens in JavaScript (ECMA5).
-type Token int
-
-// String returns the string corresponding to the token.
-// For operators, delimiters, and keywords the string is the actual
-// token string (e.g., for the token PLUS, the String() is
-// "+"). For all other tokens the string corresponds to the token
-// name (e.g. for the token IDENTIFIER, the string is "IDENTIFIER").
-//
-func (tkn Token) String() string {
- if 0 == tkn {
- return "UNKNOWN"
- }
- if tkn < Token(len(token2string)) {
- return token2string[tkn]
- }
- return "token(" + strconv.Itoa(int(tkn)) + ")"
-}
-
-// This is not used for anything
-func (tkn Token) precedence(in bool) int {
-
- switch tkn {
- case LOGICAL_OR:
- return 1
-
- case LOGICAL_AND:
- return 2
-
- case OR, OR_ASSIGN:
- return 3
-
- case EXCLUSIVE_OR:
- return 4
-
- case AND, AND_ASSIGN, AND_NOT, AND_NOT_ASSIGN:
- return 5
-
- case EQUAL,
- NOT_EQUAL,
- STRICT_EQUAL,
- STRICT_NOT_EQUAL:
- return 6
-
- case LESS, GREATER, LESS_OR_EQUAL, GREATER_OR_EQUAL, INSTANCEOF:
- return 7
-
- case IN:
- if in {
- return 7
- }
- return 0
-
- case SHIFT_LEFT, SHIFT_RIGHT, UNSIGNED_SHIFT_RIGHT:
- fallthrough
- case SHIFT_LEFT_ASSIGN, SHIFT_RIGHT_ASSIGN, UNSIGNED_SHIFT_RIGHT_ASSIGN:
- return 8
-
- case PLUS, MINUS, ADD_ASSIGN, SUBTRACT_ASSIGN:
- return 9
-
- case MULTIPLY, SLASH, REMAINDER, MULTIPLY_ASSIGN, QUOTIENT_ASSIGN, REMAINDER_ASSIGN:
- return 11
- }
- return 0
-}
-
-type _keyword struct {
- token Token
- futureKeyword bool
- strict bool
-}
-
-// IsKeyword returns the keyword token if literal is a keyword, a KEYWORD token
-// if the literal is a future keyword (const, let, class, super, ...), or 0 if the literal is not a keyword.
-//
-// If the literal is a keyword, IsKeyword returns a second value indicating if the literal
-// is considered a future keyword in strict-mode only.
-//
-// 7.6.1.2 Future Reserved Words:
-//
-// const
-// class
-// enum
-// export
-// extends
-// import
-// super
-//
-// 7.6.1.2 Future Reserved Words (strict):
-//
-// implements
-// interface
-// let
-// package
-// private
-// protected
-// public
-// static
-//
-func IsKeyword(literal string) (Token, bool) {
- if keyword, exists := keywordTable[literal]; exists {
- if keyword.futureKeyword {
- return KEYWORD, keyword.strict
- }
- return keyword.token, false
- }
- return 0, false
-}