Last change
on this file since 14 was 14, checked in by dai_9181, 17 years ago |
LexicalAnalysisのベース部分を用意。
|
File size:
927 bytes
|
Line | |
---|
1 |
|
---|
2 |
|
---|
3 | enum TOKENTYPE{
|
---|
4 | TOKEN_IDENTIFIER, //識別子
|
---|
5 | TOKEN_NUMBER, //数値
|
---|
6 | TOKEN_STRING, //文字列
|
---|
7 | TOKEN_EXSTRING, //文字列
|
---|
8 | TOKEN_OPERATOR, //演算子
|
---|
9 | TOKEN_ESCAPESEQUENCE, //特殊記号
|
---|
10 | TOKEN_COMMAND, //コマンド
|
---|
11 | TOKEN_DELIMITATION, //ステップ区切り
|
---|
12 | };
|
---|
13 |
|
---|
14 | class CToken{
|
---|
15 | int pos;
|
---|
16 | int length;
|
---|
17 | TOKENTYPE type;
|
---|
18 | int extended;
|
---|
19 |
|
---|
20 | public:
|
---|
21 | CToken(int pos, int length, TOKENTYPE type, int extended);
|
---|
22 | ~CToken();
|
---|
23 | };
|
---|
24 |
|
---|
25 | class CSource{
|
---|
26 |
|
---|
27 | //トークン
|
---|
28 | CToken **ppTokens;
|
---|
29 | int TokenNum;
|
---|
30 |
|
---|
31 | CSource();
|
---|
32 | ~CSource();
|
---|
33 |
|
---|
34 | void Free();
|
---|
35 | void Init();
|
---|
36 |
|
---|
37 | public:
|
---|
38 | //ソースコードを格納するバッファ
|
---|
39 | char *SourceCode;
|
---|
40 |
|
---|
41 | bool OpenFile(char *FileName);
|
---|
42 | void SetSourceCode(char *source);
|
---|
43 | void AddSourceCode(char *source);
|
---|
44 |
|
---|
45 | private:
|
---|
46 | void AddToken(int pos, int length, TOKENTYPE type, int extended);
|
---|
47 | public:
|
---|
48 | void LexicalAnalysis(int StartPos);
|
---|
49 |
|
---|
50 |
|
---|
51 |
|
---|
52 | //シングルトンオブジェクト
|
---|
53 | static CSource obj;
|
---|
54 | };
|
---|
Note:
See
TracBrowser
for help on using the repository browser.