FORM
4.2.1
|
#include "form3.h"
Go to the source code of this file.
Functions | |
int | NormPolyTerm (PHEAD WORD *term) |
int | ConvertToPoly (PHEAD WORD *term, WORD *outterm, WORD *comlist, WORD par) |
int | LocalConvertToPoly (PHEAD WORD *term, WORD *outterm, WORD startebuf, WORD par) |
int | ConvertFromPoly (PHEAD WORD *term, WORD *outterm, WORD from, WORD to, WORD offset, WORD par) |
WORD | FindSubterm (WORD *subterm) |
WORD | FindLocalSubterm (PHEAD WORD *subterm, WORD startebuf) |
void | PrintSubtermList (int from, int to) |
void | PrintExtraSymbol (int num, WORD *terms, int par) |
WORD | FindSubexpression (WORD *subexpr) |
int | ExtraSymFun (PHEAD WORD *term, WORD level) |
int | PruneExtraSymbols (WORD downto) |
Contains the functions that deal with the rewriting and manipulation of expressions/terms in polynomial representation.
Definition in file notation.c.
int LocalConvertToPoly | ( | PHEAD WORD * | term, |
WORD * | outterm, | ||
WORD | startebuf, | ||
WORD | par | ||
) |
Converts a generic term to polynomial notation in which there are only symbols and brackets. During conversion there will be only symbols. Brackets are stripped. Objects that need 'translation' are put inside a special compiler buffer and represented by a symbol. The numbering of the extra symbols is down from the maximum. In principle there can be a problem when running into the already assigned ones. This uses the FindTree for searching in the global tree and then looks further in the AT.ebufnum. This allows fully parallel processing. Hence we need no locks. Cannot be used in the same module as ConvertToPoly.
Definition at line 510 of file notation.c.