*
* @prop data {String} raw value of token
* @prop type {String} type of token
- * TOKN (unknown) - name is UNKNOWN_TOKEN
- * KEYW (keyword) - name is upper case version of keyword
- * COMM (comment) - name is MULTI_LINE_COMM, JSDOC, SINGLE_LINE_COMM
- * NAME (name / identifier) - name is NAME
- * PUNC (puctuation) - name is String description of punctionan (eg LEFTPARAM)
- * WHIT (white space) - name is SPACE,NEWLINE
- * STRN (string) - name is DOBULE_QUOTE, SINGLE_QUOTE
- * NUMB (number) - name is OCTAL,DECIMAL,HEC_DEC
- * REGX (regular expression) - name is REGX
+ * TOKN (unknown) - name is UNKNOWN_TOKEN
+ * KEYW (keyword) - name is upper case version of keyword
+ * NAME (name/identifier) - name is NAME
+ * COMM (comment) - name is MULTI_LINE_COMM, JSDOC, SINGLE_LINE_COMM
+ * PUNC (puctuation) - name is String description of punctionan (eg LEFTPARAM)
+ * WHIT (white space) - name is SPACE,NEWLINE
+ * STRN (string) - name is DOBULE_QUOTE, SINGLE_QUOTE
+ * NUMB (number) - name is OCTAL,DECIMAL,HEC_DEC
+ * REGX (reg.expression) - name is REGX
* @prop name {String} see type details above
- *
+ * @prop indentifier {Identifier} identifier class if relivant
*
*/
Token = Object.define(
- function(data, type, name) {
+ function(data, type, name, line) {
this.data = data;
this.type = type;
this.name = name;
- this.prefix = '';
+ this.line = line;
+ this.prefix = '';
+ this.outData = false; // used by packer/scopeparser
+ this.identifier = false; // used by scope
},
Object,
{
+ toString: function()
+ {
+ return 'line:' + this.line + ', type:' + this.type + ', name:' + this.name + ', data:' + this.data;
+ },
+
toRaw : function(lvl)
{