rsdoiel / obnc Goto Github PK
View Code? Open in Web Editor NEWThis is a fork of obnc-0.17.2 by Karl Landström, hosted at http://miasap.se/obnc/.
Home Page: http://miasap.se/obnc/
License: GNU General Public License v3.0
This is a fork of obnc-0.17.2 by Karl Landström, hosted at http://miasap.se/obnc/.
Home Page: http://miasap.se/obnc/
License: GNU General Public License v3.0
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). Copyright years written as a range means that each year in the range is "copyrightable." AUTHOR Karl Landstrom <[email protected]>
I've just added the Oberon grammar from this project to https://mingodad.github.io/parsertl-playground/playground/ a Yacc/Lex
online editor/tester (repository here https://github.com/mingodad/parsertl-playground).
Select Oberon parser
from Examples
then click Parse
to see the parser tree for the content in Input source
editor.
I hope it can help develop/debug Yacc/Lex
grammars in a fast iteration with minimal distraction.
Any feedback is welcome !
It's be nice to upgrade to the current stable release of libsdl2.
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.
I think this directory may get created more than once. Will try adding a -p
to the mkdir command and see if install starts to work without errors.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.