コンパイラ作成(2) rubyのenum
前回の続きで字句解析の中身をちょっとだけ。
# トークンの種類 enumの代わり module TK EOF = 1 # End of file ID = 2 # Identifire NUMBER = 3 # Number SYMBOL = 4 # Operator STRING = 5 # String UNKNOWN = 6 # Unkown token end
rubyにはenumに相当する機能がないのでその代わり。トークンの種類を表してるよ。SYMBOLのところのコメントがOperatorになってるのは、最初は演算子とそれ以外の記号類を別の種別にしようかと考えてた名残。
UNKNOWNはLexerが解釈できない文字。ソースコード中の予想外の記号や全角文字かなんか。今のところ対応してる記号は=+-;(){}だけ。