gpt4 book ai didi

java - 试图理解解析器

转载 作者:行者123 更新时间:2023-11-30 09:49:49 25 4
gpt4 key购买 nike

我正在尝试使用 JavaCC 构建一个可以处理各种表达式的简单命令行计算器。虽然有很多关于如何编写语法的教程,但到目前为止我还没有看到任何教程解释之后会发生什么。

我现在的理解是,在一个字符串被传递到解析器之后,它被拆分成一个标记并变成一个解析树。接下来发生什么?我是否遍历解析树,对每个节点的内容进行一堆 if-else 字符串比较,然后执行适当的功能?

最佳答案

我强烈建议您观看 Scott Stanchfield's ANTLR 3.x tutorials .即使您最终没有使用 ANTLR,这对您的项目来说可能有点矫枉过正,但我​​对此表示怀疑,通过观察他的思考过程,您会学到很多东西。

一般来说这个过程是...

  1. 构建一个词法分析器来理解您的标记
  2. 构建一个可以验证和理解输入并将其组织到抽象语法树 (AST) 中的解析器,它应该代表简化/易于使用的语法版本
  3. 根据 AST 运行任何计算

关于java - 试图理解解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5560557/

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