// Class dictionary (cd-parse) for parsing
// my subtractions
//Demeter_in = Input .
//Input : Cd_graph
// *common* .
// my subtractions
Cd_graph = Adjacency_nlist
[ "*terminal_sets*" Vertex_comma_list "." ] .
Adjacency = Vertex
[ "(" Vertex_comma_list ")" ]
Neighbors
"." .
Neighbors : Neighbors_wc |
Repetit_n
*common* .
Neighbors_wc : Construct_ns |
Alternat_ns
*common* .
Construct_ns = "="
Any_vertex_list .
Alternat_ns = ":"
Term_bar_list
[ Common ]
Any_vertex_list .
Common = "*common*" .
Repetit_n = "~"
Kernel_Sandwich .
Kernel = [ Term ]
"{"
Term_Sandwich
"}" .
Any_vertex : Opt_labeled_term |
Optional_term |
Syntax_vertex |
Inherit_term
*common* .
Vertex = DemIdent .
Syntax_vertex : Regular_syntax |
Print_command
*common* .
Regular_syntax = DemString .
Print_command : Print_indent |
Print_unindent |
Print_skip |
Print_space
*common* .
Print_indent = "+" .
Print_unindent = "-" .
Print_skip = "*l" .
Print_space = "*s" .
Opt_labeled_term : Labeled |
Regular
*common* .
StaticSpec = "*static*" .
AccessorSpec : ReadOnlyAcc |
PrivateAcc
*common* .
ReadOnlyAcc = "*read-only*" .
PrivateAcc = "*private*" .
Regular = [ StaticSpec ]
[ AccessorSpec ]
Term .
Labeled = "<"
DemIdent
">"
[ StaticSpec ]
[ AccessorSpec ]
Term .
Inherit_term = "*inherit*"
Term_comma_list .
Term : Normal |
CppTerm
*common* .
CppTerm = "$"
Vertex
TermRef
[ "(" Term_comma_list ")" ] .
TermRef : LocalRef |
ModuleRef
*common* .
ModuleRef : CompRef |
LibRef
*common* .
LocalRef = .
CompRef = "@"
DemIdent .
LibRef = "@@"
DemIdent .
Normal = Vertex
TermRef
[ "(" Term_comma_list ")" ] .
Optional_term = "["
Opt_labeled_term_Sandwich
"]" .
Lc = DemIdent
DemIdent .
Item_set = - Lc
DemNumber
DemIdent_list .
Set_of_item_sets = DemNumber
Item_set_list .
Belongs_to_set = DemIdent
DemNumber
Lc_list .
Set_of_belongs_to_sets = Belongs_to_set_list .
Tree_structure =
- Lc
Lc
Lc .
Set_of_tree_structures = Tree_structure_list .
Inheritanceentry = DemIdent
DemNumber
Term_list .
Inheritancereport = Inheritanceentry_list .
Adjacency_nlist ~ Adjacency { Adjacency } .
Vertex_comma_list ~ Vertex { "," Vertex } .
Any_vertex_list ~ { Any_vertex } .
Term_bar_list ~ Term { "|" Term } .
Kernel_Sandwich = Syntax_vertex_list
Kernel
Syntax_vertex_list .
Term_Sandwich = Syntax_vertex_list
Term
Syntax_vertex_list .
Term_comma_list ~ Term { "," Term } .
Opt_labeled_term_Sandwich = Syntax_vertex_list
Opt_labeled_term
Syntax_vertex_list .
// my additions
Ar_Vertex = Vertex Vertex_comma_list Vertex.
Ar_Vertex_list ~ {Ar_Vertex} .
// my additions
DemIdent_list ~ { DemIdent } .
Item_set_list ~ { Item_set } .
Lc_list ~ { Lc } .
Belongs_to_set_list ~ { Belongs_to_set } .
Tree_structure_list ~ { Tree_structure } .
Term_list ~ { Term } .
Inheritanceentry_list ~ { Inheritanceentry } .
Syntax_vertex_list ~ { Syntax_vertex } .
*terminal_sets* DemText , DemReal , DemString , DemIdent , DemNumber .