// This file is automatically generated by DemeterJ.

UniversalVisitor {
  start {{ }}
  before { 
    ClassDict, -> ClassDict,al,Adjacency_List,
    Adjacency, -> Adjacency,lhs,ClassName, -> Adjacency,body,Body,
    Body, -> Body,common,Common, -> Body,ptl,PartOrToken_List,
    Construction,
    Alternation, -> Alternation,classname,ClassName, -> Alternation,classname_bl,ClassName_BL,
    PartOrToken,
    SyntaxToken, -> SyntaxToken,string,String,
    Part,
    Required, -> Required,labelname,LabelName, -> Required,classname,ClassName,
    Optional, -> Optional,required,Required,
    Common,
    ClassName, -> ClassName,n,Ident,
    LabelName, -> LabelName,n,Ident,
    Adjacency_List,
    EAL,
    NAL, -> NAL,first,Adjacency, -> NAL,rest,Adjacency_List,
    PartOrToken_List,
    EPTL,
    NPTL, -> NPTL,first,PartOrToken, -> NPTL,rest,PartOrToken_List,
    ClassName_BL,
    ECBL,
    NCBL, -> NCBL,first,ClassName, -> NCBL,rest,ClassName_BL,
    Main, -> Main,s,String
  } {{ }}
  after { 
    ClassDict, -> ClassDict,al,Adjacency_List,
    Adjacency, -> Adjacency,lhs,ClassName, -> Adjacency,body,Body,
    Body, -> Body,common,Common, -> Body,ptl,PartOrToken_List,
    Construction,
    Alternation, -> Alternation,classname,ClassName, -> Alternation,classname_bl,ClassName_BL,
    PartOrToken,
    SyntaxToken, -> SyntaxToken,string,String,
    Part,
    Required, -> Required,labelname,LabelName, -> Required,classname,ClassName,
    Optional, -> Optional,required,Required,
    Common,
    ClassName, -> ClassName,n,Ident,
    LabelName, -> LabelName,n,Ident,
    Adjacency_List,
    EAL,
    NAL, -> NAL,first,Adjacency, -> NAL,rest,Adjacency_List,
    PartOrToken_List,
    EPTL,
    NPTL, -> NPTL,first,PartOrToken, -> NPTL,rest,PartOrToken_List,
    ClassName_BL,
    ECBL,
    NCBL, -> NCBL,first,ClassName, -> NCBL,rest,ClassName_BL,
    Main, -> Main,s,String
  } {{ }}
  finish {{ }}
}