gd-racc 1.4.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. checksums.yaml +7 -0
  2. data/.gemtest +0 -0
  3. data/COPYING +515 -0
  4. data/ChangeLog +846 -0
  5. data/DEPENDS +4 -0
  6. data/Manifest.txt +100 -0
  7. data/README.ja.rdoc +96 -0
  8. data/README.rdoc +86 -0
  9. data/Rakefile +54 -0
  10. data/TODO +5 -0
  11. data/bin/racc +308 -0
  12. data/bin/racc2y +195 -0
  13. data/bin/y2racc +339 -0
  14. data/ext/racc/MANIFEST +4 -0
  15. data/ext/racc/cparse.c +828 -0
  16. data/ext/racc/depend +1 -0
  17. data/ext/racc/extconf.rb +7 -0
  18. data/fastcache/extconf.rb +2 -0
  19. data/fastcache/fastcache.c +185 -0
  20. data/lib/racc.rb +6 -0
  21. data/lib/racc/compat.rb +32 -0
  22. data/lib/racc/debugflags.rb +59 -0
  23. data/lib/racc/exception.rb +15 -0
  24. data/lib/racc/grammar.rb +1115 -0
  25. data/lib/racc/grammarfileparser.rb +559 -0
  26. data/lib/racc/info.rb +16 -0
  27. data/lib/racc/iset.rb +91 -0
  28. data/lib/racc/logfilegenerator.rb +211 -0
  29. data/lib/racc/parser-text.rb +631 -0
  30. data/lib/racc/parser.rb +626 -0
  31. data/lib/racc/parserfilegenerator.rb +512 -0
  32. data/lib/racc/pre-setup +13 -0
  33. data/lib/racc/sourcetext.rb +34 -0
  34. data/lib/racc/state.rb +971 -0
  35. data/lib/racc/statetransitiontable.rb +316 -0
  36. data/lib/racc/static.rb +5 -0
  37. data/misc/dist.sh +31 -0
  38. data/rdoc/en/NEWS.en.rdoc +282 -0
  39. data/rdoc/en/grammar.en.rdoc +230 -0
  40. data/rdoc/ja/NEWS.ja.rdoc +307 -0
  41. data/rdoc/ja/command.ja.html +94 -0
  42. data/rdoc/ja/debug.ja.rdoc +36 -0
  43. data/rdoc/ja/grammar.ja.rdoc +348 -0
  44. data/rdoc/ja/index.ja.html +10 -0
  45. data/rdoc/ja/parser.ja.rdoc +125 -0
  46. data/rdoc/ja/usage.ja.html +414 -0
  47. data/sample/array.y +67 -0
  48. data/sample/array2.y +59 -0
  49. data/sample/calc-ja.y +66 -0
  50. data/sample/calc.y +65 -0
  51. data/sample/conflict.y +15 -0
  52. data/sample/hash.y +60 -0
  53. data/sample/lalr.y +17 -0
  54. data/sample/lists.y +57 -0
  55. data/sample/syntax.y +46 -0
  56. data/sample/yyerr.y +46 -0
  57. data/setup.rb +1587 -0
  58. data/tasks/doc.rb +12 -0
  59. data/tasks/email.rb +55 -0
  60. data/test/assets/chk.y +126 -0
  61. data/test/assets/conf.y +16 -0
  62. data/test/assets/digraph.y +29 -0
  63. data/test/assets/echk.y +118 -0
  64. data/test/assets/err.y +60 -0
  65. data/test/assets/expect.y +7 -0
  66. data/test/assets/firstline.y +4 -0
  67. data/test/assets/ichk.y +102 -0
  68. data/test/assets/intp.y +546 -0
  69. data/test/assets/mailp.y +437 -0
  70. data/test/assets/newsyn.y +25 -0
  71. data/test/assets/noend.y +4 -0
  72. data/test/assets/nonass.y +41 -0
  73. data/test/assets/normal.y +27 -0
  74. data/test/assets/norule.y +4 -0
  75. data/test/assets/nullbug1.y +25 -0
  76. data/test/assets/nullbug2.y +15 -0
  77. data/test/assets/opt.y +123 -0
  78. data/test/assets/percent.y +35 -0
  79. data/test/assets/recv.y +97 -0
  80. data/test/assets/rrconf.y +14 -0
  81. data/test/assets/scan.y +72 -0
  82. data/test/assets/syntax.y +50 -0
  83. data/test/assets/unterm.y +5 -0
  84. data/test/assets/useless.y +12 -0
  85. data/test/assets/yyerr.y +46 -0
  86. data/test/bench.y +36 -0
  87. data/test/helper.rb +87 -0
  88. data/test/infini.y +8 -0
  89. data/test/scandata/brace +7 -0
  90. data/test/scandata/gvar +1 -0
  91. data/test/scandata/normal +4 -0
  92. data/test/scandata/percent +18 -0
  93. data/test/scandata/slash +10 -0
  94. data/test/src.intp +34 -0
  95. data/test/start.y +20 -0
  96. data/test/test_chk_y.rb +51 -0
  97. data/test/test_grammar_file_parser.rb +15 -0
  98. data/test/test_racc_command.rb +155 -0
  99. data/test/test_scan_y.rb +51 -0
  100. data/test/testscanner.rb +51 -0
  101. data/web/racc.en.rhtml +42 -0
  102. data/web/racc.ja.rhtml +51 -0
  103. metadata +212 -0
