projects
/
Pman.Core
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
check what is being written to our log files.
[Pman.Core]
/
Pman.SearchTokenizer.js
diff --git
a/Pman.SearchTokenizer.js
b/Pman.SearchTokenizer.js
index
1a3686d
..
8db0be1
100644
(file)
--- a/
Pman.SearchTokenizer.js
+++ b/
Pman.SearchTokenizer.js
@@
-14,8
+14,8
@@
Pman.SearchTokenizer = function(s)
{
Pman.SearchTokenizer = function(s)
{
- this.str =
s
;
- this.strlen =
s.length
;
+ this.str =
typeof(s) == 'string' ? s : ''
;
+ this.strlen =
typeof(s) == 'string' ? s.length : 0
;
this.i = 0;
this.tokens = [];
//print_r(this);
this.i = 0;
this.tokens = [];
//print_r(this);
@@
-49,6
+49,10
@@
Pman.SearchTokenizer.prototype = {
}
}
}
}
+ // sort tokens longest first..
+
+
+
// should not get here...
return this.tokens;
},
// should not get here...
return this.tokens;
},
@@
-111,29
+115,33
@@
Pman.SearchTokenizer.prototype = {
}
if (!q) {
}
if (!q) {
- if ((s.
.
toUpperCase() == 'AND') || (s.toUpperCase() == 'OR')) {
+ if ((s.toUpperCase() == 'AND') || (s.toUpperCase() == 'OR')) {
this.tokens.push( { type: s.toUpperCase() });
return;
}
}
this.tokens.push( { type: s.toUpperCase() });
return;
}
}
- this.tokens.push( { type : 's' , v : s });
- }
+ this.tokens.push( { type : 's' , v : s
, q: q
});
+ }
,
-
function getChar
()
+
getChar : function
()
{
{
+
if (this.i >= this.strlen) {
return false;
}
c = this.str[this.i];
this.i++;
return c;
if (this.i >= this.strlen) {
return false;
}
c = this.str[this.i];
this.i++;
return c;
- }
-
function ungetChar
()
+ }
,
+
ungetChar : function
()
{
this.i--;
}
{
this.i--;
}
-
-
-
+
+};
+
+Pman.SearchTokenizer.parse = function(v) {
+ var x = new Pman.SearchTokenizer(v);
+ return x.parse();
}
\ No newline at end of file
}
\ No newline at end of file