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