Coder Social home page Coder Social logo

alexanderkjeldaas / cim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hackerdom/cim

0.0 2.0 0.0 1.27 MB

fork of http://git.savannah.gnu.org/cgit/cim.git/ with some fixes

License: GNU General Public License v2.0

Makefile 0.95% M4 1.14% C 91.70% C++ 0.32% Yacc 3.62% Perl 2.28%

cim's Introduction

Introduction
------------

GNU Cim is a compiler for the programming language Simula (except
unspecified parameters to formal or virtual procedures (see the
documentation for how portable code for formal procedures can be
written)).  It offers a class concept, separate compilation with full
type checking, interface to external C routines, an application
package for process simulation and a coroutine concept.

The portability of the GNU Simula Compiler is based on the C
programming language.  The compiler and the run-time system is written
in C, and the compiler produces C code, that is passed to a C compiler
for further processing towards machine code.

Copyright
---------

GNU Cim is copyrighted by Sverre Hvammen Johansen, Stein Krogdahl, and
Terje Mjøs, Department of Informatics, University of Oslo (plus some
minor parts from Free Software Fundation).

GNU Cim is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; version 2.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Compilation
-----------

The following instructions assumes that you are using a
Bourne-compatible shell. Further details can be found in the enclosed
INSTALL file.

The simplest way to compile this package is:

  1. `cd' to the directory containing the package's source code and 
     type `./configure' (or `CFLAGS=-O2 LDFLAGS=-s ./configure', 
     which is recomended when using GCC) to configure the package
     for your system.

     Running `configure' takes awhile.  While running, it prints some
     messages telling which features it is checking for.

  2. Type `make' to compile the package

  3. Type `make install' to install the package

You may want to compile the run-time-system with CFLAGS=-O2, but
have the cim compiler compile produced C-code with CFLAGS=-O0. 
This can most easilly be done by the following steps:

  1. `cd' to the directory containing the package's source code and 
     type `CFLAGS=-O2 ./configure'

  2. Type `make' to compile the package.

  3. Type `make install' to install the package.

  4. type `CFLAGS=-O0 ./configure'

  5. type `cd src; make' followed by `make install'
     
GCC may run out of virtual memory, and therefore you may want to use a
standard C-compiler instead. You can do that by typing `CC=cc
./configure'

Static vs. shared libraries
---------------------------

Cim builds by default both static and shared libraries.  You may need
to set some environment variables (LD_LIBRARY_PATH under Linux) or
edit some system configuration file (/etc/ld.so.conf under Linux) to
get access to the shared libraries at run-time. See the message that
is produced at the end of `make install' for some details.  If you
don't want shared libraries, then please run `./configure' with option
--disable-shared. Static libraries can be disabled with the option
--disable-static.

Bugs
----

Please mail bug reports for Cim to [email protected]. Please include
the Cim version number and the system type, which you can get by
running "cim --version", a copy of config.cache, and relevant Simula-
and produced C-code.

Version 4
---------

GNU Cim version 4 is experimental.  If you want a stable compiler, please
use version 3 instead.  We are planing support for more optimizations.

Version 3
---------

GNU Cim version 3 is no longer experimental.  The compiler may use a lot
of virtual memory. If that is a problem for you, please split your
program into separate compiled modules or use version 2 of cim
instead.

Sverre Hvammen Johansen





cim's People

Contributors

tinkturianec avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.