代码之家  ›  专栏  ›  技术社区  ›  Imagist

C语言的递归下降分析器

  •  8
  • Imagist  · 技术社区  · 15 年前

    1. 用C写的(
    2. 手写(未生成)。
    3. 能够非平凡地解析自身(可以是C的子集)。

    它可以是一个项目的一部分,只要它是解耦的,这样我就可以拉出解析器。

    现有的解析器是否满足这些需求?

    8 回复  |  直到 15 年前
        1
  •  7
  •   Norman Ramsey    15 年前

    如果你不需要C99,那么 lcc

    • 它被记录在一本非常清晰、写得很好的书中。
    • 清晰的手写ANSI C代码。

    一个潜在的缺点是 lcc 解析器不构建抽象语法树,而是直接从解析到中间代码。

        2
  •  2
  •   blwy10    15 年前
        3
  •  1
  •   themis    15 年前

    TCC . 它是根据较小的GPL授权的。

        4
  •  0
  •   lazyden    15 年前

    看来 nwcc 完全符合你的要求。

        6
  •  -1
  •   Grandpa    15 年前

    GCC在GCC/c-parser.c中有一个。

        7
  •  -1
  •   Pascal Cuoq    15 年前

    其主要用途是C++,但它也解析C代码。

    page ,在“Elsa能解析多少C?”它可以解析大多数C程序,包括Linux内核。

        8
  •  -1
  •   Gabriel Anzziani    14 年前

    下面是我移植到C的递归下降解析器: http://www.gabotronics.com/resources/recursive-descent-parser.htm