aboutsummaryrefslogtreecommitdiff
path: root/src/tokenize.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2001-10-13 02:59:08 +0000
committerdrh <drh@noemail.net>2001-10-13 02:59:08 +0000
commitbf4133cba1b36b2218dbc9c86d6e8a8cc365fb69 (patch)
treef5ca88dc2aff75192b5482ad8083de8b4e3264d0 /src/tokenize.c
parent99fcd718e12cb7564f46b07c2623feca32f94b7e (diff)
downloadsqlite-bf4133cba1b36b2218dbc9c86d6e8a8cc365fb69.tar.gz
sqlite-bf4133cba1b36b2218dbc9c86d6e8a8cc365fb69.zip
2.0.3 (CVS 287)
FossilOrigin-Name: 75e90cf09b64ee1fcb39a711fc9ac6d3d2b849a5
Diffstat (limited to 'src/tokenize.c')
-rw-r--r--src/tokenize.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/tokenize.c b/src/tokenize.c
index 673a6c8e1..52b23b210 100644
--- a/src/tokenize.c
+++ b/src/tokenize.c
@@ -15,7 +15,7 @@
** individual tokens and sends those tokens one-by-one over to the
** parser for analysis.
**
-** $Id: tokenize.c,v 1.26 2001/10/09 04:19:47 drh Exp $
+** $Id: tokenize.c,v 1.27 2001/10/13 02:59:09 drh Exp $
*/
#include "sqliteInt.h"
#include "os.h"
@@ -185,6 +185,10 @@ int sqliteGetToken(const char *z, int *tokenType){
*tokenType = TK_SLASH;
return 1;
}
+ case '%': {
+ *tokenType = TK_REM;
+ return 1;
+ }
case '=': {
*tokenType = TK_EQ;
return 1 + (z[1]=='=');
@@ -196,6 +200,9 @@ int sqliteGetToken(const char *z, int *tokenType){
}else if( z[1]=='>' ){
*tokenType = TK_NE;
return 2;
+ }else if( z[1]=='<' ){
+ *tokenType = TK_LSHIFT;
+ return 2;
}else{
*tokenType = TK_LT;
return 1;
@@ -205,6 +212,9 @@ int sqliteGetToken(const char *z, int *tokenType){
if( z[1]=='=' ){
*tokenType = TK_GE;
return 2;
+ }else if( z[1]=='>' ){
+ *tokenType = TK_RSHIFT;
+ return 2;
}else{
*tokenType = TK_GT;
return 1;
@@ -221,7 +231,7 @@ int sqliteGetToken(const char *z, int *tokenType){
}
case '|': {
if( z[1]!='|' ){
- *tokenType = TK_ILLEGAL;
+ *tokenType = TK_BITOR;
return 1;
}else{
*tokenType = TK_CONCAT;
@@ -232,6 +242,14 @@ int sqliteGetToken(const char *z, int *tokenType){
*tokenType = TK_COMMA;
return 1;
}
+ case '&': {
+ *tokenType = TK_BITAND;
+ return 1;
+ }
+ case '~': {
+ *tokenType = TK_BITNOT;
+ return 1;
+ }
case '\'': case '"': {
int delim = z[0];
for(i=1; z[i]; i++){