@@ -0,0 +1,230 @@
1
+ = Racc Grammar File Reference
2
+
3
+ == Global Structure
4
+
5
+ == Class Block and User Code Block
6
+
7
+ There's two block on toplevel.
8
+ one is 'class' block, another is 'user code' block. 'user code' block MUST
9
+ places after 'class' block.
10
+
11
+ == Comment
12
+
13
+ You can insert comment about all places. Two style comment can be used,
14
+ Ruby style (#.....) and C style (/*......*/) .
15
+
16
+ == Class Block
17
+
18
+ The class block is formed like this:
19
+ --
20
+ class CLASS_NAME
21
+ [precedance table]
22
+ [token declearations]
23
+ [expected number of S/R conflict]
24
+ [options]
25
+ [semantic value convertion]
26
+ [start rule]
27
+ rule
28
+ GRAMMARS
29
+ --
30
+ CLASS_NAME is a name of parser class.
31
+ This is the name of generating parser class.
32
+
33
+ If CLASS_NAME includes '::', Racc outputs module clause.
34
+ For example, writing "class M::C" causes creating the code bellow:
35
+ --
36
+ module M
37
+ class C
38
+ :
39
+ :
40
+ end
41
+ end
42
+ --
43
+
44
+ == Grammar Block
45
+
46
+ The grammar block discripts grammar which is able
47
+ to be understood by parser. Syntax is:
48
+ --
49
+ (token): (token) (token) (token).... (action)
50
+
51
+ (token): (token) (token) (token).... (action)
52
+ | (token) (token) (token).... (action)
53
+ | (token) (token) (token).... (action)
54
+ --
55
+ (action) is an action which is executed when its (token)s are found.
56
+ (action) is a ruby code block, which is surrounded by braces:
57
+ --
58
+ { print val[0]
59
+ puts val[1] }
60
+ --
61
+ Note that you cannot use '%' string, here document, '%r' regexp in action.
62
+
63
+ Actions can be omitted.
64
+ When it is omitted, '' (empty string) is used.
65
+
66
+ A return value of action is a value of left side value ($$).
67
+ It is value of result, or returned value by "return" statement.
68
+
69
+ Here is an example of whole grammar block.
70
+ --
71
+ rule
72
+ goal: definition ruls source { result = val }
73
+
74
+ definition: /* none */ { result = [] }
75
+ | definition startdesig { result[0] = val[1] }
76
+ | definition
77
+ precrule # this line continue from upper line
78
+ {
79
+ result[1] = val[1]
80
+ }
81
+
82
+ startdesig: START TOKEN
83
+ --
84
+ You can use following special local variables in action.
85
+
86
+ * result ($$)
87
+
88
+ The value of left-hand side (lhs). A default value is val[0].
89
+
90
+ * val ($1,$2,$3...)
91
+
92
+ An array of value of right-hand side (rhs).
93
+
94
+ * _values (...$-2,$-1,$0)
95
+
96
+ A stack of values.
97
+ DO NOT MODIFY this stack unless you know what you are doing.
98
+
99
+ == Operator Precedance
100
+
101
+ This function is equal to '%prec' in yacc.
102
+ To designate this block:
103
+ --
104
+ prechigh
105
+ nonassoc '++'
106
+ left '*' '/'
107
+ left '+' '-'
108
+ right '='
109
+ preclow
110
+ --
111
+ `right' is yacc's %right, `left' is yacc's %left.
112
+
113
+ `=' + (symbol) means yacc's %prec:
114
+ --
115
+ prechigh
116
+ nonassoc UMINUS
117
+ left '*' '/'
118
+ left '+' '-'
119
+ preclow
120
+
121
+ rule
122
+ exp: exp '*' exp
123
+ | exp '-' exp
124
+ | '-' exp =UMINUS # equals to "%prec UMINUS"
125
+ :
126
+ :
127
+ --
128
+
129
+ == expect
130
+
131
+ Racc has bison's "expect" directive.
132
+ --
133
+ # Example
134
+
135
+ class MyParser
136
+ rule
137
+ expect 3
138
+ :
139
+ :
140
+ --
141
+ This directive declears "expected" number of shift/reduce conflict.
142
+ If "expected" number is equal to real number of conflicts,
143
+ racc does not print confliction warning message.
144
+
145
+ == Declaring Tokens
146
+
147
+ By declaring tokens, you can avoid many meanless bugs.
148
+ If decleared token does not exist/existing token does not decleared,
149
+ Racc output warnings. Declearation syntax is:
150
+ --
151
+ token TOKEN_NAME AND_IS_THIS
152
+ ALSO_THIS_IS AGAIN_AND_AGAIN THIS_IS_LAST
153
+ --
154
+
155
+ == Options
156
+
157
+ You can write options for racc command in your racc file.
158
+ --
159
+ options OPTION OPTION ...
160
+ --
161
+ Options are:
162
+
163
+ * omit_action_call
164
+
165
+ omit empty action call or not.
166
+
167
+ * result_var
168
+
169
+ use/does not use local variable "result"
170
+
171
+ You can use 'no_' prefix to invert its meanings.
172
+
173
+ == Converting Token Symbol
174
+
175
+ Token symbols are, as default,
176
+
177
+ * naked token string in racc file (TOK, XFILE, this_is_token, ...)
178
+ --> symbol (:TOK, :XFILE, :this_is_token, ...)
179
+ * quoted string (':', '.', '(', ...)
180
+ --> same string (':', '.', '(', ...)
181
+
182
+ You can change this default by "convert" block.
183
+ Here is an example:
184
+ --
185
+ convert
186
+ PLUS 'PlusClass' # We use PlusClass for symbol of `PLUS'
187
+ MIN 'MinusClass' # We use MinusClass for symbol of `MIN'
188
+ end
189
+ --
190
+ We can use almost all ruby value can be used by token symbol,
191
+ except 'false' and 'nil'. These are causes unexpected parse error.
192
+
193
+ If you want to use String as token symbol, special care is required.
194
+ For example:
195
+ --
196
+ convert
197
+ class '"cls"' # in code, "cls"
198
+ PLUS '"plus\n"' # in code, "plus\n"
199
+ MIN "\"minus#{val}\"" # in code, \"minus#{val}\"
200
+ end
201
+ --
202
+
203
+ == Start Rule
204
+
205
+ '%start' in yacc. This changes start rule.
206
+ --
207
+ start real_target
208
+ --
209
+ This statement will not be used forever, I think.
210
+
211
+ == User Code Block
212
+
213
+ "User Code Block" is a Ruby source code which is copied to output.
214
+ There are three user code block, "header" "inner" and "footer".
215
+
216
+ Format of user code is like this:
217
+ --
218
+ ---- header
219
+ ruby statement
220
+ ruby statement
221
+ ruby statement
222
+
223
+ ---- inner
224
+ ruby statement
225
+ :
226
+ :
227
+ --
228
+ If four '-' exist on line head,
229
+ racc treat it as beginning of user code block.
230
+ A name of user code must be one word.
@@ -0,0 +1,307 @@
1
+ = NEWS
2
+
3
+ === 1.4.6
4
+
5
+ * バグの修正
6
+
7
+ * bin/racc -g オプションを -t に改名
8
+ * racc/compiler.rb を削除
9
+ * '|' が meta rules によって許可
10
+ * Ruby 1.8.7 互換性を修正
11
+ * Ruby 1.9 互換性を修正
12
+
13
+ === 1.4.5 (2005-11-21)
14
+ * [FEATURE CHANGE] --no-extensions オプションを削除
15
+ * [fix] racc パッケージのみで -E を使えるように修正
16
+ * [fix] --no-omit-actions が動作していなかったのを修正
17
+ * setup.rb 3.4.1.
18
+
19
+ === 1.4.4 (2003-10-12)
20
+ * Ruby 1.8.0 に対応するリリース。本体に変更はなし
21
+ * -all パッケージに strscan, amstd の同梱するのをやめた
22
+ * setup.rb 3.2.1
23
+
24
+ === 1.4.3 (2002-11-14)
25
+ * [fix] ruby 1.8 の警告を消した
26
+
27
+ === 1.4.2 (2002-01-29)
28
+ * [new] 新しいオプション --no-extentions
29
+
30
+ === 1.4.1 (2001-12-02)
31
+ * amstd 非依存になった (ただし -all パッケージへバンドルは継続)
32
+ * y2racc racc2y を 1.4 対応にした
33
+
34
+ === 1.4.0 (2001-11-30)
35
+ * ランタイムを Ruby の CVS に入れたのにあわせてマイナーバージョンアップ
36
+ * RaccParser, RaccScanner → GrammarFileParser, GrammarFileScanner
37
+ * ハズい typo を修正 (grammer → grammar)
38
+
39
+ === 1.3.12 (2001-11-22)
40
+ * インストーラのバグを修正 (thanks Tanaka Akira)
41
+ * アクション中の正規表現や % 文字列、グローバル変数の検出を向上させた
42
+
43
+ === 1.3.11 (2001-08-28)
44
+ * アクション中の $' $` $/ などを正しくスキャン
45
+
46
+ === 1.3.10 (2001-08-12)
47
+ * cparse.c のプロトタイプ違いを直した
48
+
49
+ === 1.3.9 (2001-04-07)
50
+ * Ruby 1.4 に(再び)対応した
51
+
52
+ === 1.3.8 (2001-03-17)
53
+ * パースエラーの時に記号名も出力するようにした
54
+ * Racc::Parser#token_to_s
55
+
56
+ === 1.3.7 (2001-02-04)
57
+ * サンプルを増やした
58
+
59
+ === 1.3.6 (2001-01-22)
60
+ * cparse がスタティックリンクされても動くようにした
61
+
62
+ === 1.3.5 (2001-01-18)
63
+ * % 文字列のスキャンがバグってた
64
+ * 新しい命令 expect
65
+
66
+ === 1.3.4 (2001-01-11)
67
+ * cparse: シンボルのタイプチェックを入れた
68
+ * cparse: depend を消した
69
+ * cparse: rb_iterate 中の GC で落ちるバグを修正
70
+
71
+ === 1.3.3 (2000-12-25)
72
+ * ジェネレータに致命的なバグ。1.3.1 から混入 (format.rb)
73
+ * racc --runtime-version
74
+
75
+ === 1.3.2 (2000-12-21)
76
+ * -E が失敗するのを直した
77
+ * 再度 strscan を同梱 (y2racc/racc2y に必要)
78
+
79
+ === 1.3.1 (2000-12-17)
80
+ * 正規表現の繰り返し指定の上限を動的に決定する (RE_DUP_MAX)
81
+ * パースルーチンが常に Ruby 版になっていた (消し忘れ)
82
+
83
+ === 1.3.0 (2000-11-30)
84
+ * スキャナから yield でトークンを渡せるようになった
85
+
86
+ === 1.2.6 (2000-11-28)
87
+ * class M::C を許した
88
+
89
+ === 1.2.5 (2000-11-20)
90
+ * オプションに大変動。非互換オプションは -h -f -p -i -n -c -A
91
+ * ロングオプションをサポート
92
+ * y2racc, racc2y はデフォルトでアクションを残すようにした
93
+
94
+ === 1.2.4 (2000-09-13)
95
+ * インストーラとドキュメントを更新
96
+
97
+ === 1.2.3 (2000-08-14)
98
+ * 使われない規則と非終端記号を出力 (強力版)
99
+ * S/R conflict の時 nonassoc で解決するならばエラー
100
+
101
+ === 1.2.2 (2000-08-12)
102
+ * 内部の変更
103
+
104
+ === 1.2.1 (2000-08-05)
105
+ * yacc との変換コマンド racc2y・y2racc を添付
106
+
107
+ === 1.2.0 (2000-08-02)
108
+ * 先読みアルゴリズムを bison のものに変更
109
+
110
+ === 1.1.6 (2000-07-25)
111
+ * 新たなキーワード options とその引数 no_result_var
112
+
113
+ === 1.1.5 (2000-07-21)
114
+ * [重要] token を convert に変更
115
+ * 「新たな」キーワード token (終端記号の宣言)
116
+
117
+ === 1.1.4 (2000-07-13)
118
+ * サンプルがバグってた
119
+
120
+ === 1.1.3 (2000-06-30)
121
+ * 空アクションの呼び出しを省略しないようにするオプション -a
122
+
123
+ === 1.1.2 (2000-06-29)
124
+ * スキャナで strscan を使わないようにした
125
+ * ScanError -> Racc::ScanError, ParseError -> Racc::ParseError
126
+ * エラーメッセージを強化
127
+
128
+ === 1.1.1 (2000-06-15)
129
+ * requireミス (thanks Toshさん)
130
+ * -v をつけるとconflictが報告されなくなっていた
131
+
132
+ === 1.1.0 (2000-06-12)
133
+ * 新しい 状態遷移表生成アルゴリズム
134
+
135
+ === 1.0.4 (2000-06-04)
136
+ * S/R conflict がおきると .output 出力で落ちるバグ修正 (Tosh さんの報告)
137
+ * 使われない非終端記号・規則を表示
138
+
139
+ === 1.0.3 (2000-06-03)
140
+ * filter -> collect!
141
+
142
+ === 1.0.2 (2000-05-16)
143
+ * インストーラをアップデート
144
+
145
+ === 1.0.1 (2000-05-12)
146
+ * state.rb: 先読みルーチンをちょっとだけ高速化 && 追加デバッグ
147
+ * コードを整理した。著作権表示全体を全部のファイルにつけた。
148
+ * amstd アップデート (1.7.0)
149
+
150
+ === 1.0.0 (2000-05-06)
151
+ * バージョン 1.0
152
+
153
+ === 0.14.6 (2000-05-05)
154
+ * デバッグ出力を詳細にした
155
+
156
+ === 0.14.5 (2000-05-01)
157
+ * インストーラを ruby 1.4.4 系の新しいパスに対応させた
158
+
159
+ === 0.14.4 (2000-04-09)
160
+ * パーサの定数を削減(Racc_arg にまとめた)
161
+ * state 生成を微妙に高速化(コアを文字列に変換)
162
+
163
+ === 0.14.3 (2000-04-04)
164
+ * cparse の SYM2ID と ID2SYM のチェックを分離 (thanks 小松さん)
165
+
166
+ === 0.14.2 (2000-04-03)
167
+ * 一行目の class がパースエラーになっていた (thanks 和田さん)
168
+ * 新しいフラグ racc -V
169
+
170
+ === 0.14.1 (2000-03-31)
171
+
172
+ === 0.14.0 (2000-03-21)
173
+ * 高速テーブルを実装
174
+ * 一時的にファイル名/行番号の変換をやめた(Rubyのバグのため。)
175
+
176
+ === 0.13.1 (2000-03-21)
177
+ * --version --copyright などがうまく働いてなかった (thanks ふなばさん)
178
+
179
+ === 0.13.0 (2000-03-20)
180
+ * yyerror/yyerrok/yyaccept を実装
181
+
182
+ === 0.12.2 (2000-03-19)
183
+ * -E フラグがバグってた (thanks ふなばさん)
184
+
185
+ === 0.12.1 (2000-03-16)
186
+ * デフォルトアクションの決め方をちょっと修正(元に戻しただけ)
187
+
188
+ === 0.12.0 (2000-03-15)
189
+ * 完全な LALR を実装したら遅くなったので SLR も併用するようにした。効果絶大。
190
+
191
+ === 0.11.3 (2000-03-09)
192
+ * 状態遷移表生成のバグの修正がまだ甘かった。さらに別のバグもあるようだ。
193
+
194
+ === 0.11.2 (2000-03-09)
195
+ * cparse が Symbol に対応できてなかった
196
+
197
+ === 0.11.1 (2000-03-08)
198
+ * ruby 1.5 の Symbol に対応
199
+ * strscan を最新に
200
+
201
+ === 0.11.0 (2000-02-19)
202
+ * 例外のとき、元のファイルの行番号が出るようにした
203
+
204
+ === 0.10.9 (2000-01-19)
205
+ * セットアップ方法など細かな変更
206
+
207
+ === 0.10.8 (2000-01-03)
208
+ * 忘れてしまったけどたしかインストーラ関係の修正
209
+ * (1/17 repacked) ドキュメントの追加と修正
210
+
211
+ === 0.10.7 (2000-01-03)
212
+ * setup.rb compile.rb amstd/inst などのバグ修正
213
+
214
+ === 0.10.6 (1999-12-24)
215
+ * racc -e ruby でデフォルトパスを使用
216
+ * 空のアクションの呼びだしは省略するようにした
217
+
218
+ === 0.10.5 (1999-12-21)
219
+ * 埋めこみアクションの実装がすさまじくバグってた
220
+ * setup.rb が inst.rb の変化に追従してなかった
221
+ * calc.y calc2.y を 0.10 用に修正
222
+
223
+ === 0.10.4 (1999-12-19)
224
+ * エラー回復モードを実装
225
+ * racc -E で単体で動作するパーサを生成
226
+ * Racc は class から module になった
227
+
228
+ === 0.10.3 (1999-12-01)
229
+ * 埋めこみアクションをサポート
230
+ * .output の出力内容にバグがあったのを修正
231
+
232
+ === 0.10.2 (1999-11-27)
233
+ * ドキュメントの訂正と更新
234
+ * libracc.rb を分割
235
+
236
+ === 0.10.1 (1999-11-19)
237
+ * C でランタイムを書きなおした
238
+ * next_token が false を返したらもう読みこまない
239
+ * アクションがトークンによらず決まるときは next_token を呼ばない
240
+ * $end 廃止
241
+ * LALRactionTable
242
+
243
+ === 0.10.0 (1999-11-06)
244
+ * next_* を next_token に一本化、peep_token 廃止
245
+ * @__debug__ -< @yydebug など変数名を大幅変更
246
+ * 文法ファイルの構造が class...rule...end に変わった
247
+ * コアのコードを一新、高速化
248
+ * strscan を併合
249
+ * ライブラリを racc/ ディレクトリに移動
250
+
251
+ === 0.9.5 (1999-10-03)
252
+ * 0.9.4 の変更がすごくバグってた
253
+ * $end が通らなかったのを修正
254
+ * __show_stack__ の引数が違ってた
255
+
256
+ === 0.9.4 (1999-09-??)
257
+ * Parser::Reporter をなくしてメソッドに戻した
258
+ * d.format.rb を再編成
259
+
260
+ === 0.9.3 (1999-09-03)
261
+ * racc.rb -> racc
262
+
263
+ === 0.9.2 (1999-06-26)
264
+ * strscan使用
265
+
266
+ === 0.9.1 (1999-06-08)
267
+ * アクション中の正規表現に対応 ( /= にも注意だ)
268
+ * アクション中の # コメントに対応
269
+
270
+ === 0.9.0 (1999-06-03)
271
+ * アクションを { } 形式にした
272
+ * ユーザーコードを '----' を使う形式にした
273
+
274
+ === 0.8.11 (?)
275
+ * -g の出力をわかりやすくした
276
+
277
+ === 0.8.10 (?)
278
+ * アクションからreturnできるようにした
279
+
280
+ === 0.8.9 (1999-03-21)
281
+ * -g + @__debug__をつかったデバッグメッセージ操作
282
+ * エラー発生時のバグを修正
283
+ * TOKEN_TO_S_TABLEを付加するようにした
284
+
285
+ === 0.8.8 (1999-03-20)
286
+ * 100倍程度の高速化
287
+ * defaultトークンを加えた
288
+ * デバッグ用ソースを出力するオプション-gをくわえた
289
+ * user_initializeを廃止し、普通にinitializeを使えるようにした
290
+ * parse_initialize/finalize,parseメソッドを廃止
291
+ * next_token,next_value,peep_tokenのデフォルトを廃止
292
+ * %precと同等の機能を加えた
293
+
294
+ === 0.8.7 (1999-03-01)
295
+ * 内部構造が大幅に変化
296
+ * マニュアルがHTMLになった
297
+
298
+ === 0.8.0 (1999-01-16)
299
+ * 文法がブロック型に変化
300
+
301
+ === 0.5.0 (1999-01-07)
302
+ * 演算子優先順位が実装されたようだ
303
+ * スタート規則が実装されたようだ
304
+ * トークン値の置換が実装されたようだ(後に致命的なバグ発見)
305
+
306
+ === 0.1.0 (1999-01-01)
307
+ * とにかく動くようになった