The Meta-Environment API

start-def-dump.tb

Go to the documentation of this file.
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 <sdf2-language.tb>
00015 #include <sdf-initialize.tb>
00016 #include <term-parsetable.tb>
00017 #include <sdf-transactions.tb>
00018 
00019 process StartDefinitionDumper is
00020 let
00021   MenuEventList: list,
00022   ModuleId: module-id,
00023   Event: attribute-changed-event,
00024   Value: term
00025 in
00026   snd-msg(tm-request-transaction(module-manager))
00027   . OpenModule(MODULENAME, ModuleId?)
00028   . MM-Subscribe-Attribute-Changed(ModuleId,SDF_NAMESPACE,"status",<term>,complete)
00029   . MM-Subscribe-Attribute-Changed(<module-id>,SDF_NAMESPACE,"status",<term>,error)
00030   . MM-Subscribe-Attribute-Changed(<module-id>,SDF_NAMESPACE,"status",<term>,unavailable)
00031   . rec-note(mm-attribute-changed(Event?))
00032   . snd-msg(tm-end-transaction(module-manager))
00033   . ACE-GetNewValue(Event, Value?)
00034   .
00035   if or(equal(Value, error), equal(Value, unavailable)) then
00036     printf("Error occurred loading %t\n", MODULENAME)
00037   else
00038     snd-msg(tm-request-transaction(syntax-definition))
00039     . DumpSdfDefinition(ModuleId, OUTPUTFILE)
00040     . snd-msg(tm-end-transaction(syntax-definition))
00041   fi
00042   . shutdown("")
00043 endlet
00044 
00045 toolbus(StartDefinitionDumper)
00046 

Generated on Fri Sep 12 13:09:47 2008 for sdf-meta by  doxygen 1.4.6