The Meta-Environment API
00001 /* #define TODO(m) printf("%s:%d - TODO: %s\n", __FILE__, __LINE__, m) */ 00002 00003 process TODO(Msg : str) is printf("TODO: %s\n", Msg) 00004 00005 /* meta-kernel */ 00006 #include <module-utils.tb> 00007 #include <error-utils.tb> 00008 #include <error-output.tb> 00009 #include <transaction-management.tb> 00010 #include <text-utils.tb> 00011 00012 /* sdf-meta */ 00013 #include <sdf-listeners.tb> 00014 #include <sdf-utils.tb> 00015 #include <sdf2-language.tb> 00016 #include <term-parsetable.tb> 00017 #include <sdf-initialize.tb> 00018 #include <sdf-transactions.tb> 00019 00020 process StartPtDumper is 00021 let 00022 MenuEventList: list, 00023 ModuleId: module-id, 00024 Event: attribute-changed-event, 00025 Value: term 00026 in 00027 snd-msg(tm-request-transaction(module-manager)) 00028 . OpenModule(MODULENAME, ModuleId?) 00029 . MM-Subscribe-Attribute-Changed(ModuleId,SDF_NAMESPACE,"status",<term>,complete) 00030 . MM-Subscribe-Attribute-Changed(<module-id>,SDF_NAMESPACE,"status",<term>,error) 00031 . MM-Subscribe-Attribute-Changed(<module-id>,SDF_NAMESPACE,"status",<term>,unavailable) 00032 . rec-note(mm-attribute-changed(Event?)) 00033 . snd-msg(tm-end-transaction(module-manager)) 00034 . ACE-GetNewValue(Event, Value?) 00035 . 00036 if or(equal(Value, error), equal(Value, unavailable)) then 00037 printf("Error occurred loading %t\n", MODULENAME) 00038 else 00039 DumpParseTable(ModuleId, SDF_NAMESPACE, OUTPUTFILE, trm) 00040 fi 00041 . shutdown("") 00042 endlet 00043 00044 toolbus(StartPtDumper)