About site: Programming/Languages/Oberon/Compilers - Jacob
Return to Computers also Computers
  About site: http://user.cs.tu-berlin.de/~sepp/jacob/00wurzel.html

Title: Programming/Languages/Oberon/Compilers - Jacob Small Oberon-2 compiler for Linux.
Mocha Shareware 5250 emulation software.

Netscape_Directory_SDK_for_Java__Source_Code_Release Enables you to write applications which access, manage, and update the information stored in an LDAP directory. C and Perl versions also available. [Open Source]

libwmf A library to convert microsoft WMF file format to something useful, currently bindings exist to convert them to onscreen X graphics, to the GIF and to FIG.

Bromley_College_Linux_Training Accessible, low cost, Linux training courses in the UK on Saturdays. One-day courses in Apache, Samba, Sendmail, System and Network Administration

RFC_0489 Comment on Resynchronization of Connection Status Proposal. J. Postel. March 1973.

CSLA Offers design, hosting, flash, CGI, java, consulting, and internet marketing services.


  Alexa statistic for http://user.cs.tu-berlin.de/~sepp/jacob/00wurzel.html





Get your Google PageRank






Please visit: http://user.cs.tu-berlin.de/~sepp/jacob/00wurzel.html


  Related sites for http://user.cs.tu-berlin.de/~sepp/jacob/00wurzel.html
    Data_Recovery_USA Specialists for RAID recovery and hard drive repair. Also provides repair of SQL Server, Exchange and database.
    Fidelio Linux/Unix client that supports most of the latest Hotline features.
    Casati,_Fabio HPLabs, Palo Alto - Process intelligence and exception handling. Contains a list of publications, some of which are available as PDFs.
    The_Apache_DB_Project Project charged with the creation and maintenance of commercial-quality, open-source, database solutions. Mailing list signup, guidelines, repositories, and proposals.
    RFC_1593 SNA APPN Node MIB. W. McKenzie, J. Cheng. March 1994.
    Abuse Full R-Comp release.
    RFC_2554 SMTP Service Extension for Authentication. J. Myers. March 1999.
    Uducat A full eCommerce Internet publishing engine.
    POS_Profits Offers software for POS, accounting, inventory control and credit card processing.
    CANDO_Tech_Center Provides career-oriented, technically advanced training and related services. Located in Wyoming, United States.
    The_infoRSS_Project A lightweight RSS, ATOM, NNTP and HTML headlines reader for Firefox, Mozilla, SeaMonkey, Netscape and Thunderbird. Download, FAQ, screen shots, and Flash movie demos.
    Topix__Software News about the software industry, collected from various sources on the web. [RSS]
    RFC_0251 Weather Data. D. Stern. October 1971.
    NNTPRelay The only carrier-class news router for Windows NT. Freely available and redistributable. Also available from the same authors is the freely available news server program "Tortoise" for Windows NT.
    MailWash JavaScript to clean out quoting marks and extra line breaks in e-mail messages.
    webYourPhotos An easy to use picture gallery script, written in PHP. [Freeware]
    Focused_Consulting Specializes in website maintenance services for existing websites.
    Old_City_Web_Designs Providing ecommerce ready web sites, web portals, domain names, email aliases, customized website layouts, website promotion. Located in Philadelphia, Pennsylvania
    RFC_1072_-_TCP_extensions_for_long-delay_paths Obsoleted by RFC 1323, RFC 2018.
    Dart_Creations Provides freelance web development. Also contains Joomla! tips, tutorials, and free modules.
This is websites2007.org cache of m/ as retrieved on 2008.10.12 websites2007.org's cache is the snapshot that we took of the page as we crawled the web. The page may have changed since that time.
Jacob - Oberon-2 compiler for Linux

JACOB

