regular tree grammar
  start BOX
  productions
    ListStarOfBOX0        -> ListPlusOfBOX0
    ListStarOfBOX0        -> <nil>()
    ListStarOfBOX0        -> <conc>(ListStarOfBOX0,ListStarOfBOX0)
    ListPlusOfBOX0        -> <conc>(ListStarOfBOX0,ListPlusOfBOX0)
    ListPlusOfBOX0        -> <conc>(ListPlusOfBOX0,ListStarOfBOX0)
    ListPlusOfBOX0        -> <conc>(ListPlusOfBOX0,ListPlusOfBOX0)
    ListPlusOfBOX0        -> <cons>(BOX,ListStarOfBOX0)
    ListStarOfS-OPTION0   -> ListPlusOfS-OPTION0
    ListStarOfS-OPTION0   -> <nil>()
    ListStarOfS-OPTION0   -> <conc>(ListStarOfS-OPTION0,ListStarOfS-OPTION0)
    ListPlusOfS-OPTION0   -> <conc>(ListStarOfS-OPTION0,ListPlusOfS-OPTION0)
    ListPlusOfS-OPTION0   -> <conc>(ListPlusOfS-OPTION0,ListStarOfS-OPTION0)
    ListPlusOfS-OPTION0   -> <conc>(ListPlusOfS-OPTION0,ListPlusOfS-OPTION0)
    ListPlusOfS-OPTION0   -> <cons>(S-OPTION,ListStarOfS-OPTION0)
    ListStarOfF-OPTION0   -> ListPlusOfF-OPTION0
    ListStarOfF-OPTION0   -> <nil>()
    ListStarOfF-OPTION0   -> <conc>(ListStarOfF-OPTION0,ListStarOfF-OPTION0)
    ListPlusOfF-OPTION0   -> <conc>(ListStarOfF-OPTION0,ListPlusOfF-OPTION0)
    ListPlusOfF-OPTION0   -> <conc>(ListPlusOfF-OPTION0,ListStarOfF-OPTION0)
    ListPlusOfF-OPTION0   -> <conc>(ListPlusOfF-OPTION0,ListPlusOfF-OPTION0)
    ListPlusOfF-OPTION0   -> <cons>(F-OPTION,ListStarOfF-OPTION0)
    ListStarOfA-OPTION0   -> ListPlusOfA-OPTION0
    ListStarOfA-OPTION0   -> <nil>()
    ListStarOfA-OPTION0   -> <conc>(ListStarOfA-OPTION0,ListStarOfA-OPTION0)
    ListPlusOfA-OPTION0   -> <conc>(ListStarOfA-OPTION0,ListPlusOfA-OPTION0)
    ListPlusOfA-OPTION0   -> <conc>(ListPlusOfA-OPTION0,ListStarOfA-OPTION0)
    ListPlusOfA-OPTION0   -> <conc>(ListPlusOfA-OPTION0,ListPlusOfA-OPTION0)
    ListPlusOfA-OPTION0   -> <cons>(A-OPTION,ListStarOfA-OPTION0)
    ListStarOfL-Char0     -> <string>
    ListPlusOfL-Char0     -> <string>
    BOX                   -> LNAT(NatCon,BOX)
    BOX                   -> L(BOX,BOX)
    BOX                   -> C(ListStarOfS-OPTION0,ListStarOfBOX0)
    BOX                   -> REF(BoxLiteral,BOX)
    BOX                   -> LBL(BoxLiteral,BOX)
    FONT-OPERATOR         -> MATH()
    FONT-OPERATOR         -> NUM()
    FONT-OPERATOR         -> VAR()
    FONT-OPERATOR         -> KW()
    FONT-PARAM            -> CL()
    FONT-PARAM            -> SZ()
    FONT-PARAM            -> SH()
    FONT-PARAM            -> SE()
    FONT-PARAM            -> FM()
    FONT-PARAM            -> FN()
    BOX                   -> FBOX(FONT-OPERATOR,BOX)
    FONT-OPERATOR         -> F(ListStarOfF-OPTION0)
    F-OPTION              -> FFID(FONT-PARAM,FID)
    F-OPTION              -> FNAT(FONT-PARAM,NatCon)
    FID                   -> <string>
    A-OPTIONS             -> AOPTIONS(ListStarOfA-OPTION0)
    A-OPTION              -> AR(ListStarOfS-OPTION0)
    A-OPTION              -> AC(ListStarOfS-OPTION0)
    A-OPTION              -> AL(ListStarOfS-OPTION0)
    BOX                   -> R(ListStarOfS-OPTION0,ListStarOfBOX0)
    BOX                   -> A(A-OPTIONS,ListStarOfS-OPTION0,ListStarOfBOX0)
    BOX                   -> ALT(BOX,BOX)
    BOX                   -> HV(ListStarOfS-OPTION0,ListStarOfBOX0)
    BOX                   -> V(ListStarOfS-OPTION0,ListStarOfBOX0)
    BOX                   -> H(ListStarOfS-OPTION0,ListStarOfBOX0)
    SPACE-SYMBOL          -> IS()
    SPACE-SYMBOL          -> HS()
    SPACE-SYMBOL          -> VS()
    S-OPTION              -> SOptB(SPACE-SYMBOL,BOX)
    S-OPTION              -> SOpt(SPACE-SYMBOL,NatCon)
    BOX-LIST              -> ListStarOfBOX0
    BOX                   -> S(BoxLiteral)
    NatCon                -> <string>
    BoxLiteral            -> <string>
    Literal               -> <string>
    UQLiteral             -> <string>
    QLiteral              -> <string>
    L-Char                -> <string>
    EscChar               -> <string>
    DecimalEscChar        -> <string>
    AlphaNumericalEscChar -> <string>
