Commit | Line | Data |
---|---|---|
629a09ae DV |
1 | /** |
2 | @namespace | |
3 | */ | |
4 | JSDOC.Lang = { | |
5 | } | |
6 | ||
7 | JSDOC.Lang.isBuiltin = function(name) { | |
8 | return (JSDOC.Lang.isBuiltin.coreObjects.indexOf(name) > -1); | |
9 | } | |
10 | JSDOC.Lang.isBuiltin.coreObjects = ['_global_', 'Array', 'Boolean', 'Date', 'Error', 'Function', 'Math', 'Number', 'Object', 'RegExp', 'String']; | |
11 | ||
12 | JSDOC.Lang.whitespace = function(ch) { | |
13 | return JSDOC.Lang.whitespace.names[ch]; | |
14 | } | |
15 | JSDOC.Lang.whitespace.names = { | |
16 | " ": "SPACE", | |
17 | "\f": "FORMFEED", | |
18 | "\t": "TAB", | |
19 | "\u0009": "UNICODE_TAB", | |
20 | "\u000A": "UNICODE_NBR", | |
21 | "\u0008": "VERTICAL_TAB" | |
22 | }; | |
23 | ||
24 | JSDOC.Lang.newline = function(ch) { | |
25 | return JSDOC.Lang.newline.names[ch]; | |
26 | } | |
27 | JSDOC.Lang.newline.names = { | |
28 | "\n": "NEWLINE", | |
29 | "\r": "RETURN", | |
30 | "\u000A": "UNICODE_LF", | |
31 | "\u000D": "UNICODE_CR", | |
32 | "\u2029": "UNICODE_PS", | |
33 | "\u2028": "UNICODE_LS" | |
34 | }; | |
35 | ||
36 | JSDOC.Lang.keyword = function(word) { | |
37 | return JSDOC.Lang.keyword.names["="+word]; | |
38 | } | |
39 | JSDOC.Lang.keyword.names = { | |
40 | "=break": "BREAK", | |
41 | "=case": "CASE", | |
42 | "=catch": "CATCH", | |
43 | "=const": "VAR", | |
44 | "=continue": "CONTINUE", | |
45 | "=default": "DEFAULT", | |
46 | "=delete": "DELETE", | |
47 | "=do": "DO", | |
48 | "=else": "ELSE", | |
49 | "=false": "FALSE", | |
50 | "=finally": "FINALLY", | |
51 | "=for": "FOR", | |
52 | "=function": "FUNCTION", | |
53 | "=if": "IF", | |
54 | "=in": "IN", | |
55 | "=instanceof": "INSTANCEOF", | |
56 | "=new": "NEW", | |
57 | "=null": "NULL", | |
58 | "=return": "RETURN", | |
59 | "=switch": "SWITCH", | |
60 | "=this": "THIS", | |
61 | "=throw": "THROW", | |
62 | "=true": "TRUE", | |
63 | "=try": "TRY", | |
64 | "=typeof": "TYPEOF", | |
65 | "=void": "VOID", | |
66 | "=while": "WHILE", | |
67 | "=with": "WITH", | |
68 | "=var": "VAR" | |
69 | }; | |
70 | ||
71 | JSDOC.Lang.punc = function(ch) { | |
72 | return JSDOC.Lang.punc.names[ch]; | |
73 | } | |
74 | JSDOC.Lang.punc.names = { | |
75 | ";": "SEMICOLON", | |
76 | ",": "COMMA", | |
77 | "?": "HOOK", | |
78 | ":": "COLON", | |
79 | "||": "OR", | |
80 | "&&": "AND", | |
81 | "|": "BITWISE_OR", | |
82 | "^": "BITWISE_XOR", | |
83 | "&": "BITWISE_AND", | |
84 | "===": "STRICT_EQ", | |
85 | "==": "EQ", | |
86 | "=": "ASSIGN", | |
87 | "!==": "STRICT_NE", | |
88 | "!=": "NE", | |
89 | "<<": "LSH", | |
90 | "<=": "LE", | |
91 | "<": "LT", | |
92 | ">>>": "URSH", | |
93 | ">>": "RSH", | |
94 | ">=": "GE", | |
95 | ">": "GT", | |
96 | "++": "INCREMENT", | |
97 | "--": "DECREMENT", | |
98 | "+": "PLUS", | |
99 | "-": "MINUS", | |
100 | "*": "MUL", | |
101 | "/": "DIV", | |
102 | "%": "MOD", | |
103 | "!": "NOT", | |
104 | "~": "BITWISE_NOT", | |
105 | ".": "DOT", | |
106 | "[": "LEFT_BRACKET", | |
107 | "]": "RIGHT_BRACKET", | |
108 | "{": "LEFT_CURLY", | |
109 | "}": "RIGHT_CURLY", | |
110 | "(": "LEFT_PAREN", | |
111 | ")": "RIGHT_PAREN" | |
112 | }; | |
113 | ||
114 | JSDOC.Lang.matching = function(name) { | |
115 | return JSDOC.Lang.matching.names[name]; | |
116 | } | |
117 | JSDOC.Lang.matching.names = { | |
118 | "LEFT_PAREN": "RIGHT_PAREN", | |
119 | "RIGHT_PAREN": "LEFT_PAREN", | |
120 | "LEFT_CURLY": "RIGHT_CURLY", | |
121 | "RIGHT_CURLY": "LEFT_CURLY", | |
122 | "LEFT_BRACE": "RIGHT_BRACE", | |
123 | "RIGHT_BRACE": "LEFT_BRACE" | |
124 | } | |
125 | ||
126 | JSDOC.Lang.isNumber = function(str) { | |
127 | return /^(\.[0-9]|[0-9]+\.|[0-9])[0-9]*([eE][+-][0-9]+)?$/i.test(str); | |
128 | } | |
129 | ||
130 | JSDOC.Lang.isHexDec = function(str) { | |
131 | return /^0x[0-9A-F]+$/i.test(str); | |
132 | } | |
133 | ||
134 | JSDOC.Lang.isWordChar = function(str) { | |
135 | return /^[a-zA-Z0-9$_.]+$/.test(str); | |
136 | } | |
137 | ||
138 | JSDOC.Lang.isSpace = function(str) { | |
139 | return (typeof JSDOC.Lang.whitespace(str) != "undefined"); | |
140 | } | |
141 | ||
142 | JSDOC.Lang.isNewline = function(str) { | |
143 | return (typeof JSDOC.Lang.newline(str) != "undefined"); | |
144 | } |