// Class dictionary (cd-print) for printing
D__demeter_in = D__input .
D__input : D__cd_graph
*common* .
D__cd_graph = D__adjacency_nlist
[ "*terminal_sets*" D__vertex_comma_list "." ] .
D__adjacency = D__vertex
D__neighbors
[ "(firstset" D__ll1setelement_comma_list ")" ]
"." .
D__neighbors : D__neighbors_wc |
D__repetit_n
*common* .
D__neighbors_wc : D__construct_ns |
D__alternat_ns
*common* .
D__construct_ns = "="
D__any_vertex_List .
D__alternat_ns = ":"
D__term_bar_list
[ D__common ]
D__any_vertex_List .
D__common = "*common*" .
D__repetit_n = "~"
D__kernel_sandwich .
D__kernel = [ D__term ]
"{"
D__term_sandwich
"}" .
D__any_vertex : D__opt_labeled_term |
D__optional_term |
D__syntax_vertex |
D__inherit_term
*common* .
D__vertex = D__ident .
D__syntax_vertex : D__regular_syntax |
D__print_command
*common* .
D__regular_syntax = D__string .
D__print_command : D__print_indent |
D__print_unindent |
D__print_skip |
D__print_space
*common* .
D__print_indent = "+" .
D__print_unindent = "-" .
D__print_skip = "*l" .
D__print_space = "*s" .
D__opt_labeled_term : D__labeled |
D__regular
*common* .
D__regular = D__term .
D__labeled = "<"
D__ident
">"
D__term .
D__inherit_term = "*inherit*"
D__term_comma_list .
D__term : D__normal |
D__cppTerm
*common* .
D__normal = D__vertex
D__termRef
[ "(D__normalFirstset" D__ll1setelement_comma_list ")" ] .
D__cppTerm = "$"
D__vertex
D__termRef
[ "(D__normalFirstset" D__ll1setelement_comma_list ")" ] .
D__termRef : D__localRef |
D__moduleRef
*common* .
D__moduleRef : D__compRef |
D__libRef
*common* .
D__localRef = .
D__compRef = "@"
D__ident .
D__libRef = "@@"
D__ident .
D__optional_term = "["
D__opt_labeled_term_sandwich
"]" .
D__ident = DemIdent .
D__string = DemString .
D__ll1setelement = [ D__string ]
[ D__tepsilon ]
[ D__tclassterminal ] .
D__tepsilon = "*epsilon*" .
D__tclassterminal = "*classterminal*"
D__ident .
D__Obj_graph = D__Inst_or_adj_comma_list .
D__Inst_or_adj : D__Named_adjacency |
D__Part_adjacency
*common* .
D__Named_adjacency = D__ident
[ D__Part_adjacency ] .
D__Part_adjacency = ":"
D__Vertex
D__Constituents .
D__Constituents : D__None |
D__Construction_parts |
D__Repetition_parts |
D__Terminal_value
*common* .
D__None = .
D__Construction_parts = "("
+
D__Labeled_adjacency_List
-
")" .
D__Repetition_parts = "{"
[ *l + D__Inst_or_adj_comma_list - ]
"}" .
D__Terminal_value = D__string .
D__Labeled_adjacency = D__Label
D__Inst_or_adj .
D__Label = "<"
D__ident
">" .
D__Vertex = D__ident .
D__Renames = "*rename*"
D__Conversion_comma_list .
D__Conversion = D__Name
"=>"
D__Name .
D__Name = D__ident .
D__adjacency_nlist ~ D__adjacency { D__adjacency } .
D__vertex_comma_list ~ D__vertex { "," D__vertex } .
D__ll1setelement_comma_list ~ D__ll1setelement { "," D__ll1setelement } .
D__any_vertex_List ~ { D__any_vertex } .
D__term_bar_list ~ D__term { "|" D__term } .
D__kernel_sandwich = D__syntax_vertex_List
D__kernel
D__syntax_vertex_List
[ "(sandwichFirstset" D__ll1setelement_comma_list ")" ] .
D__term_sandwich = D__syntax_vertex_List
D__term
D__syntax_vertex_List
[ "(sandwichFirstset" D__ll1setelement_comma_list ")" ] .
D__term_comma_list ~ D__term { "," D__term } .
D__opt_labeled_term_sandwich = D__syntax_vertex_List
D__opt_labeled_term
D__syntax_vertex_List
[ "(sandwichFirstset" D__ll1setelement_comma_list ")" ] .
D__Inst_or_adj_comma_list ~ D__Inst_or_adj { "," *l D__Inst_or_adj } .
D__Labeled_adjacency_List ~ { *l D__Labeled_adjacency } .
D__Conversion_comma_list ~ D__Conversion { "," D__Conversion } .
D__syntax_vertex_List ~ { D__syntax_vertex } .
*terminal_sets* DemText , DemReal , DemString , DemIdent , DemNumber .