Veraltet

Die aktuelle Version von Ox findet man auf Sourceforge, und die ist in Version 1.10.3 auf der g0 installiert. Dankenswerterweise wird sie jetzt von Tom Shields gewartet.

In diesem Verzeichnis finden sich Patches für die alte Version 1.04 von Kurt Bischoff.

Patch fuer aktuelle Version von GCC

Mihai Ghete hat dankenswerterweise eine Variante des ox-flex-patch für GCC 4.x zur Verfuegung gestellt. Er schreibt darüber:

Mit diesem Patch kann man ox mit flex und gcc4 compilieren. Dieser Patch sollte zudem auch eine "dangerous trailing context"- Warning und die Segfaults bei fehlerhaften Eingaben beseitigen. Der Patch ist für den Quellcode von ox, also:

- http://www.complang.tuwien.ac.at/ubvl/tools/ox/oxDistG1.04.sh.Z
  entpacken und ausführen
- cd oxDistG1.04
- patch -p1 < ox-flex-new-gcc4.patch
- cd source && make

Patches fuer aeltere Versionen von GCC

Martin Kögler hat dankenswerterweise einen Patch zur Verfügung gestellt, mit dem Ox sich auch mit flex bauen lässt. Er schreibt darüber:

Mit flex 2.5.4 funktioniert er, soweit ich getestet habe, problemlos. Die Abstürze bei Fehlermeldungen werden auch behoben.

Die Testsuite von ox durchläuft er auch, nur muß man die Makefiles alle anpassen und bei den handscan-Beispiel den lex-Scanner anpassen.

Eine weitere Abweichung ist, das er bei der Verwendung von Macros im ersetzen Codes Tabs statt Leerzeichen ausgibt, was für den Benutzer egal ist. Durch diese Ersetzung wird benötigt, damit die Zeilennummern bei Fehlern richtig ausgegeben werden.

Florian G. Plug hat dankenswerterweise eine Variante des ox-flex-patch für Debian/Sarge mit GCC 3.x zur Verfügung gestellt. Er schreibt darüber:

D.h - so kann man den ox auf debian/sarge, debian/unstable und vermutlich auch auf debian/stable kompilieren (auf stable nicht getestet)

	.) ox + ox-flex-new.patch downloaden, ox entpacken.
	.) cd oxDistG1.04
	.) patch -p1 < ../ox-flex-new.patch
	.) cd source
	.) make
[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory  -  
[TXT]ox-flex-new-gcc4.patch2008-04-24 22:50 17K 
[   ]ox-flex-patch2004-03-13 08:43 7.8K 
[   ]ox-linuxaout-bin.tar.gz2003-04-09 12:14 75K 
[CMP]oxDistG1.04.sh.Z2003-04-09 12:14 878K 
[CMP]oxTestG1.04.sh.Z2003-04-09 12:14 718K 
[   ]whatOxIs2003-04-09 12:14 2.7K 
[   ]whatsNew2003-04-09 12:14 3.7K 
[TXT]ox-flex-new.patch2004-05-03 11:13 9.7Kfor Debian/Sarge

This message contains instructions for obtaining Ox G1.04.
Installation according to these procedures requires a Unix system
with ftp, uncompress, yacc, lex, and a C compiler.  If these
instructions won't work for you, please write to the address at
the end of this message.

The available Ox-related items are as follows:

     * oxDistG1.04.sh.Z: Ox G1.04 Distribution Package.  This is
     a compressed sh script of size about 900 kilobytes.
     Installation requires about 3 megabytes of disk space.  This
     package includes:

          * source code for Ox G1.04.

          * Ox Tutorial Introduction (about 18 pages) in LaTeX
          .dvi and Postscript format.

          * Ox User Reference Manual (about 57 pages) in LaTeX
          .dvi and Postscript format.

          * Ox on-line manual entry.

          * Ox programs for several toy evaluators.

          * Ox program for a compiler for a C-like (but block-
          structured) imperative programming language.  Includes
          66-page description in Postscript format.  Suitable for
          instruction and experimentation.

          * Ox grammars for parsers for popular languages.  Most
          of these are taken from an archive site mentioned in
          the comp.compilers monthly message.  They included
          Yacc, Lex, and C source code and `make' files that
          cause preprocessing by Ox.  Each is a CFG ready for
          augmentation with attribute definitions.  Included are
          attribute-grammars-to-be for:

               * ANSI C
               * C++
               * ANSI Pascal
               * FORTRAN 77 subset
               * ANSI Ada

     * oxTestG1.04.sh.Z:  Ox Test Suite.  This is a compressed sh
     script of size about 750 kilobytes.  Exercising Ox G1.04 on
     the test suite requires about 8.5 megabytes of disk space.
     This has been executed in several diverse hardware/software
     environments, but if you can spare this much space
     temporarily, it is a good idea to run these tests on your
     system.

Here is how to obtain any of the above:

     Type `ftp ftp.cs.iastate.edu' or `ftp 129.186.3.15' at the
     prompt on your machine.

     Type `anonymous' when prompted for a username.

     Type your e-mail address when prompted for a password.

     Type `binary' at the ftp prompt to put ftp in binary mode.

     Type `cd pub/ox' at the ftp prompt to get to the right
     directory.

     To copy the above-described files to your machine, type one
     or more of the following at the ftp prompt:

          get oxDistG1.04.sh.Z

          get oxTestG1.04.sh.Z

     Type `quit' at the ftp prompt to exit ftp.

To unpack the Ox G1.04 distribution package, issue the following
command sequence at your system prompt:

      cp oxDistG1.04.sh.Z oxDistG1.04.sh.Z.bak
             # makes a backup
      uncompress oxDistG1.04.sh.Z
             # overwrites oxDistG1.04.sh
      sh oxDistG1.04.sh
             # overwrites oxDistG1.04
      rm oxDistG1.04.sh
             # removes clutter

To unpack the Ox G1.04 test suite, issue the following command
sequence at your system prompt:

      cp oxTestG1.04.sh.Z oxTestG1.04.sh.Z.bak
             # makes a backup
      uncompress oxTestG1.04.sh.Z
             # overwrites oxTestG1.04.sh
      sh oxTestG1.04.sh
             # overwrites oxTestG1.04
      rm oxTestG1.04.sh
             # removes clutter

To use the contents of the distribution package (most
importantly, to install Ox G1.04 on your machine), `cd
oxDistG1.04' and follow the instructions in that directory's
README file.

If you have completed the installation of Ox G1.04, and followed
the above instructions for downloading and unpacking the test
suite, you can test Ox G1.04 on your machine by doing `cd
oxTestG1.04' and following the instructions in the README file
there.

If the above procedures won't work for you (for instance, if you
lack `ftp' or `uncompress'), the material can be sent by e-mail
or on diskette--please send mail describing your situation to:

      ox-request@cs.iastate.edu

*****************************************************************
       Ox source code and documentation are copyrighted:

       Copyright (c) 1992, 1993, 1994  Kurt M. Bischoff
                      All rights reserved.

Public distribution of Ox (for instance, placing it on an
anonymous-ftp archive or on a CD-ROM) requires permission from
the author.

THIS SOFTWARE IS PROVIDED FOR USE "AS IS" AND WITHOUT ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
*****************************************************************