(Just A Compiler for OBeron-2)Version 0.25/31/98Ralf Bauer (nathan@cs.tu-berlin.de)Max Spring (sepp@cs.tu-berlin.de)Mailing list jacob@employees.org:To subscribe send an email to majordomo@employees.org containingsubscribe jacob your-addressin the body (subject doesn't matter).To mail to the mailing list send to jacob@employees.org.The package:jacob-v0.2.tar.gzjacob-v0.2-src.tar.gzNotes on the source code:You needThe Modula-2 compiler Mocka 9605The compiler-compiler toolbox Cocktail 9209The backend generator Beg 1.75Look into the file 'env' for the environment variable settingsAsk me...

Introduction

This is the second public release of our Oberon-2 compiler Jacob. Jacob (asthe name says ;-) is a stand-alone Oberon-2 compiler under Linux. It compiles asingle Oberon-2 module together with its imported modules and links all thestuff together to an executable program whose name is the module name.As the practical result of our diploma thesis, Jacob owes its existance fromthe use of compiler generating tools: The front-end was generated with theCompiler Construction Tool Box "Cocktail" (Version 9209) of Dr. J. Grosch. Inparticular the tools Rex, Lalr, Puma, Ast and Ag were used. For the back-end weused Beg (Version 1.75) of H. Emmelmann to produce GNU assembler code.There is still a lot of debug code in Jacob so the execution speed is notoptimal. The various command-line options allows tracing of the compile phaseand looking at intermediate results which are often hidden within a compiler.

Features

Jacob implements the full Oberon-2 language as reported in"The Programming Language Oberon-2" (March 1995).External modules allow to write library modules in other Languages.Instead of an explicit dispose function a garbage collector is implementedusing the mark-and-sweep algorithm.Command-line options for enabling and disabling NIL, index, rangeand assertion checks.

Implementation extensions/restrictions

Filename extension of Oberon-2 source modules is .ob2The underscore character is legal in identifiers.The maximum length of identifiers is 255.Procedures can be nested up to a maximum of 30.A type extension hierarchy can have a maximum depth of 8.The difference between the smallest and the largest case label may not begreater than 4096.SYSTEM.NEW is only valid for pointers which base type doesn't contain anypointer.

Disclaimer

This product includes software developed by the GMD Karsruhe and itscontributors.This software package is FREE, so you can do with it whatever is in your mind,BUT: whatever you do with this package, YOU are responsible and you do it ONYOUR OWN RISK. This simply means we disclaim warranties of any kind.Because of the early version of Jacob it is definitely possible that there arebugs in the implementation. If you find one (or several) don't despair. Pleaselet us know about it (see section Bug Report below).

Requirements

Jacob only requires the GNU assembler as. We use version 2.2 (i486-linux).

Installation

Un-tar the package wherever you want (/usr is recommended).This will result in the subdirectory tree:jacobjacob/libjacob/sysjacob/testIf you decide to use a home directory other than /usryou have to edit the script files oc and sys/oc.linker andto adjust the directory specifications in these scripts.Copy, move or link the script oc into a directory which is includedby your PATH environment variable.To test your installation change the current work directory tojacob/test, compile the Test module by "oc Test". This will alsogenerate the object files of the library modules, if you havewrite permissions to jacob/lib.

Invocation

By typing jacob -h you get the usual description of the usage with a shortexplanation of the available command-line options.Assembler and object files are written into the directory whichcontains the source file.

Library Modules

We have (up to now) implemented a (very) quick'n'dirty set of library modules.These are:Errno: constants for the Linux error numbersFIO: file i/o (TopSpeed Modula-2 inspired)In: input of some basic typesLib: some helping procs (TopSpeed Modula-2 inspired)Out: output of some basic typesStorage: heap and garbage collector functionsSysLib: interface to the linux osRawFiles: basic file i/oLib: command-line arguments, random numbers and othersStr: string Handling (TopSpeed Modula-2 inspired)

Bug Report

If you find an error in the implementation or you have comments regardingJacob, PLEASE send it to us. Help us to improve Jacobby sending e-mail to the following address:sepp@cs.tu-berlin.deIt is useful to send a small example program which shows the bug.

Future Work

As future work we plan:A hand-written front-end which is implemented using Jacob itselfMore sufficient library modulesThe use of symbol files to speed up the import stageAn improved memory management

Changes from Version 0.1.1 to 0.2

Scanner recognizes an identifier with a length greater 255 andemits an appropriate error message instead of dumping its core.Fixed this bug in the code generator which caused the message"Str.s:1104: Error: register does not match opcode suffix"when compiling lib/Str.ob2.Source code is also available.

Changes from Version 0.1 to 0.1.1

Small bug fix: Changed /lib/elf/ld-linux.so.1 to /lib/ld-linux.so.1

Changes from Version 0 to 0.1

Jacob runs now as ELF executable and produces ELF output.External modules (former "foreign" modules):Changed syntax (with respect to the Oakwood Guidelines):Module = MODULE ident ';' [ImportList] DeclSeq [BEGIN StatementSeq] END ident | XModule ....XModule = MODULE ident EXTERNAL '[' string ']' ';' [ImportList] XDeclSeq END ident '.' .XDeclSeq = { CONST {ConstDecl ';'} | TYPE {TypeDecl ';'} | VAR {VarDecl ';'} | PROCEDURE IdentDef [XFormalPars] ';' } .XFormalPars = '(' [XFPSections] ')' [':' Qualident] .XFPSections = FPSection {';' FPSection} [';' '..'] .External modules are identified by the keyword EXTERNAL following themodule's name. The following bracket-enclosed string will be passedunchanged to the linker.Constants, types, variables and procedures may be declared in any order.This allows grouping of types and functions which belong together,e.g. for writing interfaces for large libraries. Type-bound proceduresaren't allowed.A procedure declaration consists only of the procedure header. The lastformal parameter of a non-empty formal parameter list may be '..', inwhich case any non-empty actual parameter list starting at thecorresponding position is legal.Changed parameter passing mechanisms for external procedures:No hidden parameters (type tags, array lengths) will be passed.The following "objects" will be passed according the kind/type ofthe formal/actual parameter ('..' is treated like an open-arrayvalue parameter):formal parameter | actual parameter | passed object===================================================================variable parameter | any | address of actual | | parameter-------------------------------------------------------------------non-open-array value | any | value of actualparameter | | parameter-------------------------------------------------------------------open-array value | character constant; | address of actualparameter | string constant; array | parameter-------------------------------------------------------------------open-array value | SYSTEM.BYTE; SYSTEM.PTR; | value of actualparameter | BOOLEAN; CHAR variable; | parameter | SET; integer type; real | | type; NIL; pointer, | | procedure or record type |-------------------------------------------------------------------.. | character constant; | address of actual | string constant; array | parameter-------------------------------------------------------------------.. | SYSTEM.BYTE; SYSTEM.PTR; | value of actual | BOOLEAN; CHAR variable; | parameter | SET; integer type; real | | type; NIL; pointer, | | procedure or record type |---------------------+--------------------------+------------------External variables declarable and accessible.There are no type descriptors for records.If external procedures are assigned to procedure variables, theprogrammer should exactly know what (s)he's doing...Code improvements:Displays in stack frames are more compact.Jump optimization (not only) for boolean short-circuit.Improved memory handling at compile-time.New command line options.Various bug fixes:Comparison of two function results with a real type.Recompilation if a indirectly imported module is younger thanthe client module.A SYSTEM.VAL at a variable parameter position gets now coded correctly....Library modules:argc, argv, env and errno now directly accessible through module SysLib.Last modified: Sat Jan 2 19:08:15 PST 1999
 

Small

Oberon-2

compiler

for

Linux.

http://user.cs.tu-berlin.de/~sepp/jacob/00wurzel.html

Jacob 2008 October

dvd rental

dvd


Small Oberon-2 compiler for Linux.

Rules




© 2008 Internet Explorer 5+ or Netscape 6+

Recommended Sites: 1. Arts - Business - Computers - Games - Health - Home - Kids and Teens - News - Recreation - Reference - Regional - Science - Shopping - Society - Sports - World Miss Gallery - Top Anime Hentai - DVD rental by mail - Credit Card - Car Accident Lawyer Los Angeles - AdSense Optimization Tutorials - Anonymous Surfing - Mortgage Calculator
2008-10-12 05:29:10

Copyright 2005, 2006 by Webmaster
Websites is cool :) 203Stickerei - Hotel Bruselas - Online Reservations - Hotels In Wroclaw - Pozycjonowanie