/*******************/ /*** Constructor ***/ /*******************/ public Declaration(string name, SymbolTableRecType type, ProgNode size, ProgNode initialize) { Name = name; Type = type; Size = size; Initialize = initialize; }
/*******************/ /*** Constructor ***/ /*******************/ public SymbolTableRec(string name, SymbolTableRecType type, int size, ProgNodeValue initialize) { Name = name; Type = type; Designation = (size == 1) ? SymbolTableRecDesig.SCALAR : SymbolTableRecDesig.ARRAY; values = new ProgNodeValue[size]; for (int i = 0; i < size; i++) { values[i] = initialize; } }
public SysFunc(string name, SymbolTableRecType type) { Name = name; Type = type; }
/*******************/ /*** Constructor ***/ /*******************/ public ProgCmdDeclare(string command, SymbolTableRecType type) : base(command) { this.Type = type; }
/************************/ /*** Public Functions ***/ /************************/ public void Delcare(Token variable, SymbolTableRecType type, ProgNode size, ProgNode initialize) { string name = variable.GetString(); variables.Add(new Declaration(name, type, size, initialize)); }
/************************/ /*** Public Functions ***/ /************************/ public void Declare(string name, SymbolTableRecType type, int size, ProgNodeValue initialize) { scope.Add(name, new SymbolTableRec(name, type, size, initialize)); }
public void Declare(string variable, SymbolTableRecType type, int size, ProgNodeValue initialize) { SymTable[activeScope].Declare(variable, type, size, initialize); }