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

表达编程语言语义(ast->asg)

  •  1
  • none  · 技术社区  · 15 年前

    你对表达计算机语言的信息/研究有什么建议吗? 语义 同样,使用编码/标记符号(例如ebnf)将语法要求形式化?

    谢谢

    2 回复  |  直到 15 年前
        1
  •  3
  •   Norman Ramsey    15 年前

    关于这个问题有很多文献。彼得·莫斯写了一本书叫做 动作语义学 .彼得·李和安德鲁·阿佩尔都做了关于从语义的正式描述中生成编译器的博士论文;我认为彼得的著作是一本书。

    BillWaite在科罗拉多的团队开发了一个名为eli的编译器构建工具包,涵盖了从词法分析到语义的所有内容。TomReps在属性语法方面的工作,除其他外,还适用于语言语义。也有一些欧洲作品使用了属性语法,但我记不起缩写词和人。

    最好的地方可以包括

    • Don Knuth关于属性语法的原著
    • 李彼得的论文
    • ELI
    • 也许是彼得·莫斯的书,尽管我似乎记得我觉得它很沉重
        2
  •  1
  •   Scott Wisniewski    15 年前

    本杰明皮尔斯的书 Types and Programming Languages 是一个很好的开始的地方。它使用“操作性小步骤语义”作为编程语言的正式规范。

    另一个好的资源可能是 John Boyland's PHD thesis .

    他开发了一个名为aps的系统,可以使用属性语法生成整个编译器。