4 layoutalgorithm: minbackward
7 display_edge_labels: yes
8 label: "Program definitions"
11 label: "CONSTRAINTcut"
15 label: "CONSTRAINTnone"
19 label: "datatype \n(\"\" line )\n \n \n \n \n \n \n"
71 label: "datatype \n(\"\" line )\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n"
119 label: "datatype \n(\"\" line )\n \n \n \n"
143 label: "\n : \n : \n : \n : \n : \n"
175 label: "\n \n \n \n \n"
191 label: "\n \n \n \n \n"
195 label: "\n : \n : \n : \n"
199 label: "datatype \n(\"\" line )\n \n"
203 label: "PUNCTUATIONS"
283 label: "POLY_DATATYPE"
447 label: "\"strategy:\""
451 label: "\"bottomup:\""
455 label: "\"topdown:\""
467 label: "\"equality:\""
503 label: "\"implies:\""
559 label: "\"priqueueof\""
567 label: "\"multimapof\""
603 label: "\"synthesized\""
611 label: "\"inherited\""
619 label: "\"relation\""
635 label: "\"category\""
647 label: "\"unsigned\""
663 label: "\"treeparser\""
667 label: "\"persistent\""
679 label: "\"printable\""
683 label: "\"finalizable\""
687 label: "\"collectable\""
703 label: "\"applicative\""
723 label: "\"protected\""
743 label: "\"continue\""
759 label: "\"unifiable\""
795 label: "\"attributegrammar\""
799 label: "\"failrewrite\""
803 label: "\"cutrewrite\""
807 label: "\"graphrewrite\""
811 label: "\"graphtype\""
815 label: "\"function\""
823 label: "\"procedure\""
831 label: "\"constraint\""
835 label: "\"signature\""
843 label: "\"dataflow\""
855 label: "\"bitfield\""
863 label: "\"instantiate\""
867 label: "\"datatype\""
883 label: "\"matchscan\""
887 label: "\"matchall\""
895 label: "\"inference\""
903 label: "datatype PropToken\n(\"keywords.ph\" line 121)\n \"rewrite\"\n \"inference\"\n \"match\"\n \"matchall\"\n \"matchscan\"\n \"refine\"\n \"classof\"\n \"type\"\n \"datatype\"\n \"instantiate\"\n \"lexeme\"\n \"bitfield\"\n \"begin\"\n \"syntax\"\n \"dataflow\"\n \"module\"\n \"signature\"\n \"constraint\"\n \"declare\"\n \"procedure\"\n \"fun\"\n \"function\"\n \"graphtype\"\n \"graphrewrite\"\n \"cutrewrite\"\n \"failrewrite\"\n \"attributegrammar\"\n \"if\"\n \"then\"\n \"else\"\n \"elsif\"\n \"while\"\n \"loop\"\n \"is\"\n \"class\"\n \"unifiable\"\n \"of\"\n \"do\"\n \"break\"\n \"continue\"\n \"goto\"\n \"where\"\n \"as\"\n \"public\"\n \"protected\"\n \"private\"\n \"const\"\n \"extern\"\n \"mutable\"\n \"applicative\"\n \"virtual\"\n \"true\"\n \"false\"\n \"collectable\"\n \"finalizable\"\n \"printable\"\n \"traced\"\n \"unique\"\n \"persistent\"\n \"treeparser\"\n \"inline\"\n \"with\"\n \"switch\"\n \"unsigned\"\n \"signed\"\n \"for\"\n \"category\"\n \"functor\"\n \"feature\"\n \"sharing\"\n \"relation\"\n \"view\"\n \"inherited\"\n \"return\"\n \"synthesized\"\n \"law\"\n \"left:\"\n \"right:\"\n \"expect:\"\n \"prec:\"\n \"mapof\"\n \"setof\"\n \"bagof\"\n \"multimapof\"\n \"listof\"\n \"priqueueof\"\n \"queueof\"\n \"dequeof\"\n \"tupleof\"\n \"forall\"\n \"exists\"\n Pû\377¿Pû\377¿€\n\010"
907 label: "ACTIONsym\n List<Decl> \n"
911 label: "SIMPLEid\n Id\n"
915 label: "INHERIT\n super_class : Ty\n scope : Scope = PUBLICscope\n qualifiers : TyQual = QUALnone\n"
919 label: "datatype Inherit\n(\"ir.ph\" line 302)\n INHERIT\n"
923 label: "BIGINTlit\n char const *\n"
927 label: "EXPgram\n List<PrecRule> \n ShiftReduceErrors\n List<BNF> \n"
931 label: "LESSASSIGNop"
939 label: "WITHASSIGNop"
963 label: "datatype SETLOp\n(\"ast.ph\" line 175)\n ARBop\n DOMop\n RANop\n CARDop\n WITHop\n WITHASSIGNop\n LESSop\n LESSASSIGNop\n"
967 label: "GENERATOR\n pat : Pat\n guard : Exp\n exp : Exp\n"
971 label: "datatype Generator\n(\"ast.ph\" line 186)\n GENERATOR\n"
975 label: "OPAQUEdecl\n char const *\n"
979 label: "REWRITINGdecl\n Protocols\n Exp\n Exp\n RewriteIndexings\n MatchRules\n TyQual\n"
983 label: "PREFIXexp\n Id\n Exp\n"
987 label: "datatype ProductionSymbol\n(\"ir.ph\" line 283)\n TERMsym\n TERMSTRINGsym\n TERMREGEXPsym\n TOKENsym\n NONTERMsym\n POSNONTERMsym\n ACTIONsym\n PREDICATEsym\n PRECsym\n ERRORsym\n SPECIALsym\n"
991 label: "LISTexp\n Cons\n Cons\n List<Exp> \n Exp\n"
995 label: "PREDICATEsym\n Exp\n"
999 label: "RETRACTaction\n Exp\n"
1003 label: "IDtycon\n Id\n"
1007 label: "NESTEDid\n Ty\n QualId\n"
1011 label: "SYNTAXdecl\n Id\n GramExp\n"
1015 label: "\"unify_term\"\n Ty\n Cons\n"
1019 label: "VARty\n Ty\n"
1023 label: "COLtycon\n CollectionDesc\n"
1027 label: "EXTUPLEpat\n List<Pat> \n"
1031 label: "FUNinst\n Instness\n Instness\n"
1035 label: "PRECsym\n Cons\n"
1039 label: "NONTERMsym\n Id\n"
1043 label: "DELETEEDGEaction\n Id\n List<Exp> \n"
1047 label: "EQexp\n Ty\n Exp\n Exp\n"
1051 label: "TYPEdef\n Decl\n"
1055 label: "RETURNstmt\n Exp\n"
1059 label: "LITERALpat\n Literal\n"
1063 label: "VIEWdef\n Pat\n Exp\n List<LabExp> \n"
1067 label: "datatype ViewDef\n(\"ast.ph\" line 323)\n VIEWdef\n"
1071 label: "VAR_DET\n Determinism\n"
1099 label: "UNKNOWN_DET"
1103 label: "datatype Determinism\n(\"wam.ph\" line 81)\n UNKNOWN_DET\n DET\n SEMI_DET\n MULTI_DET\n NON_DET\n FAIL_DET\n ERROR_DET\n VAR_DET\n"
1107 label: "GOTOdecl\n Id\n"
1111 label: "IFexp\n Exp\n Exp\n Exp\n"
1115 label: "FUNdef\n QualId\n Ty\n Ty\n MatchRules\n"
1119 label: "datatype FunDef\n(\"ast.ph\" line 351)\n FUNdef\n"
1127 label: "datatype Instness\n(\"wam.ph\" line 66)\n NOinst\n IDinst\n FREEinst\n GROUNDinst\n BOUNDinst\n APPinst\n FUNinst\n VARinst\n"
1131 label: "LAMBDAsig\n LabSigs\n Sig\n"
1135 label: "\"retry\"\n Label\n"
1139 label: "IDexp\n Id\n"
1143 label: "INFERENCErule\n MatchRules\n Exp\n Conclusions\n"
1147 label: "datatype InferenceRule\n(\"ast.ph\" line 362)\n INFERENCErule\n"
1151 label: "TUPLEexp\n List<Exp> \n"
1155 label: "INDpat\n Id\n int\n Ty\n"
1163 label: "TYsimpleformal"
1175 label: "datatype Parameter\n(\"ir.ph\" line 100)\n TYbody\n TYformal\n TYsimpleformal\n TYactual\n"
1179 label: "datatype GRSPat\n(\"grsgen.ph\" line 39)\n EDGEgpat\n GUARDgpat\n NOTgpat\n ANDgpat\n ORgpat\n FORALLgpat\n"
1187 label: "datatype Domain\n(\"dataflow.ph\" line 32)\n UNITdom\n FINSETdom\n LIFTdom\n SUMdom\n PRODUCTdom\n"
1191 label: "MARKEDpat\n Loc\n Pat\n"
1195 label: "BOOLlit\n Bool\n"
1199 label: "CONSTRAINTand\n ConstraintBody\n ConstraintBody\n"
1211 label: "datatype UnificationMode\n(\"wam.ph\" line 97)\n READ_MODE\n WRITE_MODE\n"
1215 label: "EDGEtycon\n EdgeDef *\n"
1243 label: "datatype LexicalContext\n(\"parser.ph\" line 24)\n NONE\n C\n PROP\n COMMENT\n QUOTE\n ANTIQUOTE\n"
1247 label: "LAWdef\n id : Id\n args : Ids\n guard : Exp\n pat : Pat\n invert : Bool\n ty : Ty = NOty\n"
1251 label: "datatype LawDef\n(\"ast.ph\" line 337)\n LAWdef\n"
1255 label: "APPENDpat\n Pat\n Pat\n Ty\n"
1259 label: "GRAPHREWRITEdecl\n name : Id\n args : LabTys\n rules : GraphRewritingRules\n"
1263 label: "\"try_me_else\"\n Label\n"
1267 label: "\"label\"\n Label\n"
1271 label: "\"try\"\n Label\n"
1275 label: "FORALLstmt\n Generators\n Stmt\n"
1279 label: "DOTsig\n Sig\n Id\n"
1283 label: "SUCCESSESmatch\n int\n BitSet *\n MatchRules\n"
1287 label: "LISTpat\n cons : Cons\n nil : Cons\n head : List<Pat> \n tail : Pat\n"
1315 label: "datatype LogicalPat\n(\"ir.ph\" line 226)\n NOTpat\n ANDpat\n ORpat\n EQUIVpat\n XORpat\n IMPLIESpat\n"
1319 label: "INSTANTIATEdecl\n Bool\n Tys\n"
1323 label: "RELexp\n int\n"
1327 label: "MATCHexp\n Exp\n Id\n"
1331 label: "datatype MatchExp\n(\"ast.ph\" line 193)\n MATCHexp\n"
1335 label: "Power\n Complexity\n Complexity\n"
1339 label: "BACKEDGEpat\n int\n Id\n Pat\n"
1343 label: "LISTCOMPexp\n exp : Exp\n generators : List<Generator> \n guard : Exp\n"
1355 label: "EXTUPLEtycon"
1367 label: "POINTERtycon"
1371 label: "datatype TyCon\n(\"ir.ph\" line 170)\n POINTERtycon\n REFtycon\n TUPLEtycon\n EXTUPLEtycon\n FUNtycon\n TYPEtycon\n IDtycon\n RECORDtycon\n ARRAYtycon\n BITFIELDtycon\n DATATYPEtycon\n COLtycon\n GRAPHtycon\n NODEtycon\n EDGEtycon\n"
1375 label: "SPACE\n Complexity\n"
1379 label: "datatype Space\n(\"timespace.ph\" line 50)\n SPACE\n"
1383 label: "STRINGlit\n char const *\n"
1387 label: "VOIDvar\n Ty\n"
1391 label: "datatype GramExp\n(\"parsegen.ph\" line 45)\n EXPgram\n POLYgram\n UNIONgram\n RESTRICTgram\n APPgram\n"
1395 label: "datatype Conclusion\n(\"ast.ph\" line 371)\n ASSERTaction\n RETRACTaction\n STMTaction\n"
1399 label: "POSinfinity"
1407 label: "datatype Pos\n(\"matchcom.ph\" line 68)\n POSzero\n POSinfinity\n POSint\n POSlabel\n POSadaptive\n"
1411 label: "DATATYPEdecl\n DatatypeDefs\n ViewDefs\n LawDefs\n TyDefs\n"
1415 label: "INFERENCEdecl\n Id\n InferenceRules\n"
1419 label: "CONSmatch\n Pos\n Exp\n Ty\n Ty\n int\n Match *\n Match\n"
1423 label: "CASTexp\n Ty\n Exp\n"
1427 label: "REWRITEstmt\n Decl\n"
1435 label: "datatype Sig\n(\"setl-ast.ph\" line 77)\n NOsig\n IDsig\n DOTsig\n APPsig\n DEFsig\n LAMBDAsig\n"
1439 label: "INDty\n Id\n int\n"
1443 label: "VARdef\n id : Id\n ty : Ty\n init_exp : Exp = NOexp\n"
1447 label: "PUBLICscope"
1451 label: "PROTECTEDscope"
1455 label: "PRIVATEscope"
1459 label: "datatype Scope\n(\"ir.ph\" line 93)\n PRIVATEscope\n PROTECTEDscope\n PUBLICscope\n"
1463 label: "LEXEMEpat\n Id\n Ty\n int\n Cons *\n"
1467 label: "TYdef\n Id\n TyVars\n Ty\n Bool\n"
1471 label: "datatype TyDef\n(\"ast.ph\" line 344)\n TYdef\n"
1475 label: "EXTUPLEexp\n List<Exp> \n"
1479 label: "FINSETdom\n Ty\n"
1483 label: "CONSTRAINTset\n ConstraintDefs\n"
1487 label: "datatype ConstraintSet\n(\"constraint.ph\" line 38)\n CONSTRAINTset\n"
1491 label: "TERMdef\n id : Id\n ty : Ty\n decls : Decls = nil_1_\n inherits : Inherits = nil_1_\n pat : Pat = NOpat\n print_formats : PrintFormats = nil_1_\n opt : TyOpt = OPTnone\n qual : TyQual = QUALnone\n view_predicate : Exp = NOexp\n"
1495 label: "datatype TermDef\n(\"ast.ph\" line 316)\n TERMdef\n"
1499 label: "vector_id\n cons : Cons\n ty : Ty\n arity : int\n"
1503 label: "datatype VectorId\n(\"funmap.ph\" line 33)\n vector_id\n"
1507 label: "TREECOSTmatch\n Match\n BitSet *\n MatchRules\n"
1511 label: "ASSIGNexp\n Exp\n Exp\n"
1515 label: "POLYty\n Ty\n int\n TyVar *\n"
1519 label: "MARKEDexp\n Loc\n Exp\n"
1523 label: "POLYgram\n int\n Id *\n GramExp\n"
1527 label: "GRSrule\n lhs : GRSPat\n rhs : GRSConclusions\n"
1531 label: "datatype GraphRewritingRule\n(\"grsgen.ph\" line 31)\n GRSrule\n"
1535 label: "UNIFYpat\n Pat\n Exp\n"
1539 label: "PERSISTid\n char const *\n"
1543 label: "PERSISTnone"
1547 label: "datatype Pid\n(\"ir.ph\" line 290)\n PERSISTnone\n PERSISTid\n"
1555 label: "datatype Pat\n(\"ir.ph\" line 205)\n NOpat\n WILDpat\n INDpat\n POLYpat\n IDpat\n CONSpat\n APPpat\n TYPEDpat\n ASpat\n LITERALpat\n CONTEXTpat\n LEXEMEpat\n ARRAYpat\n TUPLEpat\n EXTUPLEpat\n RECORDpat\n LISTpat\n VECTORpat\n APPENDpat\n GUARDpat\n LOGICALpat\n BACKEDGEpat\n UNIFYpat\n MARKEDpat\n"
1559 label: "LOCALvar\n Ty\n"
1567 label: "datatype Exp\n(\"ast.ph\" line 160)\n NOexp\n LITERALexp\n IDexp\n RELexp\n DOTexp\n SELECTORexp\n DEREFexp\n ARROWexp\n INDEXexp\n BINOPexp\n PREFIXexp\n POSTFIXexp\n APPexp\n ASSIGNexp\n IFexp\n TUPLEexp\n EXTUPLEexp\n RECORDexp\n LISTexp\n VECTORexp\n CONSexp\n CASTexp\n QUALexp\n EQexp\n UNIFYexp\n LTexp\n HASHexp\n THISCOSTexp\n COSTexp\n THISSYNexp\n SYNexp\n SENDexp\n SETLexp\n LISTCOMPexp\n FORALLexp\n EXISTSexp\n MARKEDexp\n"
1571 label: "SETSTATEdecl\n int\n"
1575 label: "NESTEDty\n Ty\n Ty\n"
1579 label: "QUALty\n TyQual\n Ty\n"
1583 label: "SETLDEFdecl\n Def\n"
1587 label: "RANGEmatch\n Pos\n Exp\n int\n int\n Match\n Match\n"
1591 label: "TREELABELmatch\n Match\n Ty\n Ty\n int\n"
1595 label: "POSadaptive\n int\n int *\n Pos\n"
1599 label: "LITERALexp\n Literal\n"
1603 label: "TYCONty\n TyCon\n List<Ty> \n"
1607 label: "DELETENODEaction\n Exp\n"
1611 label: "POSint\n int\n Pos\n"
1615 label: "REWRITEdecl\n Id\n RewriteIndexings\n MatchRules\n"
1619 label: "APPpat\n Pat\n Pat\n"
1623 label: "UNIONgram\n GramExp\n GramExp\n"
1627 label: "CONSTRAINTdet\n Id\n Pats\n Determinism\n"
1631 label: "VARinst\n Instness\n"
1635 label: "IFstmt\n Exp\n Stmt\n Stmt\n"
1639 label: "WHILEstmt\n Exp\n Stmt\n"
1643 label: "SETLSTMTdecl\n Stmt\n"
1647 label: "INJECTdecl\n node_number : int\n direction : EntryDirection\n"
1651 label: "TYPEDpat\n Pat\n Ty\n"
1667 label: "datatype Polarity\n(\"ir.ph\" line 116)\n ISpositive\n ISnegative\n ISneither\n"
1671 label: "MATCHrule\n Id\n Pat\n Exp\n Cost\n List<Decl> \n"
1675 label: "datatype MatchRule\n(\"ast.ph\" line 202)\n MATCHrule\n"
1679 label: "DATATYPEtycon\n id : Id\n unit : int\n arg : int\n terms : Cons *\n tyvars : TyVars\n polyty : Ty\n inherit : List<Inherit> \n qualifiers : TyQual\n opt : TyOpt\n body : List<Decl> \n view_match : Exp\n location : Loc const *\n hierarchy : DatatypeHierarchy * = 0\n"
1683 label: "FIELDlaw\n id : Id\n args : Ids\n guard : Exp\n exp : Exp\n"
1687 label: "datatype FieldLaw\n(\"bitfield.ph\" line 33)\n FIELDlaw\n"
1695 label: "datatype Def\n(\"setl-ast.ph\" line 64)\n NOdef\n VARdef\n FUNCTIONdef\n MODULEdef\n SIGNATUREdef\n TYPEdef\n LAMBDAdef\n"
1699 label: "BITFIELDdecl\n name : Id\n width : int\n field_names : FieldDefs\n laws : FieldLaws\n"
1703 label: "RECORDpat\n List<LabPat> \n Bool\n"
1707 label: "APPsig\n Sig\n Sigs\n"
1711 label: "datatype ConstraintDef\n(\"constraint.ph\" line 44)\n CONSTRAINTruledef\n CONSTRAINTtype\n CONSTRAINTinstness\n CONSTRAINTdet\n"
1715 label: "INTcost\n int\n"
1719 label: "EXPcost\n Exp\n Ty = NOty\n"
1723 label: "Omega\n Complexity\n"
1727 label: "SPECIALsym\n char\n"
1731 label: "\"trust_me_else_fail\""
1735 label: "\"unify_variable\""
1751 label: "\"proceed\""
1763 label: "datatype WAM\n(\"wam.ph\" line 119)\n \"get_x\"\n \"get_y\"\n \"proceed\"\n \"fail\"\n \"deref\"\n \"unify\"\n \"unify_variable\"\n \"trust_me_else_fail\"\n \"unify_term\"\n \"try\"\n \"retry\"\n \"trust\"\n \"try_me_else\"\n \"retry_me_else\"\n \"label\"\n"
1767 label: "ANDgpat\n GRSPat\n GRSPat\n"
1771 label: "syntax class PropParser"
1775 label: "DATATYPEdef\n Id\n TyVars\n Inherits\n TyQual\n TermDefs\n Decls\n"
1779 label: "datatype DatatypeDef\n(\"ast.ph\" line 299)\n DATATYPEdef\n"
1783 label: "REALlit\n double\n"
1787 label: "CONTEXTpat\n Conses\n Pat\n"
1791 label: "IDsig\n Id\n"
1795 label: "THISCOSTexp\n"
1799 label: "ADDEDGEaction\n Id\n List<Exp> \n"
1803 label: "datatype FieldDef\n(\"bitfield.ph\" line 27)\n FIELDdef\n FIELDCONdef\n"
1807 label: "EMBEDDEDaction\n List<Decl> \n"
1811 label: "ORgpat\n GRSPat\n GRSPat\n"
1815 label: "datatype VarKind\n(\"wam.ph\" line 51)\n VOIDvar\n LOCALvar\n TEMPvar\n GLOBALvar\n"
1819 label: "PRODUCTdom\n Domains\n"
1823 label: "DONTCAREmatch"
1831 label: "datatype Match\n(\"matchcom.ph\" line 54)\n FAILmatch\n DONTCAREmatch\n SUCCESSmatch\n SUCCESSESmatch\n COSTmatch\n GUARDmatch\n LITERALmatch\n RANGEmatch\n CONSmatch\n TREECOSTmatch\n TREELABELmatch\n BACKEDGEmatch\n"
1835 label: "MARKEDdecl\n Loc\n Decl\n"
1839 label: "BACKEDGEmatch\n int\n Id\n Match\n"
1843 label: "QUALexp\n Ty\n Id\n"
1847 label: "BLOCKstmt\n Defs\n Stmts\n"
1851 label: "VECTORpat\n cons : Cons\n len : Pat\n array : Pat\n elements : List<Pat> \n head_flex : Bool\n tail_flex : Bool\n"
1855 label: "CONSTRAINTruledef\n ConstraintRule\n"
1859 label: "INTlit\n int\n"
1863 label: "REGEXPlit\n char const *\n"
1867 label: "datatype Complexity\n(\"timespace.ph\" line 42)\n Var\n Add\n Mul\n Div\n Power\n Log\n Const\n BigOh\n Omega\n LittleOh\n"
1871 label: "INDEXexp\n Exp\n Exp\n"
1875 label: "GUARDgpat\n Exp\n"
1879 label: "ARRAYpat\n List<Pat> \n Bool\n"
1883 label: "LittleOh\n Complexity\n"
1891 label: "datatype Stmt\n(\"setl-ast.ph\" line 94)\n NOstmt\n ASSIGNstmt\n BLOCKstmt\n WHILEstmt\n IFstmt\n MATCHstmt\n REWRITEstmt\n REPLACEMENTstmt\n FORALLstmt\n RETURNstmt\n"
1895 label: "MODULEdef\n id : Id\n args : LabSigs\n sig : Sig\n body : Defs\n"
1899 label: "ATTRIBUTEGRAMMARdecl\n Id\n GramExp\n"
1907 label: "FORALLexp\n Id\n Exp\n"
1911 label: "RECORDexp\n List<LabExp> \n"
1915 label: "BNFrule\n Id\n Ty\n List<ProductionSymbols> \n"
1919 label: "datatype BNF\n(\"parsegen.ph\" line 52)\n BNFrule\n"
1923 label: "datatype GRSConclusion\n(\"grsgen.ph\" line 46)\n ADDEDGEaction\n DELETEEDGEaction\n ADDNODEaction\n DELETENODEaction\n EMBEDDEDaction\n"
1927 label: "POSNONTERMsym\n int\n"
1931 label: "ARRAYtycon\n Exp\n"
1935 label: "GRAPHtycon\n GraphTypeDef *\n"
1939 label: "Const\n double\n"
1943 label: "DOTexp\n Exp\n Id\n"
1947 label: "TERMSTRINGsym\n char const *\n"
1951 label: "CONSTRAINTrule\n id : Id\n pat : Pat\n body : ConstraintBody\n ty : Ty = NOty\n"
1955 label: "datatype ConstraintRule\n(\"constraint.ph\" line 51)\n CONSTRAINTrule\n"
1959 label: "datatype QualId\n(\"ast.ph\" line 359)\n NESTEDid\n SIMPLEid\n"
1963 label: "TUPLEpat\n List<Pat> \n"
1967 label: "PROTOCOL\n ty : Ty\n inh : Ty\n syn : Ty\n"
1971 label: "datatype Protocol\n(\"ast.ph\" line 291)\n PROTOCOL\n"
1975 label: "LABEL\n Id\n"
1979 label: "datatype Label\n(\"wam.ph\" line 126)\n LABEL\n"
1983 label: "\"retry_me_else\"\n Label\n"
1987 label: "SUCCESSmatch\n int\n MatchRule\n"
1991 label: "THISSYNexp\n RuleNo\n Ty\n Bool\n"
1995 label: "COSTexp\n ChildNo\n"
2003 label: "datatype Ty\n(\"ir.ph\" line 131)\n NOty\n VARty\n INDty\n QUALty\n TYCONty\n POLYty\n DEFVALty\n NESTEDty\n"
2007 label: "SETLexp\n SETLOp\n Exps\n"
2011 label: "TIME\n Complexity\n"
2015 label: "datatype Time\n(\"timespace.ph\" line 49)\n TIME\n"
2019 label: "FIELDCONdef\n field_name : Id\n ty : Ty\n"
2023 label: "FIELDdef\n field_name : Id\n from_bit : int\n to_bit : int\n is_signed : Bool = false\n"
2027 label: "CONSTRAINTbody\n List<Decl> \n"
2031 label: "LIFTdom\n Domain\n"
2035 label: "GROUNDinst\n Ty\n"
2039 label: "LOGICALpat\n LogicalPat\n Pat\n Pat = NOpat\n"
2043 label: "CUTREWRITEdecl\n Exp\n MatchRuleInfo::RewritingMode\n"
2047 label: "EXPdecl\n exp : Exp\n prefix : char const * = 0\n suffix : char const * = 0\n"
2051 label: "GUARDmatch\n Exp\n Match\n Match\n"
2055 label: "VECTORexp\n Cons\n List<Exp> \n"
2059 label: "BITFIELDtycon\n width : int\n is_signed : Bool = false\n"
2063 label: "RESTRICTgram\n GramExp\n"
2067 label: "DEFsig\n Defs\n"
2071 label: "#[...]\n T\n List<T> \n"
2079 label: "datatype List<T>\n(\"basics.ph\" line 97)\n #[]\n #[...]\n"
2083 label: "POLYpat\n Id\n int\n Ids\n Pat\n Exp\n"
2087 label: "datatype Literal\n(\"ir.ph\" line 241)\n INTlit\n BOOLlit\n CHARlit\n REALlit\n STRINGlit\n REGEXPlit\n QUARKlit\n BIGINTlit\n"
2091 label: "SYNexp\n ChildNo\n RuleNo\n Ty\n Bool\n"
2095 label: "CONSTRAINTcall\n Exp\n"
2099 label: "GLOBALvar\n Ty\n"
2103 label: "pair\n fst : A\n snd : B\n"
2107 label: "datatype Pair<A, B>\n(\"basics.ph\" line 98)\n pair\n"
2111 label: "LITERALmatch\n Pos\n Exp\n Literal *\n int\n Match *\n Match\n"
2115 label: "POSlabel\n Id\n Pos\n"
2119 label: "CHARlit\n char\n"
2123 label: "FAILREWRITEdecl\n MatchRuleInfo::RewritingMode\n"
2127 label: "TEMPvar\n Ty\n"
2131 label: "CONSTRAINTtype\n Id\n Ty\n"
2135 label: "REPLACEMENTstmt\n Decl\n"
2139 label: "GUARDpat\n Pat\n Exp\n"
2143 label: "FUNdecl\n FunDefs\n"
2147 label: "BINOPexp\n Id\n Exp\n Exp\n"
2151 label: "ADDNODEaction\n Exp\n"
2159 label: "datatype Cost\n(\"matchcom.ph\" line 63)\n NOcost\n EXPcost\n INTcost\n"
2163 label: "NOTgpat\n GRSPat\n"
2167 label: "CONSexp\n Cons\n List<Exp> \n Exp\n"
2171 label: "APPinst\n Cons\n List<Instness> \n"
2175 label: "CONSTRAINTdecl\n Id\n ConstraintSet\n"
2179 label: "REPLACEMENTdecl\n Exp\n MatchRuleInfo::RewritingMode\n"
2183 label: "COSTmatch\n int\n Cost *\n BitSet *\n MatchRules\n"
2187 label: "APPexp\n Exp\n Exp\n"
2191 label: "ONEcons\n name : Id\n alg_ty : Ty\n cons_ty : Ty\n ty : Ty\n tag : int\n print_formats : PrintFormats\n location : Loc const *\n inherit : List<Inherit> \n body : List<Decl> \n opt : TyOpt\n qual : TyQual\n view_predicate : Exp\n view_selectors : Exp *\n lexeme_pattern : Pat\n"
2199 label: "datatype Cons\n(\"ir.ph\" line 265)\n NOcons\n ONEcons\n"
2203 label: "PRECrule\n PrecMode\n int\n ProductionSymbols\n"
2207 label: "datatype PrecRule\n(\"parsegen.ph\" line 59)\n PRECrule\n"
2211 label: "ASSERTaction\n Exp\n"
2215 label: "APPgram\n GramExp\n GramExp\n"
2219 label: "ARROWexp\n Exp\n Id\n"
2223 label: "RIGHTdirection"
2227 label: "LEFTdirection"
2231 label: "datatype EntryDirection\n(\"ast.ph\" line 284)\n LEFTdirection\n RIGHTdirection\n"
2239 label: "TOKENsym\n Cons\n"
2243 label: "SIGNATUREdef\n id : Id\n args : LabSigs\n sig : Sig\n"
2247 label: "ASSIGNstmt\n Exp\n Exp\n"
2251 label: "CLASSDEFdecl\n ClassDefinition *\n"
2259 label: "SELECTORexp\n Exp\n Cons\n Ty\n"
2263 label: "Mul\n Complexity\n Complexity\n"
2267 label: "All datatypes definitions"