2.2 Running the compiler
This section describes the major Vortex compiler commands. The following notation is used:
[phrase] -- phrase is optional
|phrase2 -- either phrase1 or phrase2
... -- the last parameter may be repeated
More commands are described in Sections 2.3, 2.4, and 2.5. This manual describes only the more common commands; a complete list of commands and their brief descriptions can be obtained by using the help command. Multiple commands separated by semicolons can be given on the same line.
help [helptopic]-- display a list of compiler commands with brief descriptions (related to helptopic if specified; possible helptopics are: make, options, browse, typechecker, advanced, and startup)
make [progname.ext] -- set the current program to be progname.ext if specified, then compile the current program. The executable called progname is produced in the gen directory. The .ext extension may be omitted, in which case an input-language-specific extension (e.g. .cecil for Cecil programs, .rtl for Java programs, .o for C++ programs, and .strtl for Smalltalk programs) is appended.[2]
make command supporting parallel Phase Two compilation, Phase One or Phase Two only compilation, and/or optimized compilation, derived from the regular expression: [p]make[1|2][o1|o2] [progname.ext]
p -- Uses the pm script to perform the Phase Two compiles in parallel. (See section 8 for information on how to configure the list of machine names used by Vortex for parallel compiles.)
1|2] -- Only do Phase One or Phase Two compilation.
o1|o2] -- Recompile all file that have been compiled with a lower optimization level than that specified in command (see section 2.3 for a description of possible optimization levels and some examples of make commands).
info -- report the status (up-to-date, out-of-date, need-to-parse, need-to-codegen) of all of the files making up the current program
save [filename] -- save the compiler state to a checkpoint file filename, if given, or curprog.db otherwise, where curprog.ext is the name of the current program
load filename -- load the checkpoint from file filename
quit, ^D -- exit Vortex. You will be prompted to make sure you really wanted to quit. Note that quitting the compiler does not save the compiler state. If you want to save the compiler state before quitting, you must use the save command and then quit. really_quit can be used to avoid the confirmation message.
really_quit -- like quit, but does not require interactive user confirmation
A string typed at the Vortex prompt is interpreted as follows. If it starts with a word that matches one of the compiler commands, such as make, that command is executed. Otherwise, if the first word matches an option name, such as optimize, the value of the option is displayed or modified (section 2.4 describes options). Otherwise, the string is evaluated as a Cecil expression, statement, or declaration (section 4 describes the evaluator). If the evaluator does not recognize the string as a valid Cecil construct, it reports an error.
source_paths option), then the filename as given by the user is searched for. For example, lang Cecil; make foo.bar first searches for a file named foo.bar.cecil, and if this fails then searches for a file named foo.bar.