summaryrefslogtreecommitdiff
path: root/src/lexer.h
diff options
context:
space:
mode:
authorMike Buland <mike@xagasoft.com>2013-05-08 13:36:09 -0600
committerMike Buland <mike@xagasoft.com>2013-05-08 13:36:09 -0600
commitfc14c0f16e881607e55f04516934818091331bd3 (patch)
treea104a99bfec86501f7b71151004924f48cadaa6d /src/lexer.h
parent69d9a257ba02c973da5708d9b6055e4ac5dc0ee2 (diff)
downloadclic-fc14c0f16e881607e55f04516934818091331bd3.tar.gz
clic-fc14c0f16e881607e55f04516934818091331bd3.tar.bz2
clic-fc14c0f16e881607e55f04516934818091331bd3.tar.xz
clic-fc14c0f16e881607e55f04516934818091331bd3.zip
Command parameters are taken as strings & decimal.0.06
You no longer need to set the radix in the current radix.
Diffstat (limited to 'src/lexer.h')
-rw-r--r--src/lexer.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lexer.h b/src/lexer.h
index 4e6d73d..57b2865 100644
--- a/src/lexer.h
+++ b/src/lexer.h
@@ -11,6 +11,15 @@ public:
11 Lexer( Bu::Stream &rIn ); 11 Lexer( Bu::Stream &rIn );
12 virtual ~Lexer(); 12 virtual ~Lexer();
13 13
14 enum Mode
15 {
16 modeNormal,
17 modeCommand,
18 };
19
20 void setMode( Mode e ) { eMode = e; }
21 Mode getMode() const { return eMode; }
22
14 Token nextToken(); 23 Token nextToken();
15 24
16 int getScale() const { return iScale; } 25 int getScale() const { return iScale; }
@@ -20,6 +29,10 @@ public:
20 void setRadix( int i ); 29 void setRadix( int i );
21 30
22private: 31private:
32 Token nextTokenNormal();
33 Token nextTokenCommand();
34
35private:
23 Bu::Stream &rIn; 36 Bu::Stream &rIn;
24 Bu::String sBuf; 37 Bu::String sBuf;
25 int iBufPos; 38 int iBufPos;
@@ -27,6 +40,7 @@ private:
27 int iRadix; 40 int iRadix;
28 char numRangeTop; 41 char numRangeTop;
29 char ascRangeTop; 42 char ascRangeTop;
43 Mode eMode;
30}; 44};
31 45
32#endif 46#endif