Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tools/jsdoc-toolkit/app/lib/JSDOC/Lang.js
blob: 62919d7d8306fb17e61aa063a02d0ac90418860b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
/**
	@namespace
*/
JSDOC.Lang = {
}

JSDOC.Lang.isBuiltin = function(name) {
	return (JSDOC.Lang.isBuiltin.coreObjects.indexOf(name) > -1);
}
JSDOC.Lang.isBuiltin.coreObjects = ['_global_', 'Array', 'Boolean', 'Date', 'Error', 'Function', 'Math', 'Number', 'Object', 'RegExp', 'String'];

JSDOC.Lang.whitespace = function(ch) {
	return JSDOC.Lang.whitespace.names[ch];
}
JSDOC.Lang.whitespace.names = {
	" ":      "SPACE",
	"\f":     "FORMFEED",
	"\t":     "TAB",
	"\u0009": "UNICODE_TAB",
	"\u000A": "UNICODE_NBR",
	"\u0008": "VERTICAL_TAB"
};

JSDOC.Lang.newline = function(ch) {
	return JSDOC.Lang.newline.names[ch];
}
JSDOC.Lang.newline.names = {
	"\n":     "NEWLINE",
	"\r":     "RETURN",
	"\u000A": "UNICODE_LF",
	"\u000D": "UNICODE_CR",
	"\u2029": "UNICODE_PS",
	"\u2028": "UNICODE_LS"
};

JSDOC.Lang.keyword = function(word) {
	return JSDOC.Lang.keyword.names["="+word];
}
JSDOC.Lang.keyword.names = {
	"=break":      "BREAK",
	"=case":       "CASE",
	"=catch":      "CATCH",
	"=const":      "VAR",
	"=continue":   "CONTINUE",
	"=default":    "DEFAULT",
	"=delete":     "DELETE",
	"=do":         "DO",
	"=else":       "ELSE",
	"=false":      "FALSE",
	"=finally":    "FINALLY",
	"=for":        "FOR",
	"=function":   "FUNCTION",
	"=if":         "IF",
	"=in":         "IN",
	"=instanceof": "INSTANCEOF",
	"=new":        "NEW",
	"=null":       "NULL",
	"=return":     "RETURN",
	"=switch":     "SWITCH",
	"=this":       "THIS",
	"=throw":      "THROW",
	"=true":       "TRUE",
	"=try":        "TRY",
	"=typeof":     "TYPEOF",
	"=void":       "VOID",
	"=while":      "WHILE",
	"=with":       "WITH",
	"=var":        "VAR"
};

JSDOC.Lang.punc = function(ch) {
	return JSDOC.Lang.punc.names[ch];
}
JSDOC.Lang.punc.names = {
	";":   "SEMICOLON",
	",":   "COMMA",
	"?":   "HOOK",
	":":   "COLON",
	"||":  "OR", 
	"&&":  "AND",
	"|":   "BITWISE_OR",
	"^":   "BITWISE_XOR",
	"&":   "BITWISE_AND",
	"===": "STRICT_EQ", 
	"==":  "EQ",
	"=":   "ASSIGN",
	"!==": "STRICT_NE",
	"!=":  "NE",
	"<<":  "LSH",
	"<=":  "LE", 
	"<":   "LT",
	">>>": "URSH",
	">>":  "RSH",
	">=":  "GE",
	">":   "GT", 
	"++":  "INCREMENT",
	"--":  "DECREMENT",
	"+":   "PLUS",
	"-":   "MINUS",
	"*":   "MUL",
	"/":   "DIV", 
	"%":   "MOD",
	"!":   "NOT",
	"~":   "BITWISE_NOT",
	".":   "DOT",
	"[":   "LEFT_BRACKET",
	"]":   "RIGHT_BRACKET",
	"{":   "LEFT_CURLY",
	"}":   "RIGHT_CURLY",
	"(":   "LEFT_PAREN",
	")":   "RIGHT_PAREN"
};

JSDOC.Lang.matching = function(name) {
	return JSDOC.Lang.matching.names[name];
}
JSDOC.Lang.matching.names = {
	"LEFT_PAREN": "RIGHT_PAREN",
	"RIGHT_PAREN": "LEFT_PAREN",
	"LEFT_CURLY": "RIGHT_CURLY",
	"RIGHT_CURLY": "LEFT_CURLY",
	"LEFT_BRACE": "RIGHT_BRACE",
	"RIGHT_BRACE": "LEFT_BRACE"
}

JSDOC.Lang.isNumber = function(str) {
	return /^(\.[0-9]|[0-9]+\.|[0-9])[0-9]*([eE][+-][0-9]+)?$/i.test(str);
}

JSDOC.Lang.isHexDec = function(str) {
	return /^0x[0-9A-F]+$/i.test(str);
}

JSDOC.Lang.isWordChar = function(str) {
	return /^[a-zA-Z0-9$_.]+$/.test(str);
}

JSDOC.Lang.isSpace = function(str) {
	return (typeof JSDOC.Lang.whitespace(str) != "undefined");
}

JSDOC.Lang.isNewline = function(str) {
	return (typeof JSDOC.Lang.newline(str) != "undefined");
}