gpt4 book ai didi

c++ - 'look up' 关键字的最有效方法

转载 作者:太空狗 更新时间:2023-10-29 23:42:33 30 4
gpt4 key购买 nike

好吧,我正在编写一个函数作为词法分析器的一部分,它“查找”或搜索与关键字的匹配项。我的词法分析器捕获了所有明显的标记,例如单字符和多字符运算符 ( + - * / > < = == etc )(注释和空格也已被删除)所以我在收集了仅包含字母数字字符(包括下划线)的流后调用了一个函数一个string ,然后需要将该字符串作为已知关键字或标识符进行匹配。

所以我想知道如何识别它?我知道我基本上需要将它与某个列表或数组或所有内置关键字的某些内容进行比较,如果它匹配一个返回匹配它对应的枚举值;否则,如果没有匹配项,则它必须是函数或变量标识符。那么我应该如何寻找匹配项呢?我在某处读到,一种叫做二进制搜索树的东西是一种有效的方法,或者通过使用哈希表,问题是我从来没有使用过,所以我不确定它是否是正确的方法。我可以使用 MySQL 数据库吗?

最佳答案

如果您的关键字集是固定的,perfect hash可以为 O(1) 查找构建。查看gperfcmph .

关于c++ - 'look up' 关键字的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3757270/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com