• R/O
  • SSH

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2


Commit MetaInfo

Revisão8630266187d0837b2ddca5b5c3bba656ab486daf (tree)
Hora2022-04-19 23:59:48
AutorAlbert Mietus < albert AT mietus DOT nl >
CommiterAlbert Mietus < albert AT mietus DOT nl >

Mensagem de Log

Design/Peg.puml rewriten do it order top-down, without forcing

Mudança Sumário

Diff

diff -r 0802f43c877e -r 8630266187d0 Design/Peg.puml
--- a/Design/Peg.puml Tue Apr 19 15:35:56 2022 +0200
+++ b/Design/Peg.puml Tue Apr 19 16:59:48 2022 +0200
@@ -40,85 +40,80 @@
4040 package Peg #0077ff {
4141
4242 abstract PEG
43-PEG =up=|> AST_BASE
43+AST_BASE <|== PEG
4444
4545
4646
4747 abstract Terminal
48-Terminal =up=|> PEG
49-Terminal --up--|> MixIn_value_attribute
50-StrTerm =up=|> Terminal
51-RexExpTerm =up=|> Terminal
52-Number =up=|> Terminal
48+PEG <|== Terminal
49+MixIn_value_attribute <|... Terminal
50+Terminal <|== StrTerm
51+Terminal <|== RexExpTerm
52+Terminal <|== Number
5353
54-abstract Markers #ORANGE
55-Markers =up=|> PEG
56-annotation EOF #ORANGE
57-EOF =up=|> Markers
54+abstract Markers #Orange
55+annotation EOF #Orange
56+PEG <|== Markers
57+Markers <|== EOF
5858
5959 abstract NonTerminal
60-NonTerminal =up=|> PEG
60+PEG <|== NonTerminal
6161 abstract Expression
62-Expression =up=|> NonTerminal
62+NonTerminal <|== Expression
6363
6464 class Setting {
6565 name : ID
6666 value
6767 }
68-Setting =up=|> PEG
69-Setting -up-> ID
68+PEG <|== Setting
7069
7170 class Rule {
7271 name :ID
7372 expr :[] Expression
7473 }
75-Rule =up=|> NonTerminal
76-Rule -up-> ID
77-Rule ---> Expression
74+NonTerminal <|== Rule
7875
7976 interface Rules
80-Rules =up=|> PEG
81-Rules --up--|> MixIn_children_tuple
82-
83-ParseRules =up=|> Rules
84-Settings =up=|> Rules
85-
77+PEG <|== Rules
78+MixIn_children_tuple <|... Rules
79+Rules <|== ParseRules
80+Rules <|== Settings
8681
8782 class Grammar {
8883 +all_rules :Rules
8984 -parse_rules :ParseRules
9085 -settings :Settings
9186 }
92-Grammar =up=|> NonTerminal
87+NonTerminal <|== Grammar
9388
9489
9590 abstract Group
96-Group =up=|> Expression
97-UnorderedGroup =up=|> Group
98-UnorderedGroup --up--|> MixIn_expr_attribute
91+Expression <|== Group
92+Group <|== UnorderedGroup
93+MixIn_expr_attribute <|... UnorderedGroup
9994 abstract Quantity
100-Quantity =up=|> Group
101-Quantity --up--|> MixIn_expr_attribute
102-Sequence =up=|> Expression
103-Sequence --up--|> MixIn_children_tuple
95+Group <|== Quantity
96+MixIn_expr_attribute <|... Quantity
97+Expression <|== Sequence
98+MixIn_children_tuple <|... Sequence
10499
105-OrderedChoice =up=|> Expression
106-OrderedChoice --up--|> MixIn_children_tuple
100+Expression <|== OrderedChoice
101+MixIn_children_tuple <|... OrderedChoice
107102
108103 class Optional << (?, #0077ff) >>
109-Optional =up=|> Quantity
104+Quantity <|== Optional
110105 class ZeroOrMore << (*, #0077ff) >>
111-ZeroOrMore =up=|> Quantity
106+Quantity <|== ZeroOrMore
112107 class OneOrMore << (+, #0077ff) >>
113-OneOrMore =up=|> Quantity
108+Quantity <|== OneOrMore
114109
115110 abstract Predicate
116-Predicate =up=|> Expression
117-Predicate --up--|> MixIn_expr_attribute
111+Expression <|== Predicate
112+MixIn_expr_attribute <|... Predicate
118113 class AndPredicate << (&, #0077ff) notconsuming >>
119-AndPredicate =up=|> Predicate
114+Predicate <|== AndPredicate
120115 class NotPredicate << (! ,#0077ff) not consuming >>
121-NotPredicate =up=|> Predicate
116+Predicate <|== NotPredicate
122117
123118 }
124119 @enduml
@@ -135,4 +130,3 @@
135130
136131
137132
138-