A system is presented that selectively enables expression folding during
compilation of a program, wherein the compilation converts the program
from source code into executable code. The system operates by forming an
expression tree for an expression within the source code which includes an
assignment operator. If the assignment operator is a first assignment
operator that is a value assignment, only the computed value can be used
in subsequent expressions, thereby disabling expression folding during the
compilation process. On the other hand, if the assignment operator is a
second assignment operator that specifies an expression assignment, the
entire expression can be used in place of the variable on the left of the
expression assignment, thereby enabling expression folding during the
compilation process. The expression can include a mathematical interval.
The expression folding can involve substituting a first expression for a
variable within a second expression, and then simplifying the result.
Un sistema è presentato che permette selettivamente l'espressione che si piega durante la compilazione di un programma, in cui la compilazione converte il programma dal codice sorgente in codice eseguibile. Il sistema funziona formando un albero di espressione per un'espressione all'interno del codice sorgente che include un operatore di assegnazione. Se l'operatore di assegnazione è un primo operatore di assegnazione che è un'assegnazione di valore, solo il valore computato può essere usato nelle espressioni successive, espressione quindi inabilitante che si piega durante il processo della compilazione. D'altra parte, se l'operatore di assegnazione è un secondo operatore di assegnazione che specifica un'assegnazione di espressione, l'intera espressione può essere usata al posto della variabile a sinistra dell'assegnazione di espressione, quindi permettente l'espressione che si piega durante il processo della compilazione. L'espressione può includere un intervallo matematico. La piegatura di espressione può coinvolgere sostituire una prima espressione per una variabile all'interno di una seconda espressione ed allora facilitare il risultato.