Abstract syntax represents DSL content as structured data containing its essential information while omitting the notational details of concrete syntax. It makes language structure explicit and suitable for programmatic manipulation. section 2.2 section 2.0
Derive abstract syntax from concrete DSL content by:
- Identifying visual cues such as keywords, symbols, boxes, arrows, and other markers. section 2.2
- Representing each essential construct as an object with a concept label and properties. section 2.2
- Connecting nested objects through containment relations and representing cross-links as reference relations. section 2.2
- Recording values such as names, types, numbers, and references in the resulting structured data. section 2.2
Rental record type
A Rental record type becomes one Record Type object named Rental. Its four attributes become connected attribute objects, each carrying properties such as name, type, and initial value. Ignoring reference relations, the resulting object-relation diagram can be laid out as an abstract syntax tree. section 2.2 section 2.3
Figure 2.18 The extracted ORD (without the reference relation) laid out as a tree
Inspect the extracted object-relation diagram as a tree, then compare its structure with the original Rental notation. section 2.2
