holzhaus / latex-rail Goto Github PK
View Code? Open in Web Editor NEWUpdated version of the LaTeX rail package for Syntax specification in EBNF (https://www.ctan.org/pkg/rail)
Updated version of the LaTeX rail package for Syntax specification in EBNF (https://www.ctan.org/pkg/rail)
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
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
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.