Thursday, June 27, 2013

Removed Temporary Strings

The current translator routines will be left in place and kept operational as the new translator routines are implemented.  Before proceeding with the new routines, the temporary string data type was removed since it is no longer needed.  For now, the sub-string data type remains, but this too will be removed.

String operands were being attached to operators and internal functions that contained string operands since the translator can't determine if operands were regular strings (from variables and arrays) or temporary strings (from functions).  The encoder was going to make this decision.  Since all strings will now be temporary, strings operands no longer need to be attached.

All the operator and internal functions with various codes for all the combinations of regular strings and temporary strings were removed from the table along with the various operand arrays and expression information structures with temporary strings and associated code arrays.  The table also included the number of strings operands along with a flag whether the code contained string operands.  These were only used for attaching string operands, and so were removed.

 The expected test results files were updated since there are no longer any string operands attached to tokens.  Another small change was made to the translator where a single parser instance is now created in the constructor and deleted in destructor instead of creating a local parser instance for every line translated.

[commit 35f201d96c] [commit 86ca56c673]