File: jikespg.htm

package info (click to toggle)
jikespg 1.3-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, jessie, jessie-kfreebsd, sid, stretch
  • size: 1,736 kB
  • ctags: 1,478
  • sloc: ansic: 18,070; java: 586; makefile: 182
file content (149 lines) | stat: -rw-r--r-- 5,819 bytes parent folder | download | duplicates (3)
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<title>Frequently Asked Questions About Jikes Parser Generator (January 27, 1999)</title>
</head>

<body>

<h2 align="center">The IBM Research Jikes Compiler Project</h2>
<h2 align="center">http://www.ibm.com/research/jikes</h2>
<h2 align="center">Frequently Asked Questions About Jikes Parser Generator</h2>
<h2 align="center">January 27, 1999</h2>
<p>
<h3><a href="#what_is"><b>What is Jikes Parser Generator?</b></a> </h3>
<h3><a href="#whyis"><b>Why is IBM Research making the source available?</b></a></h3>
<h3><a href="#whatibm"><b>What does IBM Research plan to do with the source?</b></a></h3>
<h3><a href="#whatcanido"><b>What can I do with the source?</b></a></h3>
<h3><a href="#build"><b>How do I compile the source?</b></a></h3>
<h3><a href="#test"><b>How do I test the parser generator?</b></a></h3>
<h3><a href="#wheredoc"><b>Do you have any program documentation?</b></a></h3>
<h3><a href="#bugs"><b>How do I report bugs?</b></a></h3>


<h3><a name="what_is"><b>What is Jikes Parser Generator?</b></a></h3>

<p>Jikes Parser Generator is the parser generator used by the Jikes
Compiler. It takes as input an annotated version of the Java language
grammar and produces as output program source and data that is part
of the source for the Jikes compiler.

<p>The current version is written in <code>C</code> and reflects its
ancient origins; in
particular, the parser generator was written at a time when memory
was at a premium (work on it began over fifteen years ago), and was designed to be able to process a grammar
for Ada in less that 300K running on an original model IBM PC.


<h3><a name="whyis"><b>Why is IBM Research making the source available?</b></a></h3>

<p>IBM Research is releasing the source for the parser generator as a
companion effort to the release of the source for the Jikes Compiler.
The parser generator is used to generate some of the files that
comprise the Jikes parser, and so its release makes the full
source of the Jikes compiler available in a form not dependent on
machine-generated code.

<p>The release of Jikes<sup><small>TM</small></sup> Parser Generator
does not establish a policy for the rest of IBM outside of Research,
nor does it define a standard Source License for Research. Other
Source agreements from IBM, including IBM Research, if and when they
do come, are likely to be more restrictive with respect to commercial
use -- we are allowing almost any use for Jikes because we believe it
benefits the Java community and doesn't give away any intellectual
property.


<h3><a name="whatibm"><b>What does IBM Research plan to do with the source?</b></a></h3>

<p>We have no plans to actively work on the source right now, as we
want to devote our efforts to improving the Jikes compiler.

<p>If time permits, we would anticipate recoding the parser
generator in a more modern language, most likely Java. 

<h3><a name="whatcanido"><b>What can I do with the source?</b></a></h3>

<p>Don't forget to read the license carefully. It explains in detail what you can and cannot do.

<p>You can pretty much do whatever you want -- as long as we get some
acknowledgment.  You can distribute it in binary or source form, take
all or part of it and put it in something else, and then redistribute
it.  It's all up to you.

<p>However, IBM retains control of the names "IBM" and "Jikes<sup><small>TM</small></sup>". You
can't use them without our permission.

<p>You are under no obligation to tell us what you are doing with the
source, or to inform us of any changes you make.

<h3><a name="build"><b>How do I compile the source?</b></a></h3>

<p>We provide a simple Makefile that  works for the IBM AIX system. You will
need to adapt it as necessary for other systems. This shouldn't be hard, as the
parser generator is just a medium-sized <code>c</code> program that makes few 
demands on the standard libraries.
<p>To build the source from scratch, do:
<pre>
    cd jikespg/src
    make clean
    make
</pre>
<h3><a name="test"><b>How do I test the parser generator?</b></a></h3>
<p>Two small example programs are included with the parser generator source: <code>bnf</code>
and <code>expr</code>.
<p>To try <code>bnf</code>, a simple demonstration of a bnf parser, do:
<pre>
    cd jikespg/examples/bnf
    make
    java Main example1.bnf
    java Main example2.bnf
</pre>
<p>To try <code>expr</code>, a simple Java expression evaluator, do:
<pre>
    cd jikespg/examples/bnf
    make
    java Main 

</pre>
and type in sample expressions, such as <code>2+4</code> when prompted.
<p>You can also bootstrap the parser generator. First, note the size of the executable, then do:
<pre>
    jikespg jikespg.g
    make
</pre>
and see if the size of the executable is the same (it should be).
<p>You can try it with Jikes as follows:
<pre>
    cd jikes/src
    touch java.g
    jikespg java
</pre>

The files produced by running <code>jikespg</code> should agree with
the versions that were present before running <code>jikespg</code>.


<h3><a name="wheredoc"><b>Do you have any program documentation?</b></a></h3>

<p>All that is availalble now is the source. As is common with many
works in progress, we have only had time to comment the source as it
has evolved.


<h3><a name="bugs"><b>How do I report bugs?</b></a></h3>

<p>Please send mail to the mail list
<code>jikes-bugs@watson.ibm.com</code>. You need to subscribe to this
list before you can post mail; instructions on how to subscribe can
be found at 
<a href="http://www.ibm.com/research/jikes/subscribe">http://www.ibm.com/research/jikes/subscribe</a>.
Note that only minimal support, indeed possibly no support at all, is
offered at the present time.



</body>
</html>