can generate jsdoc; private methods marked as such
[dygraphs.git] / jsdoc-toolkit / app / lib / JSDOC / Lang.js
diff --git a/jsdoc-toolkit/app/lib/JSDOC/Lang.js b/jsdoc-toolkit/app/lib/JSDOC/Lang.js
new file mode 100644 (file)
index 0000000..62919d7
--- /dev/null
@@ -0,0 +1,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");
+}
\ No newline at end of file