96
|
1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
2 |
<!--NewPage-->
|
|
3 |
<html>
|
|
4 |
<head>
|
|
5 |
<!-- generated by pizzadoc on Thu Oct 30 13:46:18 GMT+00:00 1997 -->
|
|
6 |
<title>
|
|
7 |
public class G4ip.Parser
|
|
8 |
</title>
|
|
9 |
</head>
|
|
10 |
<body bgcolor=FFFFFF>
|
|
11 |
<a name="_top_"></a>
|
|
12 |
<code><font size=-1>
|
|
13 |
[<a href="index.html">all packages</a>]
|
|
14 |
[<a href="G4ip.html">package G4ip</a>]
|
|
15 |
[<a href="tree-pd.html">class hierarchy</a>]
|
|
16 |
[<a href="names-pd.html">index</a>]
|
|
17 |
</font></code>
|
|
18 |
<hr>
|
|
19 |
<h1>public class G4ip.Parser</h1>
|
|
20 |
(source file: Parser.pizza)<br>
|
|
21 |
<pre>
|
|
22 |
<a href="http://java.sun.com:80/products/jdk/1.1/docs/api/java.lang.Object.html">java.lang.Object</a>
|
|
23 |
|
|
|
24 |
+----G4ip.Parser
|
|
25 |
</pre>
|
|
26 |
<hr>
|
|
27 |
<pre>
|
|
28 |
public class <a href="G4ip.Parser.html">Parser</a>
|
|
29 |
</pre>
|
|
30 |
<dl>
|
|
31 |
<dd> A left-to-right, rightmost-derivation parser.<p>
|
|
32 |
The following grammar is implemented:<p>
|
|
33 |
<dl>
|
|
34 |
<dd><u>Formula</u> ::= <u>Id</u> </dd>
|
|
35 |
<dd><code>| false</code> </dd>
|
|
36 |
<dd><code>|</code> ( <u>Formula</u> ) </dd>
|
|
37 |
<dd><code>|</code> <u>Formula</u> <u>Binop</u> <u>Formula</u></dd>
|
|
38 |
</dl><p>
|
|
39 |
<dl>
|
|
40 |
<dd><u>Id</u> is a string of lower case letters</dd>
|
|
41 |
</dl><p>
|
|
42 |
<dl>
|
|
43 |
<dd><u>Binop</u> is either <code>&, v, -></code> or <code><-></code></dd>
|
|
44 |
</dl><p>
|
|
45 |
<dl>
|
|
46 |
<dd><u>FormulaList</u> ::= <em>empty</em></dd>
|
|
47 |
<dd><code>|</code> [ <u>FormulaList</u> ,]* <u>Formula</u></dd>
|
|
48 |
<dl><p>
|
|
49 |
The parser uses a stack where two actions are performed:
|
|
50 |
<dl>
|
|
51 |
<dd><b>shift</b> moves the next token to the top of the stack (getNextToken)</dd>
|
|
52 |
<dd><b>reduce</b> chooses a grammar rule, X -> A B C; pops A, B, C from the
|
|
53 |
top of the stack and pushes X onto the stack
|
|
54 |
</dl><p></dd>
|
|
55 |
<dd><dl><dt></dt>
|
|
56 |
<dt> <b>Author:</b></dt>
|
|
57 |
<dd> Christian Urban</dd>
|
|
58 |
</dl></dd>
|
|
59 |
</dl>
|
|
60 |
<hr>
|
|
61 |
<p><h2><img src="p-images/constructor-index.gif" alt="Constuctor Index"></h2>
|
|
62 |
<dl>
|
|
63 |
<dt><img src="p-images/yellow-ball-small.gif" alt="O "> <b><a href="G4ip.Parser.html#Parser(String)">Parser</a></b>(String)
|
|
64 |
<dd>
|
|
65 |
</dl>
|
|
66 |
<p><h2><img src="p-images/method-index.gif" alt="Methods"></h2>
|
|
67 |
<dl>
|
|
68 |
<dt><img src="p-images/red-ball-small.gif" alt="O "> <b><a href="G4ip.Parser.html#getNextToken()">getNextToken</a></b>()
|
|
69 |
<dd>tokens are: identifiers<code>( ) , & v -> <-> false</code>
|
|
70 |
and <code>EOI</code>
|
|
71 |
<dt><img src="p-images/red-ball-small.gif" alt="O "> <b><a href="G4ip.Parser.html#parseFormula()">parseFormula</a></b>()
|
|
72 |
<dd>parses a single formula
|
|
73 |
<dt><img src="p-images/red-ball-small.gif" alt="O "> <b><a href="G4ip.Parser.html#parseFormulae()">parseFormulae</a></b>()
|
|
74 |
<dd>parses a list of formulae separated by commas
|
|
75 |
<dt><img src="p-images/red-ball-small.gif" alt="O "> <b><a href="G4ip.Parser.html#reduce()">reduce</a></b>()
|
|
76 |
<dd>Implements the grammar rules.
|
|
77 |
</dl>
|
|
78 |
<p><h2><img src="p-images/constructors.gif" alt="Constructors"></h2>
|
|
79 |
<img src="p-images/yellow-ball.gif" alt="O "> <a name="<init>"></a><a name="Parser(String)"></a><b>Parser</b><br>
|
|
80 |
<pre>
|
|
81 |
public Parser(<a href="http://java.sun.com:80/products/jdk/1.1/docs/api/java.lang.String.html">String</a> init_in);
|
|
82 |
</pre>
|
|
83 |
<p>
|
|
84 |
<p><h2><img src="p-images/methods.gif" alt="Methods"></h2>
|
|
85 |
<img src="p-images/red-ball.gif" alt="O "> <a name="getNextToken"></a><a name="getNextToken()"></a><b>getNextToken</b><br>
|
|
86 |
<pre>
|
|
87 |
public <a href="G4ip.Token.html">Token</a> getNextToken()
|
|
88 |
throws <a href="http://java.sun.com:80/products/jdk/1.1/docs/api/java.lang.Exception.html">Exception</a>;
|
|
89 |
</pre>
|
|
90 |
<dl>
|
|
91 |
<dd> tokens are: identifiers<code>( ) , & v -> <-> false</code>
|
|
92 |
and <code>EOI</code> <em>(end of input)</em> <p></dd>
|
|
93 |
<dd><dl><dt></dt>
|
|
94 |
<dt> <b>Overrides:</b></dt>
|
|
95 |
<dd><dl>
|
|
96 |
<dt><b><a href="G4ip.Parser.html#getNextToken()">getNextToken</a></b> in class <a href="G4ip.Parser.html">Parser</a></dt>
|
|
97 |
</dl></dd>
|
|
98 |
</dl></dd>
|
|
99 |
</dl>
|
|
100 |
<p>
|
|
101 |
<img src="p-images/red-ball.gif" alt="O "> <a name="reduce"></a><a name="reduce()"></a><b>reduce</b><br>
|
|
102 |
<pre>
|
|
103 |
public void reduce();
|
|
104 |
</pre>
|
|
105 |
<dl>
|
|
106 |
<dd> Implements the grammar rules.<p></dd>
|
|
107 |
<dd><dl><dt></dt>
|
|
108 |
<dt> <b>Overrides:</b></dt>
|
|
109 |
<dd><dl>
|
|
110 |
<dt><b><a href="G4ip.Parser.html#reduce()">reduce</a></b> in class <a href="G4ip.Parser.html">Parser</a></dt>
|
|
111 |
</dl></dd>
|
|
112 |
</dl></dd>
|
|
113 |
</dl>
|
|
114 |
<p>
|
|
115 |
<img src="p-images/red-ball.gif" alt="O "> <a name="parseFormula"></a><a name="parseFormula()"></a><b>parseFormula</b><br>
|
|
116 |
<pre>
|
|
117 |
public <a href="G4ip.Form.html">Form</a> parseFormula()
|
|
118 |
throws <a href="http://java.sun.com:80/products/jdk/1.1/docs/api/java.lang.Exception.html">Exception</a>;
|
|
119 |
</pre>
|
|
120 |
<dl>
|
|
121 |
<dd> parses a single formula<p></dd>
|
|
122 |
<dd><dl><dt></dt>
|
|
123 |
<dt> <b>Overrides:</b></dt>
|
|
124 |
<dd><dl>
|
|
125 |
<dt><b><a href="G4ip.Parser.html#parseFormula()">parseFormula</a></b> in class <a href="G4ip.Parser.html">Parser</a></dt>
|
|
126 |
</dl></dd>
|
|
127 |
</dl></dd>
|
|
128 |
</dl>
|
|
129 |
<p>
|
|
130 |
<img src="p-images/red-ball.gif" alt="O "> <a name="parseFormulae"></a><a name="parseFormulae()"></a><b>parseFormulae</b><br>
|
|
131 |
<pre>
|
|
132 |
public <a href="G4ip.Context.html">Context</a> parseFormulae()
|
|
133 |
throws <a href="http://java.sun.com:80/products/ |