Giter Site home page Giter Site logo

holzhaus / latex-rail Goto Github PK

View Code? Open in Web Editor NEW
8.0 4.0 1.0 88 KB

Updated version of the LaTeX rail package for Syntax specification in EBNF (https://www.ctan.org/pkg/rail)

Makefile 2.39% Yacc 4.44% Lex 1.50% C 19.62% Roff 2.86% TeX 69.19%
latex rail syntax diagram ebnf backus-naur-form railroad

latex-rail's Introduction

README file for the Rail package, version 1.0 #1

The Rail package allows you to include syntax diagrams (also known as
railroad diagrams) in a LaTeX document. A UNIX manual page and LaTeX
documentation are included. The package consists of a LaTeX style file
(rail.sty) and a C program (rail) and works in two passes not unlike
BibTeX. Diagrams are specified in a regular-expression like format
between \begin{rail} and \end{rail} brackets, and are formatted using
the standard LaTeX picture environment.

To use the package, you need a UNIX system with LaTeX. Actually, the
rail program should be portable to non-UNIX systems, but you need lex
and yacc (or compatible programs such as flex and bison) and a C
compiler. No fancy ANSI C constructions are used, and the program
passes lint quite silently.

Caveat: To get diagrams in the documentation you must first compile
        the program.

To compile, just type "make". Yacc will report 2 reduce/reduce
conflicts; this is normal.

To create rail.dvi (DVI version of rail.tex) and rail.txt (plain text
version of rail.man) use "make doc". You can also use "make rail.dvi"
or "make rail.txt" to create only one of them.

To install, edit the Makefile to set up the various directories where
things should be installed (BINDIR,TEXDIR,MANDIR,MANSUFFIX), then type
the command "make install".

To clean up, type "make clean".

To create SHAR.* files, type "make shar".

To create a TAR file, type "make tar".

To lint everything, type "make lint"

Besides the examples in rail.tex, there is another file with bizarre
test cases, try.tex. This can be used as a regression test after
modifications.

As of version 1.0, the Rail package is available for Internet anonymous
FTP from host phoibos.cs.kun.nl (131.174.81.1) in the directory pub/Rail.
There is both a compressed and an uncompressed tar file, named rail.1.0.tar
and rail.1.0.tar.Z, respectively. If you cannot use FTP, mail copies can
be requested from the author of the package.

Please report any bugs or improvements to me, and have fun.

				L.W.J. Rooijakkers
				University of Nijmegen
				The Netherlands
				E-mail: [email protected]

Update history:

09-Oct-1990 L. Rooijakkers	first available for local distribution
07-Feb-1991 L. Rooijakkers	several enhancements
08-Feb-1991 L. Rooijakkers	version 1.0 #0
12-Feb-1991 L. Rooijakkers	version 1.0 #1 portability mods

latex-rail's People

Contributors

holzhaus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

yhs0602

latex-rail's Issues

typedef redefinition with different types ('int' vs 'union YYSTYPE')

Get compilation error:

latex-rail-1.2.1 $ make
gcc -DYYDEBUG -O   -c -o rail.o rail.c
In file included from rail.c:28:
./gram.h:68:13: error: typedef redefinition with different types ('int' vs 'union YYSTYPE')
typedef int YYSTYPE;
            ^

on macOS 10.12.6 and gcc:

gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/c++/4.2.1
Apple LLVM version 9.0.0 (clang-900.0.38)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

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.