collab/mermaid/packages/parser/src/language/architecture/architecture.langiumblame
View source
6dd74de1grammar ArchitectureGrammar
6dd74de2import "../common/common";
6dd74de3import "arch";
6dd74de4
6dd74de5entry Architecture:
6dd74de6 NEWLINE*
6dd74de7 "architecture-beta"
6dd74de8 (
6dd74de9 NEWLINE
6dd74de10 | TitleAndAccessibilities
6dd74de11 | Statement
6dd74de12 )*
6dd74de13;
6dd74de14
6dd74de15fragment Statement:
6dd74de16 groups+=Group
6dd74de17 | services+=Service
6dd74de18 | junctions+=Junction
6dd74de19 | edges+=Edge
6dd74de20;
6dd74de21
6dd74de22fragment LeftPort:
6dd74de23 ':'lhsDir=ARROW_DIRECTION
6dd74de24;
6dd74de25
6dd74de26fragment RightPort:
6dd74de27 rhsDir=ARROW_DIRECTION':'
6dd74de28;
6dd74de29
6dd74de30fragment Arrow:
6dd74de31 LeftPort lhsInto?=ARROW_INTO? ('--' | '-' title=ARCH_TITLE '-') rhsInto?=ARROW_INTO? RightPort
6dd74de32;
6dd74de33
6dd74de34Group:
6dd74de35 'group' id=ID icon=ARCH_ICON? title=ARCH_TITLE? ('in' in=ID)? EOL
6dd74de36;
6dd74de37
6dd74de38Service:
6dd74de39 'service' id=ID (iconText=STRING | icon=ARCH_ICON)? title=ARCH_TITLE? ('in' in=ID)? EOL
6dd74de40;
6dd74de41
6dd74de42Junction:
6dd74de43 'junction' id=ID ('in' in=ID)? EOL
6dd74de44;
6dd74de45
6dd74de46Edge:
6dd74de47 lhsId=ID lhsGroup?=ARROW_GROUP? Arrow rhsId=ID rhsGroup?=ARROW_GROUP? EOL
6dd74de48;
6dd74de49
6dd74de50terminal ARROW_DIRECTION: 'L' | 'R' | 'T' | 'B';
6dd74de51terminal ARROW_GROUP: /\{group\}/;
6dd74de52terminal ARROW_INTO: /<|>/;