Multiple Changes to CIVL Code
Model Changes
- add a method to expressions like
SymbolicExpression getConstantValue()and a corresponding setter, to cache the value of any expression that has a constant value, such as a literal expression - add new subtype of
Variable:CIVLScopeVariablewith methodScope getScope();
- add to the CIVL pointer type a method to get the scope variable, implement appropriate constructors and modifications to the factory, etc.
Semantics Changes
- use interfaces for
Executor,Evaluator, etc. - finish javadocs for all methods
- don't use
Vector. UseLinkedListif you only need to iterate; useArrayListif you need constant time access - use
switchinstead of bigif...else if…sequence (mostly DONE) - implement pointer subtraction
- construct and set the heap type in the constructor for
Evaluator, just like the other special types
Translation
Thoughts on processing struct definitions:
- transform the AST to factor out all struct definitions embedded in declarations. This is really part of "side-effect-removal".
Last modified
13 years ago
Last modified on 08/09/13 11:45:00
Note:
See TracWiki
for help on using the wiki.
