📄 level.java
字号:
package Translate;public class Level { // public per poterlo utilizzare // nel costruttore di Semant public Frame.Frame frame; // il primo accesso dei formals e' lo STATIC LINK // livello padre public Level parent; public AccessList formals; public Level(Level parent,Symbol.Symbol name, Util.BoolList fmls) { frame = parent.frame.newFrame(new Temp.Label(name),new Util.BoolList(true, fmls)); this.parent = parent; formals = set_formals(frame.formals.tail); // System.out.println("formals attuali= " + formals); } public Level(Frame.Frame f) { frame = f; parent = null; formals = null; } // prende il Frame.Access a cui attaccare // il livello corrente per restituire il Translate.Access public Access allocLocal(boolean escape) { return new Access(this,frame.allocLocal(escape)); } private AccessList set_formals(Frame.AccessList ff) { if(ff==null) return null; return new AccessList(new Access(this, ff.head), set_formals(ff.tail)); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -