| 3 | [[TOC(inline)]] |
| 4 | |
| 5 | == Incompatible Changes == |
| 6 | |
| 7 | There are a few incompatibilities with the previous c/c++ implementation of the pan compiler. These changes should have only a minor impact on actual usage of the pan language. |
| 8 | |
| 9 | '''The 'final' keyword is not enforced in structure templates.''' Because of implementation details, this functionality has not been implemented in the first java version. It will be implemented in a future release. This should have a minor impact because the final keyword is usually used with absolute paths or with global variables, both of which are enforced with the first java implementation. |
| 10 | |
| 11 | '''Assignment expressions can no longer be embedded in DML.''' Previous versions of the pan compiler allowed assignment operations to appear anywhere in an expression. This leads to ambiguous expressions (from a user's point-of-view) and forces the grammar to be LL(2) rather than LL(1) in many places (slowing down the parsing). Given that this construct is rarely used, this has not been implemented in the java version of the compiler. |
| 12 | |
| 13 | == Evolution == |