// 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 .