Changes between Version 6 and Version 7 of AST


Ignore:
Timestamp:
04/18/11 17:16:34 (15 years ago)
Author:
Stephen Siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AST

    v6 v7  
    5454       * sequence of elements
    5555 * variable definition
    56     * scope
     56    * scope (global, input/output, ...)
    5757    * name (together with scope, this uniquely identifies the variable)
    5858    * type
     
    7272 * statements
    7373   * labels: set of labels associated to this statement.   The labels all correspond to the point of control just before the statement.
    74    * assign: lhs:=rhs;  Note statements like x+=a, x*=a will be immediately translated to x:=x+1, x:=x*a, etc.
    75       * lhs: LeftHandSideExpression
    76       * rhs: expression
    77    * assert
     74   * assert: this could come from a program language assert or a TASS pragma
    7875      * expr: Expression
    79    * assume
     76   * assume: these come from TASS pragmas
    8077      * expr: Expression
    8178   * pragma (any kind of pragma, represented as just a string)
    8279      * string: this is an initial form, where the text of the pragma is uninterpreted.   After a certain processing stage, TASS pragmas will be parsed and replaced with more specific nodes.  Non-tass pragmas will just remain as strings and will be ignored by TASS.
    83       * assert, assume, invariant, input, output, ...
    8480   * switch statement: this can be used to model C's switch
    8581      * expression: expression that is evaluated
     
    8884         * statement (or something like that)
    8985   * if-then, if-then-else
    90    * while
     86   * while: loop.   associated invariant (derived from TASS invariant pragma)
    9187   * for
    92    * until
     88   * do...until
    9389   * break
    9490   * continue