我正在为一种名为 Jack 的语言(类似于 Java)构建一个编译器。我正在研究我的标记器,但我无法确定文件中的标记是否为整数。以下是我在语言和符号中实现保留字的方式:
def tokenType(self):
if self.token in ['class', 'constructor', 'function', 'method', 'field', 'static', 'var', 'int', 'char', 'boolean', 'void', 'true', 'false', 'null', 'this', 'let', 'do', 'if', 'else', 'while', 'return']:
return 'KEYWORD'
elif self.token in ['{', '}', '(', ')', '[', ']', '.', ',', ';', '+', '-', '*' ,'/', '&', '|', '<', '>', '=', '~']:
return 'SYMBOL'
但是,我不确定如何确定令牌是否是 0 到 32767 之间的整数。有没有办法轻松搜索一系列值?