|
|
Nameulc - Bartels User Language Compiler Synopsisulc [-wcon|-wcoff] [[-S[ource]] srcfile...] [-lib libname...] [-dll libname...] [{-cp|-cl} [dstname...]] [-I[nclude] includepath...] [-D[efine] macroid...] [-O[0|1]] [-e[0|1]] [-w[0|1|2|3|4]] [-t[0|1]] [-l[0|1|2|3|4|5]] [-ld listingdirectory name] [-dp prgname...] [-dl libname...] [-ulp prgfilename] [-ull libfilename] [-log logfilename] DescriptionThe Bartels User Language Compiler ulc translates User Language source code into User Language machine programs and/or User Language libraries. User Language machine programs can be executed by the User Language Interpreter. User Language libraries usually are generated from frequently used source code. User Language library machine code can be linked to other User Language machine code (programs or libraries). Library linking can be done either statically (at compile time by the User Language Compiler) or dynamically (at runtime by the User Language Interpreter). As an advantage of the User Language library concept, frequently used source code needs to be compiled just once and can subsequently be referenced through linking, which is much faster than compiling. OptionsCommand line options of the
User Language Compiler consist of the dash
( Wildcard Option [-wcon|-wcoff]The wildcard option is used to activate or deactivate wildcard processing at the specification of file and/or element names. On default wildcard processing is activated, i.e., omitting the wildcard option leaves wildcard processing activated. Option
-wcon can be used for explicitly activating wildcard processing. With wildcard recognition activated, the character
Source File Option [[-S[ource]] srcfile...]This option is used for specifying the file name(s) containing the source code to be compiled. File name specifications can contain a directory path, i.e., the source file names need not reside in the current directory. Wildcards are supported with the source file name specification if wildcard recognition is activated (see option
-wcon above). Source file names can be specified with or without file name extension. On source file name specifications without extension the Compiler automatically assumes and/or appends file name extension
Static Link Option [-lib libname...]The static link option
-lib requires one or more library name specifications and at least one valid source file specification (see option
-Source above). The machine code of the libraries specified with the
-lib option must be available in the
Dynamic Link Option [-dll libname...]The dynamic link option
-dll requires one or more library name specifications and at least one valid source file specification (see option
-Source above). The machine code of the libraries specified with the
-dll option must be available in the
Create Program/Library Option [{-cp|-cl} [dstname...]]The create option can be used to designate the type of machine code to be generated. The
User Language Compiler can create either
User Language programs or
User Language libraries. On default program generation request is assumed, i.e., omitting both the
-cp and the
-cl option defaults to
User Language program creation. Option
-cp explicitly selects program generation whilst option
-cl selects library generation; both options must not be used together. On default, the destination element name is derived from the corresponding source file name; both the directory path and the source file name extension are stripped from the source file name to generate destination element name. The
-cp and
-cl options allow for the specification of non-default destination program and/or library names. Only one source file specification (see option
-Source) is allowed when explicitly specifying destination element name(s) with options
-cp and
-cl. The machine code generated by the Compiler is stored with the specified destination element name to
Include Path Option [-I[nclude] includepath...]The
-Include (and/or
-I) option is used for specifying multiple alternate include paths for include file name search. At least one include path argument is required. When encountering an
Define Option [-D[efine] macroid...]The
-Define (and/or
-D) option is used for defining macros at the
User Language Compiler call. At least one macro identifier is required. This option corresponds with the
Optimizer Option [-O[0|1]]The
-O option is used to activate or deactivate the optimizer of the
User Language Compiler. On default the optimizer is deactivated, i.e., omitting this option leaves the optimizer deactivated. Option
-O or
Error Severity Option [-e[0|1]]The
-e option is used for setting the error severity level. On default the error severity level is set to 1, i.e., omitting this option selects error severity level 1. Option
Warning Severity Option [-w[0|1|2|3|4]]The -w option is used for setting the warning severity level in the range 0 to 4. On default, the warning severity level is set to 0, i.e., omitting this option selects warning severity level 0. Omitting explicit level specification with this option as with -w defaults to warning severity level 3. Each type of warning defined with the Compiler is assigned to a certain warning severity level. The Compiler only prints warnings with a warning severity level less than or equal the level selected with the -w option since higher warning severity levels denote less importance. With this option, it is possible to suppress less important warning messages. Top Level Warnings Only Option [-t[0|1]]The -t option controls whether warning messages related to the compilation of include files are omitted or not. On default (i.e., if this option is not specified or if its value is set to 0), warning messages related to the compilation of both top level source code files and include files are issued. Setting this option value to 1 prevents the User Language Compiler from issuing warning messages related to the compilation of include files, thus simplifying the analysis of warning messages when working with standard include files containing functions and variables which are not used by every program. Listing Option [-l[0|1|2|3|4|5]]The
-l option is used to control the listing file output. Listing modes 0 to 5 can be specified. Mode 0 won't produce any listing output and mode 5 produces the most detailed listing. On default, listing mode 0 is selected, i.e., no listing is generated if this option is omitted. Omitting explicit listing mode specification with this option as with
-l defaults to listing mode 5. The listing output file name is derived from the corresponding source code file name, where the original file name extension is replaced with extension
Listing Directory [-ld listingdirectoryname]The
-ld option allows for the specification of an alternative output directory for the listing files created with the
-l option. This option is useful when applying
Delete Program Option [-dp prgname...]The
-dp option is used for deleting previously compiled programs from the
Delete Library Option [-dl libname...]The
-dl option is used for deleting previously compiled libraries from the
Program Database File Name Option [-ulp prgfilename]On default, the
User Language Compiler stores
User Language programs to a file named
Library Database File Name Option [-ull libfilename]On default, the
User Language Compiler stores
User Language libraries to a file named
Log File Option [-log logfilename]The
User Language Compiler prints all messages to standard output and to a log file. Log file output is generated to save long message lists which could be generated at the compilation of different sources. On default the log file name is set to
ExamplesCompilation of the
User Language program contained in
> ulc ulprog -Ow
Compilation of the User Language program contained in
> ulc ulprog -l -cp newprog
Deleting the
User Language programs named
> ulc -dp ulprog newprog -dl test*lib
Generate
User Language library
> ulc libbae.ulh -cl libsll -l2O
Compile all current directory files with extension
> ulc *.ulc -Define USELIB -lib libsll -O
Generate libraries
> ulc -w2 -O -cl libstd stdlib -Source std.ulh
Generate library
> ulc /wO -cl liblay -S \baeulc\lay.ulh -dll libstd -log genlib.rep
Generate programs
> ulc laypcr.old /dll liblay /cp -O /S tracerep
Files
See alsouserlist, User Language Interpreter, Bartels User Language Programmer's Guide DiagnoseThe error messages issued by ulc are intended to be self-explanatory. Warnings
ulc is a powerful software tool for implementing programs for the manipulation of DDB file contents and for generating CAM data. Even the BAE user interface can be considerably changed and/or extended with
User Language programs. It is advisable to test each new
User Language program in a non-critical environment (test software installation, test jobs, backup of real jobs, etc.) until confidence in the program is established for unrestricted use on real jobs. It is also strongly recommended to ensure security, e.g., to prevent foreign persons from implanting destructive
User Language programs to
ULC - User Language Compiler |
|