📅  最后修改于: 2020-12-06 07:32:09             🧑  作者: Mango
过程是编译器的重要且经常使用的编程结构。它用于为过程调用和返回生成良好的代码。
呼叫的转换包括在每个过程的进入和退出时采取的一系列操作。在调用顺序中将执行以下操作:
S → call id(Elist)
Elist → Elist, E
Elist → E
Production Rule | Semantic Action |
---|---|
S → call id(Elist) | for each item p on QUEUE do GEN (param p) GEN (call id.PLACE) |
Elist → Elist, E | append E.PLACE to the end of QUEUE |
Elist → E | initialize QUEUE to contain only E.PLACE |
队列用于存储过程调用中的参数列表。