Code Monkey home page Code Monkey logo

obnc's Introduction

INTRODUCTION

OBNC is a compiler for Niklaus Wirth's programming language Oberon. It translates Oberon modules into C code. The build command (obnc) invokes both the Oberon compiler (obnc-compile) and the host C compiler and sorts out all dependencies.

OBNC follows POSIX standard. This implies that it should compile and run on a POSIX compatible operating system.


INSTALLATION

1. Make sure you have Boehm-Demers-Weiser's garbage collector GC installed on your system. To use the basic library modules Input and XYplane you also need SDL (Simple DirectMedia Layer). On a Debian system you install these dependencies with the command

	apt install libgc-dev libsdl1.2-dev

2. Compile OBNC with the command

	./build

By default OBNC is built to be installed in /usr/local. If you want to use installation directory D instead, add `--prefix=D' to the build command. For other build options, run `./build -h'.

3. Optionally, run unit tests with the command

	./test

4. Install OBNC with the command

	./install

To undo the installation, run `./install u'. For other installation options, run `./install -h'.


COMMANDS

bin/obnc
	Oberon build tool

bin/obnc-compile
	Oberon-to-C compiler

bin/obnc-path
	Oberon module finder

bin/obncdoc
	Oberon documentation generator


DOCUMENTATION

share/doc/obnc/oberon-report.html
	Oberon language reference

share/doc/obnc/obncdoc/obnc
	Basic library modules

share/man/man1/
	OBNC commands


LICENSE

OBNC is released under the GNU General Public License (see file COPYING), with the exception of library source files in lib/obnc which are released under the Mozilla Public License (see file lib/obnc/LICENSE).


AUTHOR

Karl Landstrom <[email protected]>

obnc's People

Contributors

rsdoiel avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

obnc's Issues

Tests fail in my repo version of 0.17.0

When I run make test I'm getting a failure on duplicate module import test. This doesn't happen if I build directly from Karl's tar file version. I'm guessing is I have a some file that needs to updating or removal, need to track this down.

Makefile needs update

clean rule needs to remove snaps for both 0.17.0 and 0.16.1. Also probably should add a rule to build the snap. Need to look at picking up the ARCH and OS in Makefile also.

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.