The Context-Free Level
The patterns generated for the example grammar are:
Small: TreeLevel
(# Block: Cons(# getDclPart: getson1(# #);
putDclPart: putSon1(# #);
getImpPart: getson2(# #);
putImpPart: putson2(# #)
#)
Dcl: Cons(# #);
VarDcl: Dcl(# getName: getson1(# #);
putName: putson1(# #);
getVarType: getson2(# #);
putVarType: putson2(# #)
#)
ProcDcl: Dcl(# getName: getson1(# #);
putName: putson1(# #);
getBody: getson2(# #);
putBody: putson2(# #)
#)
Imp: Cons(# #);
IfImp: Imp(# getCondition: getson1(# #);
putCondition: putson1(# #);
getThenPart: getson2(# #);
putThenPart: putson2(# #);
getElsePart: getson3(# #);
putElsePart: putson3(# #)
#)
ProcCall: Imp(# getProc: getson1(# #);
putProc: putson1(# #)
#)
AssignmentImp: Imp(# getVar: getson1(# #);
putVar: putson1(# #);
getValue: getson2(# #);
putValue: putson2(# #)
#)
DclLst: List(# #);
ImpLst: List(# #);
...
#)
| Metaprogramming System | © Mjølner Informatics |