Man Linux: Main Page and Category List

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. Programmers 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.