Changes between Version 134 and Version 135 of IR2


Ignore:
Timestamp:
09/18/21 18:03:25 (5 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IR2

    v134 v135  
    33== Language principles ==
    44
    5 * CIVL-IR is a subset of CIVL-C.  A CIVL-IR program is a CIVL-C program, and has the same semantics.
    65* CIVL-IR should be a small language.   Whenever there is a way to express a new construct using other existing constructs, the preferred approach is to not add the new construct to the language.
    76* CIVL-IR is to be as close as possible to a language representation of a CIVL "Model".   This is the lowest-level representation of a CIVL program, one appropriate for efficient (symbolic) execution and/or model checking.
     
    1514
    1615=== Questions ===
     16
     171. **Why are typedefs necessary?**
     18  * Certain places require a type described by a single identifier, although maybe that is an unnecessary restriction.  Examples include instantiations of parameterized types: `mytype<T1,T2,T3>`.    They make programs shorter and easier to read and understand.   For diagnostics, you want to use the user's typedef name.
     19
     201. **Why do we need parameterized structs and unions?  Isn't it enough to have parameterized typedefs?**
     21Quite possibly.
    1722
    18231. **Do variables have default initial values?**