Changes between Version 134 and Version 135 of IR2
- Timestamp:
- 09/18/21 18:03:25 (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
IR2
v134 v135 3 3 == Language principles == 4 4 5 * CIVL-IR is a subset of CIVL-C. A CIVL-IR program is a CIVL-C program, and has the same semantics.6 5 * 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. 7 6 * 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. … … 15 14 16 15 === Questions === 16 17 1. **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 20 1. **Why do we need parameterized structs and unions? Isn't it enough to have parameterized typedefs?** 21 Quite possibly. 17 22 18 23 1. **Do variables have default initial values?**
