好的,所以我正在编写一个函数作为词法分析器的一部分,用于“查找”或搜索与关键字的匹配项。我的词法分析器捕获了所有明显的标记,例如单字符和多字符运算符 ( + - * / > < = == etc
) (注释和空格也已经被删除)所以我在收集了一个只有字母数字字符(包括下划线)的流之后调用了一个函数string
,这个然后需要将字符串作为已知关键字或标识符进行匹配。
所以我想知道如何识别它?我知道我基本上需要将它与某个列表或数组或所有内置关键字中的某些内容进行比较,如果它匹配一个返回匹配它的相应枚举值;否则,如果不匹配,则它必须是函数或变量标识符。那么我应该如何寻找匹配项呢?我在某处读到所谓的二叉搜索树是一种有效的方法,或者使用哈希表,问题是我从来没有使用过,所以我不确定它是否是正确的方法。我可以使用 MySQL 数据库吗?