This document describes what parts of the alf standard are already implemented. Limitations are listed as subpoints of the chapters.
- 7.1 General (no implementation needed)
- 7.2 Line Terminators (implemented by MPS Editor)
- 7.3 Input Elements and Tokens (no implementation needed)
- 7.4 White Space
- Entering white space characters is not supported (except line terminator)
- Separating tokens that would otherwise be considered to be part of a single token by way of the MPS editor
- 7.5 Comments
- Comments are only supported on their own line
- 7.6 Names
- 7.7 Reserved words
- 7.8 Primitive Literals
- only lowercase b and x in prefix for binary and hex naturals
- only uppercase A-F in value of hex naturals
- only lowercase e for exponent of reals
- 7.9 Punctuation (no need to explicitly implement anything here)
- 7.10 Operators (no need to explicitly implement anything here)
- 8.1 Overview (Local Names and Assigned Sources)
- 8.2 Qualified Names
- not DotQualifiedName
- not Templates
- 8.3 Primary Expressions
- 8.3.1 Overview (no implementation needed)
- 8.3.2 Literal Expressions
- 8.3.3 Name Expressions
- 8.3.4 this Expressions
- 8.3.5 Parenthesized Expressions
- 8.3.6 Property Access Expressions
- 8.3.7 Invocation Expressions
- 8.3.8 Tuples
- not named Tuples
- 8.3.9 Behavior Invocation Expressions
- 8.3.10 Feature Invocation Expressions
- 8.3.11 Super Invocation Expressions
- 8.3.12 Instance Creation Expressions
- 8.3.13 Link Operation Expressions
- 8.3.14 Class Extent Expressions
- 8.3.15 Sequence Construction Expressions
- 8.3.16 Sequence Access Expressions
- 8.3.17 Sequence Operation Expressions
- 8.3.18 Sequence Reduction Expressions
- 8.3.19 Sequence Expansion Expressions
- 8.3.20 select and reject Expressions
- 8.3.21 collect and iterate Expressions
- 8.3.22 forAll, exists and one Expressions
- 8.3.23 isUnique Expressions
- 8.4 Increment and Decrement Expressions
- 8.5 Unary Expressions
- 8.5.1 Overview (Base abstract syntax)
- 8.5.2 Boolean Unary Expressions
- 8.5.3 BitString Unary Expressions
- 8.5.4 Numeric Unary Expressions
- 8.5.5 Cast Expressions
- 8.5.6 Isolation Expressions
- 8.6 Binary Expressions
- 8.6.1 Overview (Base abstract syntax)
- 8.6.2 Arithmetic Expressions
- 8.6.3 Shift Expressions
- 8.6.4 Relational Expressions
- 8.6.5 Classification Expressions
- 8.6.6 Equality Expressions
- 8.6.7 Logical Expressions
- 8.6.8 Conditional Expressions
- 8.6.9 Null-Coalescing Expressions
- 8.7 Conditional-Test Expressions
- 8.8 Assignment Expressions
- Not indexed left hand side
- 9.1 Overview (Block, Statement, DocumentedStatement)
- 9.2 Annotated Statements
- 9.3 In-line Statements
- 9.4 Block Statements
- 9.5 Empty Statements
- 9.6 Local Name Declaration Statements
- Only the let name : type version not the type name one
- Only normal expressions as initialization not the short variants
- 9.7 Expression Statements
- 9.8 if Statements
- 9.9 switch Statements
- 9.10 while Statements
- 9.11 do Statements
- 9.12 for Statements
- 9.13 break Statements
- 9.14 return Statements
- 9.15 accept Statements
- 9.16 classify Statements
- 10.1 Overview
- no alias for imports
- no parameters for stereotypes
- 10.2 Namespaces
- 10.3 Packages
- 10.4 Classifiers
- 10.4.1 Overview
- not template parameters
- no editor for abstract
- 10.4.2 Classes
- 10.4.3 Active Classes
- 10.4.4 Data Types
- only primitive datatypes
- 10.4.5 Associations
- 10.4.6 Enumerations
- 10.4.7 Signals
- 10.4.8 Activities
- not template parameters
- parameters cannot have comments or stereotypes
- parameters cannot have both the nonunique and ordered flags simultaneously (use the equivalent sequence flag)
- 10.4.1 Overview
- 10.5 Features
The features of the standard model library will not be implemented in the language definition of alfi. Rather, it will be implemented as a model written with/in alfi. All elements marked as primitive must be mapped to some actual implementation When running generated Alf code, the implementation will be provided by the Alf implementation. For target languages, a mapping from these elements to suitable elements in the target language must be defined.
- 11.1 Overview (no implementation needed)
- 11.2
ActionLanguage Profile(not implemented in alfi as alfi is not a UML tool) - 11.3 Primitive Types
- 11.4 Primitive Behaviors
- Only the
ToString
methods
- Only the
- 11.5 Basic Input and Output
- Only
ReadLine
andWriteLine
and withouterrorStatus
parameter
- Only
- 11.6 Collection Functions
- 11.7 Collection Classes