Man Linux: Main Page and Category List


       clif - C-like Interpreter Framework (v0.92)


       clif [ option | filename ]...


       The  information  in  this  manual  page  can  be  incomplete. For full
       documentation see ‘The Interpreter Clif Programmer’s Guide’.


       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


       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


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

              Show copying.

       -help  Show short help.

       -v, -version
              Show version.

              Prints general purpose of the Clif and authors.

              Show warranty.


              Specifies  parameter  passing mechanism (default). If explicitly
              specified, ‘-fno-call-by-value’ must be specified as well.

              do not pass parameter by  reference.  If  explicitly  specified,
              ‘-fcall-by-value’ must be specified as well.

              call   by  value  parameter  passing  mechanism.  If  explicitly
              specified, ‘-fno-call-by-reference’ must be specified.

              do  not  pass  parameters  by  value  (default).  If  explicitly
              specified, ‘-fcall-by-reference’ must be specified.

              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.


       -g     produce debugging  information.  The  source  lines  are  output
              during virtual machine code execution.

       -dy    dump debugging information during parsing to standard error.


       -w     Inhibit all warning messages.

              Warn when a comment-start sequence ‘/*’ appears in a comment.

              Check  calls  to  ‘printf’, ‘scanf’, etc., to make sure that the
              arguments supplied  have  types  appropriate  to  the  specified
              format string.

              Warn if a function or parameter is implicitly declared.

              Warn if the return statement is without return value in non-void
              function, or with a value in ‘void´ function.

              Warn about trigraphs usage.

              An automatic variable is used without first being initialized.

       -Wall  All of the above warnings.

       -W     Print extra warning messages.

              Warn if any functions  that  return  structures  or  unions  are
              defined or called.

              Warn whenever a variable is unused aside from its declaration.

FILES        Clif source file
       clif.ini       Initialization file


       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


       There are many, for sure. Please, help to make this software better and
       report them to Ludovit Koren <>. For  instructions  on
       reporting bugs, see the Interpreter Clif Programmer’s Guide.


       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.


       See the Interpreter Clif Programmer’s Guide  for  the  contributors  to