【问题标题】:How a control-statement, array, function (procedure) is compiled by a simple compiler?一个简单的编译器如何编译控制语句、数组、函数(过程)?
【发布时间】:2013-05-26 06:12:09
【问题描述】:

我只是想知道一个关于 if-else 语句、循环、过程如何被编译器解析的简单解释?

我发现它无法通过谷歌搜索...... :( 请帮助我进入这个......!!!

【问题讨论】:

  • 解析编译是非常不同的任务。你到底在问什么?
  • 我认为解析是编译的不同阶段之一。 @SLaks
  • 正确。 (相对于代码生成)你到底在问什么?
  • 我想简单解释一下编译器如何解析控制语句、数组等?简单的理论和例子!
  • 解析任何其他块或表达式的方式相同。 en.wikipedia.org/wiki/Parsing

标签: parsing compiler-construction compilation conditional-compilation


【解决方案1】:

解析是一个相当大且有些复杂的主题。如果您熟悉 Python,那么 Pyparsing 模块可能是一个不错的起点。它本身不是解析器,而是一种解析器生成器。

其他一些著名的解析器生成器是 ANTLR 和 Lex/Yacc。 Pyparsing 更简单(如果更慢),它接受众所周知的 BNF 作为其描述语言。看看下面的例子。

http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form

https://github.com/pyparsing/pyparsing

https://github.com/pyparsing/pyparsing/tree/master/examples

【讨论】:

猜你喜欢
  • 2011-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-20
  • 2011-09-12
  • 2012-08-16
相关资源
最近更新 更多