NAME¶
clif - C-like Interpreter Framework (v0.92)
SYNOPSIS¶
clif [
option |
filename ]...
WARNING¶
The information in this manual page can be incomplete. For full documentation
see `The Interpreter Clif Programmer's Guide'.
DESCRIPTION¶
Clif - C-like Interpreter Framework is open-ended system for fast
development of programs with C syntax. The program is compiled and if
syntactic correct, code is immediately generated. The code is generated for a
virtual machine. The virtual machine is a part of the framework.
The
Clif works in two basic modes as an interpreter and/or as a compiler
(see `
-fhandle-main' option). The interpreter mode is
default.
In the interpreter mode, the
Clif compiles each function and each loop
only once and generated code is executed repetitively. (This is kind of
optimization; the source code is not parsed over and over again.)
The compiler mode is entered if `
-fhandle-main' option is specified. The
files are compiled and code is generated. When the compilation phase is
finished,
Clif searches for the `main' function and starts execution of
it.
The
Clif is submitted with subset of
standard C library. The
subset is still under development. Intrinsic functions can be easily enhanced
for user's purposes.
There are interface functions supporting automatic control and data acquisition,
that can be optionally compiled with
Clif.
The
Clif does not recognize bit-field definition syntax of the
C
language. The
C preprocessor is not implemented yet.
There could be discrepancies between the
Clif and the
ANSI C
Standard. We are working on unifying of semantic of the
Clif with
the
ANSI C Standard.
OPTIONS¶
For each command line, one or more
filename can be specified (usually
with
.ci suffix). The files are parsed in order of specification in the
command line. The file
clif.ini is implicitly opened. It is an
initialization file. Options used invariably are specified in the file.
Some of
-fname options have a
-fno-name form.
Default value is always mentioned in the option description. Summary of
options follows. Explanations are in next sections.
- Overall Options
-
-bc -c -copying -help -v -version -verbose -warranty
- Options Controlling Clif behavior
- -fcall-by-reference -fno-call-by-reference -fcall-by-value
-fno-call-by-value -fhandle-main
- Debugging Options
- -g -dy
- Warning Options
- -w -Wcomment -Wformat -Wimplicit -Wreturn-type -Wtrigraphs -Wuninitialized
-Wall -W -Waggregate-return -Wunused
OVERALL OPTIONS¶
- -bc
- option specifies number of 512-Byte pages for the Clif environment
main memory. The arithmetical and temporary stack is multiple of this
option as well.
- -c
- Compile only. (Not fully supported yet.)
- -copying
- Show copying.
- -help
- Show short help.
- -v, -version
- Show version.
- -verbose
- Prints general purpose of the Clif and authors.
- -warranty
- Show warranty.
OPTIONS CONTROLLING CLIF BEHAVIOR¶
- -fcall-by-reference
- Specifies parameter passing mechanism (default). If explicitly specified,
`-fno-call-by-value' must be specified as well.
- -fno-call-by-reference
- do not pass parameter by reference. If explicitly specified,
`-fcall-by-value' must be specified as well.
- -fcall-by-value
- call by value parameter passing mechanism. If explicitly specified,
`-fno-call-by-reference' must be specified.
- -fno-call-by-value
- do not pass parameters by value (default). If explicitly specified,
`-fcall-by-reference' must be specified.
- -fhandle-main
- simulate compiler-like behavior. The files on the command line and
included files are compiled. The `main' function must be defined. After
parsing pass, the generated code is executed. The main function is the
beginning of execution.
DEBUGGING OPTIONS¶
- -g
- produce debugging information. The source lines are output during virtual
machine code execution.
- -dy
- dump debugging information during parsing to standard error.
WARNING OPTIONS¶
- -w
- Inhibit all warning messages.
- -Wcomment
- Warn when a comment-start sequence `/*' appears in a comment.
- -Wformat
- Check calls to `printf', `scanf', etc., to make sure that
the arguments supplied have types appropriate to the specified format
string.
- -Wimplicit
- Warn if a function or parameter is implicitly declared.
- -Wreturn-type
- Warn if the return statement is without return value in non-void function,
or with a value in `void´ function.
- -Wtrigraphs
- Warn about trigraphs usage.
- -Wuninitialized
- An automatic variable is used without first being initialized.
- -Wall
- All of the above warnings.
- -W
- Print extra warning messages.
- -Waggregate-return
- Warn if any functions that return structures or unions are defined or
called.
- -Wunused
- Warn whenever a variable is unused aside from its declaration.
FILES¶
file.ci Clif source file
clif.ini Initialization file
SEE ALSO¶
cc(1),
gcc(1),
as(1),
ld(1),
gdb(1),
adb(1), dbx(1), sdb(1).
The Interpreter Clif. Programmer's Guide., L. Koren and T. Hruz
BUGS¶
There are many, for sure. Please, help to make this software better and report
them to Ludovit Koren <koren@vm.stuba.sk>. For instructions on reporting
bugs, see the Interpreter Clif Programmer's Guide.
COPYING¶
Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this manual
provided the copyright notice and this permission notice are preserved on all
copies.
Permission is granted to copy and distribute modified versions of this manual
under the conditions for verbatim copying, provided that the entire resulting
derived work is distributed under the terms of a permission notice identical
to this one.
Permission is granted to copy and distribute translations of this manual into
another language, under the above conditions for modified versions, except
that this permission notice may be included in translations approved by the
Free Software Foundation instead of in the original English.
AUTHORS¶
See the Interpreter
Clif Programmer's Guide for the contributors to
Clif.