| 6dd74de | | | 1 | grammar ArchitectureGrammar |
| 6dd74de | | | 2 | import "../common/common"; |
| 6dd74de | | | 3 | import "arch"; |
| 6dd74de | | | 4 | |
| 6dd74de | | | 5 | entry Architecture: |
| 6dd74de | | | 6 | NEWLINE* |
| 6dd74de | | | 7 | "architecture-beta" |
| 6dd74de | | | 8 | ( |
| 6dd74de | | | 9 | NEWLINE |
| 6dd74de | | | 10 | | TitleAndAccessibilities |
| 6dd74de | | | 11 | | Statement |
| 6dd74de | | | 12 | )* |
| 6dd74de | | | 13 | ; |
| 6dd74de | | | 14 | |
| 6dd74de | | | 15 | fragment Statement: |
| 6dd74de | | | 16 | groups+=Group |
| 6dd74de | | | 17 | | services+=Service |
| 6dd74de | | | 18 | | junctions+=Junction |
| 6dd74de | | | 19 | | edges+=Edge |
| 6dd74de | | | 20 | ; |
| 6dd74de | | | 21 | |
| 6dd74de | | | 22 | fragment LeftPort: |
| 6dd74de | | | 23 | ':'lhsDir=ARROW_DIRECTION |
| 6dd74de | | | 24 | ; |
| 6dd74de | | | 25 | |
| 6dd74de | | | 26 | fragment RightPort: |
| 6dd74de | | | 27 | rhsDir=ARROW_DIRECTION':' |
| 6dd74de | | | 28 | ; |
| 6dd74de | | | 29 | |
| 6dd74de | | | 30 | fragment Arrow: |
| 6dd74de | | | 31 | LeftPort lhsInto?=ARROW_INTO? ('--' | '-' title=ARCH_TITLE '-') rhsInto?=ARROW_INTO? RightPort |
| 6dd74de | | | 32 | ; |
| 6dd74de | | | 33 | |
| 6dd74de | | | 34 | Group: |
| 6dd74de | | | 35 | 'group' id=ID icon=ARCH_ICON? title=ARCH_TITLE? ('in' in=ID)? EOL |
| 6dd74de | | | 36 | ; |
| 6dd74de | | | 37 | |
| 6dd74de | | | 38 | Service: |
| 6dd74de | | | 39 | 'service' id=ID (iconText=STRING | icon=ARCH_ICON)? title=ARCH_TITLE? ('in' in=ID)? EOL |
| 6dd74de | | | 40 | ; |
| 6dd74de | | | 41 | |
| 6dd74de | | | 42 | Junction: |
| 6dd74de | | | 43 | 'junction' id=ID ('in' in=ID)? EOL |
| 6dd74de | | | 44 | ; |
| 6dd74de | | | 45 | |
| 6dd74de | | | 46 | Edge: |
| 6dd74de | | | 47 | lhsId=ID lhsGroup?=ARROW_GROUP? Arrow rhsId=ID rhsGroup?=ARROW_GROUP? EOL |
| 6dd74de | | | 48 | ; |
| 6dd74de | | | 49 | |
| 6dd74de | | | 50 | terminal ARROW_DIRECTION: 'L' | 'R' | 'T' | 'B'; |
| 6dd74de | | | 51 | terminal ARROW_GROUP: /\{group\}/; |
| 6dd74de | | | 52 | terminal ARROW_INTO: /<|>/; |