import edu.neu.ccs.demeter.dj.*; import java.util.*; import java.lang.reflect.*; // ObjectG is an object that will be created from the genC call ObjectG = List(Named_Adjacency). Named_Adjacency = InstanceName Adjacency. Adjacency = ":" ClassName List(Part). Part : TerminalPart | NonTerminalPart. TerminalPart = "term" LabelName ClassName TerminalValue. NonTerminalPart = LabelName InstanceName ":" ClassName. List(S) ~ "(" {S} ")". TerminalValue = String. Vertex = Ident. InstanceName = Ident. ClassName = Ident. LabelName = "<" Ident ">". Main = . A = B C D. B = Ident. C = Ident. D = Ident.