• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

ACKNOWLEDGEMENTSH A D24-Aug-2018771 2622

MakefileH A D24-Aug-20181.3 KiB5338

NEW_FEATURESH A D24-Aug-20182 KiB4735

NOTESH A D24-Aug-2018504 108

READMEH A D24-Aug-2018174 74

README.jayH A D24-Aug-20182.5 KiB5647

closure.cH A D24-Aug-20186.1 KiB296212

defs.hH A D24-Aug-20187.4 KiB308175

error.cH A D24-Aug-20187.4 KiB336233

jay.1H A D24-Aug-20184 KiB13598

jay.vcxprojH A D24-Aug-20184.9 KiB105105

lalr.cH A D24-Aug-201811.9 KiB679507

lr0.cH A D24-Aug-201811.3 KiB638482

main.cH A D24-Aug-20187.9 KiB378278

mkpar.cH A D24-Aug-20188.1 KiB396305

output.cH A D24-Aug-201822.3 KiB1,192977

reader.cH A D24-Aug-201830.8 KiB1,7011,433

skeletonH A D24-Aug-20189.4 KiB269262

skeleton.csH A D24-Aug-201813.2 KiB392337

symtab.cH A D24-Aug-20183.8 KiB15990

verbose.cH A D24-Aug-20188.1 KiB367281

warshall.cH A D24-Aug-20183.1 KiB12373

README

1This is a port of Jay to C#, the original Jay can be found here:
2	http://www.informatik.uni-osnabrueck.de/bernd/jay/
3
4The original README from Jay is in `README.jay'
5
6Miguel
7

README.jay

1    This version of Berkeley Yacc was taken from the BSD-Lite CD and targeted
2to Java by
3
4			axel.schreiner@informatik.uni-osnabrueck.de
5
6Makefile -> makefile	removed Berkeleyisms, call it jay
7defs.h			eliminate -dlpr options, %union, output_file, #ident
8			eliminate sekeleton.c references
9error.c			eliminate %union
10main.c			eliminate -dlpr options, %union, output_file
11output.c		eliminate -dlpr options, %union, output_file
12			fix #define, short, -t/yyDebug
13			respell YYERRCODE, YYTABLESIZE, YYFINAL, YYMAXTOKEN
14			output trailer last
15			switch to filter behaviour
16reader.c		eliminate output_file, #ident
17			#line -> // line, pass //
18			yyvsp[] -> yyVals[yyTop], yyval -> yyVal
19skeleton.c -> skeleton	Java skeleton
20test			removed
21yacc.1 -> jay.1		adapted
22yyfix.*			removed
23
24Types: there is a significant difference. yacc uses %union to cast the value
25stack and <tag> to select alternatives. This works for l- and r-values alike.
26jay uses Object as the value stack and <tag> to set a class. l-values must not
27be cast. $n should not be assigned to, but $$ usually is. $n is referenced,
28but $$ usually is not. Consequently jay casts $n and $<tag>$ but not $<>n
29and $$. This makes assignment to $n references to $$ kludgily possible.
30As another kludge, to prevent 'untyped' messages and to avoid unnecessary
31casts, casts to "Object" are not emitted.
32-------------------------------------------------------------------------------
33    Berkeley Yacc is an LALR(1) parser generator.  Berkeley Yacc has been made
34as compatible as possible with AT&T Yacc.  Berkeley Yacc can accept any input
35specification that conforms to the AT&T Yacc documentation.  Specifications
36that take advantage of undocumented features of AT&T Yacc will probably be
37rejected.
38
39    Berkeley Yacc is distributed with no warranty whatever.  The code is certain
40to contain errors.  Neither the author nor any contributor takes responsibility
41for any consequences of its use.
42
43    Berkeley Yacc is in the public domain.  The data structures and algorithms
44used in Berkeley Yacc are all either taken from documents available to the
45general public or are inventions of the author.  Anyone may freely distribute
46source or binary forms of Berkeley Yacc whether unchanged or modified.
47Distributers may charge whatever fees they can obtain for Berkeley Yacc.
48Programs generated by Berkeley Yacc may be distributed freely.
49
50    Please report bugs to
51
52			robert.corbett@eng.Sun.COM
53
54Include a small example if possible.  Please include the banner string from
55skeleton.c with the bug report.  Do not expect rapid responses.
56