Lugaru's Epsilon
Programmer's
Editor

Context:
Epsilon User's Manual and Reference
   . . .
   Introduction to EEL
      Epsilon Extension Language Features
      EEL Tutorial
   Epsilon Extension Language
      EEL Command Line Flags
      The EEL Preprocessor
      Lexical Rules
      . . .
   Primitives and EEL Subroutines
      Buffer Primitives
      Display Primitives
      File Primitives
      . . .
      Defining Language Modes
   . . .

Previous   Up    Next
Epsilon Extension Language  Epsilon Extension Language   The EEL Preprocessor


Epsilon User's Manual and Reference > Epsilon Extension Language >

EEL Command Line Flags

To invoke the EEL compiler, type eel filename. If you omit the file name, the compiler will display a message showing its command line options.

Before the filename, you can optionally specify one or more command line switches. The EEL compiler looks for an environment variable named EEL before examining its command line, then "types in" the contents of that variable before the compiler's real command line. Under 32-bit Windows, the EEL compiler uses a registry entry named EEL (a "configuration variable", as described in Configuration Variables), not an environment variable.

The EEL compiler has the following flags:

-dmac!def
This flag defines the textual macro mac, giving it the definition def, as if you had defined it using the #define command. The syntax -dmac defines the macro mac, giving it the definition (1). You can also use the syntax -dmac=def, but beware: if you run EEL via a .BAT or .CMD file, the system will replace any ='s with spaces, and EEL will not correctly interpret the flag.

-e
This flag tells the compiler to exclude definitions from #included files when it writes the bytecode file. This results in smaller bytecode files. You can safely use this flag when compiling EEL files other than epsilon.e that only include the file eel.h, but it's most useful with autoloaded files. Epsilon will signal an error if you call a function using a variable whose definition has been omitted by -e in all loaded bytecode files.

-f
This flag makes the compiler act as a filter, reading EEL code from stdin instead of a file, and writing its binary output to stdout. A file name on the command line is still required, but it is used only for error messages and debugging information.

-F
This flag makes the compiler write its binary output to stdout instead of a bytecode file.

-idirectory
This flag sets the directories to search for files included with the preprocessor #include command. Precede each search directory with -i. If you use several -i flags on the command line, Epsilon will search the directories in the order they appear.

If you don't specify any search directories, EEL looks for an EPSPATH configuration variable, which should contain a list of directories, and searches in an "include" subdirectory of each directory on the EPSPATH. For example, if EPSPATH is c:\old;d:\new, EEL searches in c:\old\include, then in d:\new\include. Under 32-bit Windows, the EEL compiler uses a registry entry named EPSPATH (a "configuration variable", as described in Configuration Variables), not an environment variable. (In Epsilon for Unix, a missing EPSPATH variable causes EEL to look in /usr/local/epsilonVER (where VER is replaced by text representing the current version, such as 101 for 10.1), then /usr/local/epsilon and then /opt/epsilon. In other versions, a missing EPSPATH makes EEL skip this step.)

EEL also searches for included files based on the location of its executable. If the EEL executable is in c:\somedir\bin, EEL uses the default include path c:\somedir\include. EEL's -w flag makes it skip this step. EEL also skips this step under Unix.

EEL always searches the current directory first if the file name in the #include directive appears between quotes. Then, if there are any -i flags, EEL searches in the specified directories. Next, EEL searches based on the executable's location. Finally, if there were no -i flags, EEL searches based on the EPSPATH setting.

-n
Makes the EEL compiler skip displaying its copyright message.

-ofile
Sets the output file. Normally EEL constructs the file name for the bytecode file based on the input file, with the .e extension replaced by ".b", and puts the bytecode file in the current directory.

-p
Makes the compiler display a preprocessed version of the file.

-q
Suppress warning messages about unused local variables and function parameters.

-s
Leave out debugging information from the bytecode file. Such a file takes up less space, and runs a bit faster. If you use this switch, though, you cannot use the debugger on this file, and the debug key Ctrl-<Scroll Lock> (except under Windows and Unix) will not work while such a function executes. We compiled the standard system with the -s flag. You may wish to recompile some files without this flag so you can trace through functions and see how they work.

-v
Prints a hash mark each time the compiler encounters a function or global variable definition. Use it to follow the progress of the compiler.

-w
This flag tells EEL not to search for included files based on the location of the EEL executable. See the description of the -i flag above.

An example using these switches is:

eel -s -p -v -dCODE=3 -oout -i/headers source >preproc



Previous   Up    Next
Epsilon Extension Language  Epsilon Extension Language   The EEL Preprocessor


Lugaru Copyright (C) 1984, 2020 by Lugaru Software Ltd. All rights reserved.