【问题标题】:lex/yacc and parser/scannerlex/yacc 和解析器/扫描器
【发布时间】:2017-11-06 13:04:03
【问题描述】:

lex 和 yacc 应该一起使用。

哪个是扫描器,哪个是解析器?

哪个创建扫描器,哪个创建解析器?

【问题讨论】:

  • 认真的吗?你不能只是,你知道,检查手册页?
  • 这东西有点令人困惑,所以我需要一个活生生的大脑来验证我。
  • 哇,你真的是在通过 StackOverflow 在期末考试中作弊吗?你之前问过关于 lex 和 yacc 的问题要实用得多,所以我不得不得出结论,你只是不知道自己在做什么,并且正在削弱我们其他人的 compsci 学位的价值。

标签: parsing bison yacc lex lexical-analysis


【解决方案1】:

Lex (flex) 是词法扫描器。 Yacc (bison) 是 LALR 解析器生成器。

【讨论】:

  • 所以 lex 扫描,然后 yacc 创建一个解析器(它本身不是解析器。)
  • 正确。 Lex 生成由 yacc 语法生成的解析器使用的标记。
【解决方案2】:

您会发现 Wikipedia 对所有这些软件工具都有很好的解答,并且会简明扼要地解释它们。当您想要一个标准问题的明确答案时,它通常是最好的起点。 这是 http://en.wikipedia.org/wiki/Lex_(software)

在计算机科学中,lex 是一个程序 生成词法分析器 (“扫描仪”或“词法分析器”)。[1]莱克斯是 通常与 yacc 解析器一起使用 生成器。

还有很多

【讨论】:

    猜你喜欢
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多