projects
/
gnome.introspection-doc-generator
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
JSDOC/TokenReader.js
[gnome.introspection-doc-generator]
/
JSDOC
/
TokenReader.js
diff --git
a/JSDOC/TokenReader.js
b/JSDOC/TokenReader.js
index
c38e13b
..
5e5cec8
100644
(file)
--- a/
JSDOC/TokenReader.js
+++ b/
JSDOC/TokenReader.js
@@
-1,17
+1,17
@@
//<script type="text/javascript">
//<script type="text/javascript">
-XObject = imports.XObject.XObject;
-console = imports.console.console;
+
const
XObject = imports.XObject.XObject;
+cons
t cons
ole = imports.console.console;
-Token = imports.Token.Token;
-Lang = imports.Lang.Lang;
+
const
Token = imports.Token.Token;
+
const
Lang = imports.Lang.Lang;
/**
@class Search a {@link JSDOC.TextStream} for language tokens.
*/
/**
@class Search a {@link JSDOC.TextStream} for language tokens.
*/
-TokenReader = XObject.define(
+
const
TokenReader = XObject.define(
function(o) {
XObject.extend(this, o || {});
function(o) {
XObject.extend(this, o || {});
@@
-52,6
+52,7
@@
TokenReader = XObject.define(
for (var i = tokens.length-1; i >= 0; i--) {
if (!(tokens[i].is("WHIT") || tokens[i].is("COMM"))) return tokens[i];
}
for (var i = tokens.length-1; i >= 0; i--) {
if (!(tokens[i].is("WHIT") || tokens[i].is("COMM"))) return tokens[i];
}
+ return true;
}
while (!stream.look().eof) {
}
while (!stream.look().eof) {
@@
-149,7
+150,7
@@
TokenReader = XObject.define(
//Seed.print('(@' + n);
var lt = this.lastSym(tokens, n);
//Seed.print('(@' + n);
var lt = this.lastSym(tokens, n);
-
Seed.
print(JSON.stringify(lt));
+
print(JSON.stringify(lt));
if (lt.type != 'KEYW' || ['IF', 'WHILE'].indexOf(lt.name) < -1) {
if (!this.ignoreBadGrammer) {
throw {
if (lt.type != 'KEYW' || ['IF', 'WHILE'].indexOf(lt.name) < -1) {
if (!this.ignoreBadGrammer) {
throw {
@@
-257,8
+258,8
@@
TokenReader = XObject.define(
if (this.collapseWhite) {
found = "\n";
}
if (this.collapseWhite) {
found = "\n";
}
- if (this.keepWhite) {
- var last = tokens
.pop()
;
+
if (this.keepWhite) {
+ var last = tokens
? tokens.pop() : false
;
if (last && last.name != "WHIT") {
tokens.push(last);
}
if (last && last.name != "WHIT") {
tokens.push(last);
}
@@
-463,12
+464,25
@@
TokenReader = XObject.define(
)
) {
var regex = stream.next();
)
) {
var regex = stream.next();
-
+ var unbrace = false;
while (!stream.look().eof) {
while (!stream.look().eof) {
+
+ if (stream.look() == "[") { // escape sequence
+ in_brace = true;
+ continue;
+ }
+
+ if (in_brace && stream.look() == "[") { // escape sequence
+ in_brace = true;
+ continue;
+ }
+
if (stream.look() == "\\") { // escape sequence
regex += stream.next(2);
if (stream.look() == "\\") { // escape sequence
regex += stream.next(2);
+ continue;
}
}
- else if (stream.look() == "/") {
+
+ if (!in_brace && stream.look() == "/") {
regex += stream.next();
while (/[gmi]/.test(stream.look())) {
regex += stream.next();
while (/[gmi]/.test(stream.look())) {
@@
-478,9
+492,9
@@
TokenReader = XObject.define(
tokens.push(new Token(regex, "REGX", "REGX", this.line));
return true;
}
tokens.push(new Token(regex, "REGX", "REGX", this.line));
return true;
}
- else {
-
regex += stream.next();
- }
+
+ regex += stream.next();
+
}
// error: unterminated regex
}
}
// error: unterminated regex
}