(file) Return to MOFcompiler.dxx CVS log (file) (dir) Up to [Pegasus] / pegasus / doc / DevManual

  1 karl  1.1 /*
  2 bob   1.2 	$Log: MOFcompiler.dxx,v $
  3           	Revision 1.1  2001/02/25 15:01:40  karl
  4           	Add frames to manual
  5           	
  6 karl  1.1 The file documents the Pegasus MOF compiler.
  7           */
  8           
  9           /** @name Pegasus MOF Compiler
 10           
 11           The Pegasus MOF compiler is a command line utility that compiles MOF files
 12           (using the MOF format defined by the DMTF CIM Specification) into a Pegasus
 13           repository. It allows compiling from strucutures of MOF files using the
 14           include pragma and can either compile into a Pegasus repository or simply
 15           perform a syntax check on the MOF files.
 16           
 17           In the syntax check mode, it checks each class independently and does not do
 18           semantic checks between classes (ex. check for super-classes, etc.). When
 19           compiling into a Pegasus repository, the compiler uses Pegasus to install the
 20           classes and instances into the repository and uses the semantic checking built
 21           into Pegasus.
 22           
 23           The compiler operates standalone in the syntax checking mode but requires the
 24           Pegasus libraries when compiling into a Pegasus respository.
 25           
 26           The compiler requires that the input MOF files be in the current directory
 27 bob   1.2 or that a fully qualified path be given.  MOF files included using
 28           #pragma include must be in the current directory or in a directory specified
 29           by a -I command line switch.
 30 karl  1.1 
 31           The compiler assumes that the file extension is .mof it is not specified.
 32 bob   1.2 (This feature is not yet implemented.)
 33 karl  1.1 
 34           The actual configuration and type of repository created depends on the characteristics of the repository implemented in Pegasus. See the description of the Pegasus repositories for more information.
 35           
 36           <B>EXAMPLE</B>
 37           
 38           <PRE>
 39 bob   1.2        cimmof -w -Rtestrepository -I./MOF MOF/CIMSchema25.mof
 40 karl  1.1 </PRE>
 41           
 42           Compile the mof file defined in the directory MOF with the name CIMSchema25.mof
 43           and with include pragmas for other MOF files also in that directory and create
 44           the repository testrepository
 45           
 46           
 47           <B>NAME</B>
 48           
 49           	cimmof - Compile DMTF CIM MOF
 50           
 51           <B>SYNOPSIS</B>
 52           	<PRE>
 53           	cimmof [OPTION]... [FILE]...
 54           	</PRE>
 55           	
 56           
 57           <B>DESCRIPTION</B>
 58           
 59           The MOF compiler TBD
 60           
 61 karl  1.1 <B>OPTIONS</B>
 62           <UL>
 63           <LI>-h, --help	Print out usage message with command line definitions.
 64           
 65           
 66 bob   1.2 <LI>-E - 		Perform only a syntax check on the input and creates no 					repository.  Inthis mode, the compiler does not do the sematic checks that are done when a CIM object is\
 67            added to a repository
 68 karl  1.1 
 69 bob   1.2 -w -- Suppresses warning messages.
 70 karl  1.1 
 71           <LI>-R<path> - 	Specifies the path to the repository to be written. This is an
 72           alternative to the PEGASUS_HOME environment variable. If PEGASUS_HOME is set
 73           the repository gets written to $PEGASUS_HOME/repository. The -R flag one the
 74           command line overrides this with <path> specified in the directive.
 75 bob   1.2 Specify an absolute path.
 76 karl  1.1 
 77           <LI>--CIMRepository=<path>
 78           
 79           <LI>-I<path> -- 	Specifies the path to included MOF files. If the inputmof file has include pragmas and the included files  do not reside in the current directory, the -I directive must be used to specify a path to them on the compiler command line. Do this with the -I flag.
 80           
 81           	cimmof -I~/testfiles ~/testfiles/main.mof
 82           
 83 bob   1.2 The path may be relative or absolute.
 84 karl  1.1 
 85           </UL>
 86           
 87           Limitations of the current version
 88           
 89           <EM>See the README in the COMPILER section of the Pegasus code tree for up-to-date
 90           information on both the current Limitations and the current TODOs.</EM>
 91           
 92             The compiler does not handle missing include files very sanely
 93                  right now.  It just skips them.
 94           
 95           TODOs
 96           
 97           <UL>
 98             
 99           <LI>  - Parse and store references correctly
100             
101           <LI> - Test parsing and storage of instances.  They probably don't work now.
102             
103           <LI> - Rationalize the error logging scheme.  Things are spit randomly to
104               sterr now.
105 karl  1.1     
106           <LI>  - Extend error detection and handling.
107           
108           </UL>
109           */
110           

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2