wiki:OmnibusChanges

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: CIVLScopeVariable with method
    • Scope 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. Use LinkedList if you only need to iterate; use ArrayList if you need constant time access
  • use switch instead of big if...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.