Program.xcc
Benoit Dupont de Dinechin (Benoit.Dupont-de-Dinechin@st.com).
Copyright 2002 - 2007 STMicroelectronics. Copyright 1995 - 1998 Commissariat a l'Energie Atomique.
This program is free software; you can redistribute it and/or modify it under the terms of either (at your option): the GNU General Public License (GPL) version 2; the GNU Lesser General Public License (LGPL) version 2.1; any later version of these licences as published by the Free Software Foundation.
Program— Representation of a program.
struct Program_;
Program_memory— This Program Memory.
Memory Program_memory(Program this);
Program_labelTable— This Program LabelTable.
LabelTable Program_labelTable(Program this);
Program_symbolTable— This Program SymbolTable.
SymbolTable Program_symbolTable(Program this);
Program_procedureTable— For use by Program_FOREACH_Procedure.
ProcedureTable Program_procedureTable(Program this);
Program_FOREACH_Procedure— Enumerate this Program Procedure(s).
#define Program_FOREACH_Procedure(this, procedure) \ ProcedureTable_FOREACH_Procedure(Program_procedureTable(this), procedure) #define Program_ENDEACH_Procedure \ ProcedureTable_ENDEACH_Procedure
Program_optimize— This Program Optimize.
Optimize Program_optimize(Program this);
Program_convention— This Program Convention.
Convention Program_convention(Program this);
Program_configure— This Program Configure.
Configure Program_configure(Program this);
Program_dedicated— This Program array of dedicated Temporary(ies).
struct Temporary_ * Program_dedicated(Program this);
Program_invariants— For use by Program_FOREACH_Temporary.
IBList Program_invariants(Program this);
Program_FOREACH_TemporaryInvariant— Iterate this Program TemporaryInvariant(s).
#define Program_FOREACH_TemporaryInvariant(this, invariant) \ IBList_FOREACH(Program_invariants(this), TemporaryInvariant_, invariant) #define Program_ENDEACH_TemporaryInvariant \ IBList_ENDEACH;
Program_DEDICATED_FOREACH_Temporary— Iterate this DEDICATED Temporary(ies).
#define Program_DEDICATED_FOREACH_Temporary(this, temporary) { \ Temporary_ *Program_DEDICATED = Program_dedicated(this); \ Register Program_REGISTER = Register__UNDEF; \ for (; Program_REGISTER < Register__COUNT; Program_REGISTER++) { \ Temporary temporary = Program_DEDICATED + Program_REGISTER; #define Program_DEDICATED_ENDEACH_Temporary \ } \ }
Program_makeAbsoluteTemporary— Make a new absolute invariant Temporary.
Temporary Program_makeAbsoluteTemporary(Program this, ImmediateValue value, Relocation relocation);
Program_makeProcedure— Make a new Procedure for this Program.
Procedure Program_makeProcedure(Program this, Symbol symbol);
Program_killProcedure— Kill a Procedure of this Program.
Only the global Symbol of the Procedure is left in this Program.
void Program_killProcedure(Program this, Procedure procedure);