projects
/
gnome.introspection-doc-generator
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e16891e
)
JSDOC/TokenReader.js
author
alan
<alan@alanfast.akbkhome.com>
Mon, 19 Apr 2010 07:03:49 +0000
(15:03 +0800)
committer
alan
<alan@alanfast.akbkhome.com>
Mon, 19 Apr 2010 07:03:49 +0000
(15:03 +0800)
JSDOC/TokenReader.js
patch
|
blob
|
history
diff --git
a/JSDOC/TokenReader.js
b/JSDOC/TokenReader.js
index
2f03c73
..
98c39e9
100644
(file)
--- a/
JSDOC/TokenReader.js
+++ b/
JSDOC/TokenReader.js
@@
-31,6
+31,7
@@
TokenReader = XObject.define(
tokenize : function(/**JSDOC.TextStream*/stream) {
tokenize : function(/**JSDOC.TextStream*/stream) {
+ this.line =1;
var tokens = [];
/**@ignore*/ tokens.last = function() { return tokens[tokens.length-1]; }
/**@ignore*/ tokens.lastSym = function() {
var tokens = [];
/**@ignore*/ tokens.last = function() { return tokens[tokens.length-1]; }
/**@ignore*/ tokens.lastSym = function() {
@@
-52,7
+53,7
@@
TokenReader = XObject.define(
if (this.read_word(stream, tokens)) continue;
// if execution reaches here then an error has happened
if (this.read_word(stream, tokens)) continue;
// if execution reaches here then an error has happened
- tokens.push(new Token(stream.next(), "TOKN", "UNKNOWN_TOKEN"));
+ tokens.push(new Token(stream.next(), "TOKN", "UNKNOWN_TOKEN"
, this.line
));
}
}
@@
-75,21
+76,21
@@
TokenReader = XObject.define(
else {
var name;
if ((name = Lang.keyword(found))) {
else {
var name;
if ((name = Lang.keyword(found))) {
- tokens.push(new Token(found, "KEYW", name));
+ tokens.push(new Token(found, "KEYW", name
, this.line
));
return true;
}
if (!this.sepIdents || found.indexOf('.') < 0 ) {
return true;
}
if (!this.sepIdents || found.indexOf('.') < 0 ) {
- tokens.push(new Token(found, "NAME", "NAME"));
+ tokens.push(new Token(found, "NAME", "NAME"
, this.line
));
return true;
}
var n = found.split('.');
var p = false;
n.forEach(function(nm) {
if (p) {
return true;
}
var n = found.split('.');
var p = false;
n.forEach(function(nm) {
if (p) {
- tokens.push(new Token('.', "PUNC", "DOT"));
+ tokens.push(new Token('.', "PUNC", "DOT"
, this.line
));
}
p=true;
}
p=true;
- tokens.push(new Token(nm, "NAME", "NAME"));
+ tokens.push(new Token(nm, "NAME", "NAME"
, this.line
));
});
return true;
});
return true;
@@
-110,7
+111,7
@@
TokenReader = XObject.define(
return false;
}
else {
return false;
}
else {
- tokens.push(new Token(found, "PUNC", Lang.punc(found)));
+ tokens.push(new Token(found, "PUNC", Lang.punc(found)
, this.line
));
return true;
}
},
return true;
}
},
@@
-130,7
+131,7
@@
TokenReader = XObject.define(
}
else {
if (this.collapseWhite) found = " ";
}
else {
if (this.collapseWhite) found = " ";
- if (this.keepWhite) tokens.push(new Token(found, "WHIT", "SPACE"));
+ if (this.keepWhite) tokens.push(new Token(found, "WHIT", "SPACE"
, this.line
));
return true;
}
},
return true;
}
},
@@
-142,6
+143,7
@@
TokenReader = XObject.define(
var found = "";
while (!stream.look().eof && Lang.isNewline(stream.look())) {
var found = "";
while (!stream.look().eof && Lang.isNewline(stream.look())) {
+ this.line++;
found += stream.next();
}
found += stream.next();
}
@@
-150,7
+152,7
@@
TokenReader = XObject.define(
}
else {
if (this.collapseWhite) found = "\n";
}
else {
if (this.collapseWhite) found = "\n";
- if (this.keepWhite) tokens.push(new Token(found, "WHIT", "NEWLINE"));
+ if (this.keepWhite) tokens.push(new Token(found, "WHIT", "NEWLINE"
, this.line
));
return true;
}
},
return true;
}
},
@@
-161,14
+163,16
@@
TokenReader = XObject.define(
read_mlcomment : function(/**JSDOC.TokenStream*/stream, tokens) {
if (stream.look() == "/" && stream.look(1) == "*") {
var found = stream.next(2);
read_mlcomment : function(/**JSDOC.TokenStream*/stream, tokens) {
if (stream.look() == "/" && stream.look(1) == "*") {
var found = stream.next(2);
-
+ var c = '';
while (!stream.look().eof && !(stream.look(-1) == "/" && stream.look(-2) == "*")) {
while (!stream.look().eof && !(stream.look(-1) == "/" && stream.look(-2) == "*")) {
- found += stream.next();
+ c = stream.next();
+ if (c == "\n") this.line++;
+ found += c;
}
// to start doclet we allow /** or /*** but not /**/ or /****
}
// to start doclet we allow /** or /*** but not /**/ or /****
- if (/^\/\*\*([^\/]|\*[^*])/.test(found) && this.keepDocs) tokens.push(new Token(found, "COMM", "JSDOC"));
- else if (this.keepComments) tokens.push(new Token(found, "COMM", "MULTI_LINE_COMM"));
+ if (/^\/\*\*([^\/]|\*[^*])/.test(found) && this.keepDocs) tokens.push(new Token(found, "COMM", "JSDOC"
, this.line
));
+ else if (this.keepComments) tokens.push(new Token(found, "COMM", "MULTI_LINE_COMM"
, this.line
));
return true;
}
return false;
return true;
}
return false;
@@
-190,7
+194,7
@@
TokenReader = XObject.define(
}
if (this.keepComments) {
}
if (this.keepComments) {
- tokens.push(new Token(found, "COMM", "SINGLE_LINE_COMM"));
+ tokens.push(new Token(found, "COMM", "SINGLE_LINE_COMM"
, this.line
));
}
return true;
}
}
return true;
}
@@
-219,7
+223,7
@@
TokenReader = XObject.define(
}
else if (stream.look() == "\"") {
string += stream.next();
}
else if (stream.look() == "\"") {
string += stream.next();
- tokens.push(new Token(string, "STRN", "DOUBLE_QUOTE"));
+ tokens.push(new Token(string, "STRN", "DOUBLE_QUOTE"
, this.line
));
return true;
}
else {
return true;
}
else {
@@
-244,7
+248,7
@@
TokenReader = XObject.define(
}
else if (stream.look() == "'") {
string += stream.next();
}
else if (stream.look() == "'") {
string += stream.next();
- tokens.push(new Token(string, "STRN", "SINGLE_QUOTE"));
+ tokens.push(new Token(string, "STRN", "SINGLE_QUOTE"
, this.line
));
return true;
}
else {
return true;
}
else {
@@
-273,8
+277,8
@@
TokenReader = XObject.define(
return false;
}
else {
return false;
}
else {
- if (/^0[0-7]/.test(found)) tokens.push(new Token(found, "NUMB", "OCTAL"));
- else tokens.push(new Token(found, "NUMB", "DECIMAL"));
+ if (/^0[0-7]/.test(found)) tokens.push(new Token(found, "NUMB", "OCTAL"
, this.line
));
+ else tokens.push(new Token(found, "NUMB", "DECIMAL"
, this.line
));
return true;
}
},
return true;
}
},
@@
-311,7
+315,7
@@
TokenReader = XObject.define(
while (!stream.look().eof) {
if (Lang.isHexDec(found) && !Lang.isHexDec(found+stream.look())) { // done
while (!stream.look().eof) {
if (Lang.isHexDec(found) && !Lang.isHexDec(found+stream.look())) { // done
- tokens.push(new Token(found, "NUMB", "HEX_DEC"));
+ tokens.push(new Token(found, "NUMB", "HEX_DEC"
, this.line
));
return true;
}
else {
return true;
}
else {
@@
-356,7
+360,7
@@
TokenReader = XObject.define(
regex += stream.next();
}
regex += stream.next();
}
- tokens.push(new Token(regex, "REGX", "REGX"));
+ tokens.push(new Token(regex, "REGX", "REGX"
, this.line
));
return true;
}
else {
return true;
}
else {