Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
M3ZUME(1)		    General Commands Manual		     M3ZUME(1)

NAME
       m3zume -	create Zeus IE (interesting event) stubs from event specs

SYNTAX
       m3zume  [-testdir dir] [-Obliq ofile] [-Obliq3D ofile] [-Juno viewname]
       [-3D] eventfiles...

DESCRIPTION
       m3zume takes a relatively terse specification of	events for a Zeus ani-
       mation  and produces from it the	Modula-3 .i3 and .m3 files that	define
       the Zeus-mediated communication between the algorithm  and  the	views.
       The event specifications	are in files with ".evt" extensions.

       With  no	 arguments m3zume reads	the event files	and for	each, combines
       it with template	files to produce derived files:

	    <basename>AlgClass.{i3,m3},		  <basename>ViewClass.{i3,m3},
	    <basename>IE.{i3,m3},      <basename>DataView.{i3,m3},	<base-
       name>TranscriptView.{i3,m3,fv}, and	<basename>EventData.fv.

       where <basename>	is the basename	of the <eventfile>.

       When the	-Obliq flag is set, m3zume reads the event file	as before, and
       produces	the following derived files:

	    <basename><ofile>ObliqView.{i3,m3}

       When  the  -Obliq3D flag	is set,	m3zume reads the event file as before,
       and produces the	following derived files:

	    <basename><ofile>Obliq3DView.{i3,m3}

       When the	-Juno flag is set, m3zume reads	the event file as before,  and
       produces	the following derived files:

	    <basename><viewname>JunoView.{i3,m3}

       When  the  -3D  flag is set, m3zume reads the event file	as before, and
       produces	the following derived files:

	    <basename>3DViewClass.{i3,m3},

       For testing purposes, the template file directory may be	overridden us-
       ing the -testdir	command-line option.

       If  Baz()  is  an event procedure defined in Foo.evt, then FooIE.Baz is
       called to signal	the occurrence of the event.

FILE FORMAT
       The main	part of	the event file is a list of slightly modified Modula-3
       headers	for  the  procedures  that the algorithm will call to generate
       events.	Before any of these procedure  headers,	 the  procedure	 argu-
       ments,  followed	 by  a	section	introduced by the keyword ALGDATA that
       contains	the data fields	that should belong to a	<basename>AlgClass.T.

       The procedure headers use keywords OUTPUT, FEEDBACK, and	UPDATE in lieu
       of  PROCEDURE.	Output	events	(PROCEDURE is allowed as a synonym for
       OUTPUT) are generated by	an algorithm and delivered to views; they  oc-
       cur  with  VBT.mu  unlocked and the algorithm Running.  Feedback	events
       are delivered to	the algorithm; they are	typically generated by a view.
       Feedback	events occur with VBT.mu locked	and the	algorithm Paused.  Up-
       date events are generated by  an	 algorithm  in	response  to  feedback
       events  and  are	 delivered to views; they occur	with VBT.mu locked and
       the algorithm Paused.

       Each argument type in a procedure header	is followed by the name	 of  a
       function	 [in  square  brackets]	 that  will  convert the argument to a
       printable TEXT.	This function name is generally	 ZFmt.<something>,  or
       the empty string	if the argument	type is	TEXT.  The square brackets are
       necessary, even if the argument type is TEXT.  You don't	need to	IMPORT
       the  ZFmt  interface, but you should IMPORT any other interfaces	needed
       for format conversion.

       m3zume allows only a restricted set of argument types.	The  names  of
       argument	 types	may  not contain blanks	(for example, "REF BOOLEAN" is
       not allowed); you may need to create an auxiliary interface that	 gives
       names  to the types you want to use in your .evt	file.  Open arrays are
       not allowed.  Default values for	arguments are not allowed.

DIAGNOSTICS
       Poor.  Malformed	event files may	be accepted  by	 the  first  phase  of
       m3zume  processing, only	to be rejected during the second phase (m3pp).
       Even worse, if the first	phase detects an error,	the error  message  it
       produces	 will  only show up in the output file as an unparsable	state-
       ment flagged by m3pp.

BUGS
       The derived modules that	m3zume produces	may  have  unused  interfaces,
       variables, and/or procedures.  Expect a few warnings from the compiler.

CAVEAT TO WIZARDS
       (Ignore	this  unless  you have to modify a template file.)  The	IMPORT
       statements in template files must have the word "IMPORT"	at the head of
       the  line  and  have all	the imports on a single	line.  This simplifies
       the task	of complying with Modula-3's restriction that  interfaces  may
       be imported only	once.

RETIRED	FEATURES
       The  -GEF flag is no longer supported. See Steve	Glassman if you'd like
       to take over the	GEF package.

AUTHOR OF OBJECT
       John Hershberger

AUTHOR OF DOCUMENTATION
       John Hershberger	and Marc H. Brown

								     M3ZUME(1)

NAME | SYNTAX | DESCRIPTION | FILE FORMAT | DIAGNOSTICS | BUGS | CAVEAT TO WIZARDS | RETIRED FEATURES | AUTHOR OF OBJECT | AUTHOR OF DOCUMENTATION

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=m3zume&sektion=1&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help