-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathREADME
77 lines (52 loc) · 2.47 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
This version of Berkeley Yacc was taken from the BSD-Lite CD and
targeted to Java by Axel T. Schreiner <mailto:[email protected]>
Makefile -> makefile removed Berkeleyisms, call it jay
defs.h eliminate -dlpr options, %union, output_file,
#ident, skeleton.c references
changed line_format to char*
error.c eliminate %union
main.c eliminate -dlpr options, %union, output_file
added -c option to influence #line
switched from mktemp() to mkstemp()
output.c eliminate -dlpr options, %union, output_file
fix #define, short, -t/yyDebug
respell YYERRCODE, YYTABLESIZE, YYFINAL, YYMAXTOKEN
output trailer last
switch to filter behaviour
reader.c eliminate output_file, #ident
#line -> // line, pass //
yyvsp[] -> yyVals[yyTop], yyval -> yyVal
skeleton.c Java and C# skeletons
test removed
yacc.1 -> ../jay.1 adapted
yyfix.* removed
Types: there is a significant difference. yacc uses %union to cast
the value stack and <tag> to select alternatives. This works for
l- and r-values alike. jay uses Object as the value stack and
<tag> to set a class. l-values must not be cast. $n should not be
assigned to, but $$ usually is. $n is referenced, but $$ usually
is not. Consequently jay casts $n and $<tag>$ but not $<>n and $$.
This makes assignment to $n references to $$ kludgily possible.
As another kludge, to prevent 'untyped' messages and to avoid
unnecessary casts, casts to "Object" are not emitted.
Conflicts: the usual type table may be used but conflict/Conflict.jay
demonstrates that a trivial %nonassoc is silently ignored.
Changes from 1.0.1 to 1.0.2:
FILES new directory structure under Language Processing
package.html homepage
{cs,java}/skeleton.* min yyErrorFlag is 0 when passed to shift()
Changes from 1.0 to 1.0.1:
java/arith/makefile changed CLASSPATH
jay/reader.c(1094) fixed typo -- thanks to [email protected]
Changes from 0.9 to 1.0:
Merged C# port from mcs-0.16 at <http://www.go-mono.org> by Miguel
de Icaza <mailto:[email protected]>. Changed naming conventions in the skeletons.
Changes from 0.8 to 0.9:
output.c Tables now written as text, top-level classes gone
skeleton.java Revamped to load tables from resource.
Changes from 0.7 to 0.8:
output.c Each generated table is now encapsulated in a top
level nested class to circumvent Java's 64K code
limit (Thanks to Andre Marburger).
skeleton Fixed to access the tables inside the classes.
yydebug/yyPrintStream Fixed NullPointerException introduced by JDK 1.2.