racc 1.7.1 → 1.7.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fba393652c1d3985ab81995a21479b631033fb841e618a841d38599601a3617c
4
- data.tar.gz: f2d149e9c9fc8ba4f477415f0110e14ed50bc81cf541f7b62590569e8625889a
3
+ metadata.gz: 9d623fac3c9d8c7d9a80e7d54b929dfb44258e8769ac96678d46ca472b30a8b5
4
+ data.tar.gz: d7d8a0f43eb48141366ebfd8afecca9577943520a40cf90d1949a08f7e895e2e
5
5
  SHA512:
6
- metadata.gz: d51b4bf2b55ac89e120c5b1c7d7d930c90c8a354c2c067c1d907ae0c00d85d14b7f3964097311bd8eced2f6d803204fc7046367dc64dadff410fa02c9648492b
7
- data.tar.gz: 9f12d87e35b1c3c2f0d8379ac570085b9ebd20716974bc512b5fb7c431a67998e4a09897b6a5cbcbe7d67436bee49f9d63399524df36a722a03293f68526881a
6
+ metadata.gz: e9d8244b3eb371baa11a0694c0367a7042e1df71e5b99f4ab34a63e15c0f0e4351e40766448eb77907ee5e892da60b9c4f3bd388a2655694b4a3a10a58d9bce4
7
+ data.tar.gz: 2c0c07429e141bcacfe9596fd9d759973fa0dbf8cff3748d7cba0e55e6b29af0d41ad110b7cbd5e6f19a422cf8f7088344bbcf0d638cc8ad98bd235ce24e1af4
data/README.ja.rdoc CHANGED
@@ -25,34 +25,6 @@
25
25
 
26
26
  $ gem install racc
27
27
 
28
- setup.rb インストル:
29
-
30
- パッケージのトップディレクトリで次のように入力してください。
31
- ($ は通常ユーザ、# はルートのプロンプトです)
32
-
33
- $ ruby setup.rb config
34
- $ ruby setup.rb setup
35
- ($ su)
36
- # ruby setup.rb install
37
-
38
- これで通常のパスに Racc がインストールされます。自分の好き
39
- なディレクトリにインストールしたいときは、setup.rb config に
40
- 各種オプションをつけて実行してください。オプションのリストは
41
-
42
- $ ruby setup.rb --help
43
-
44
- で見られます。
45
-
46
-
47
- コンパイラがない場合
48
- --------------------
49
-
50
- config を以下のようにすれば、拡張モジュールなしで
51
- インストールできます。
52
-
53
- $ ruby setup.rb config --without-ext
54
-
55
-
56
28
  == テスト
57
29
 
58
30
  sample/ 以下にいくつか Racc の文法ファイルのサンプルが用意
data/README.rdoc CHANGED
@@ -17,32 +17,6 @@
17
17
 
18
18
  $ gem install racc
19
19
 
20
- setup.rb install:
21
-
22
- Type this in the top directory of the extracted archive:
23
-
24
- $ ruby setup.rb config
25
- $ ruby setup.rb setup
26
- ($ su)
27
- # ruby setup.rb install
28
-
29
- You can install Racc into your favorite directory by giving
30
- options to setup.rb. e.g.
31
-
32
- $ ruby setup.rb config --prefix=/usr
33
-
34
- For details, try "ruby setup.rb --help".
35
-
36
-
37
- If you don't have C Compiler
38
- ----------------------------
39
-
40
- You can install Racc without C compilers. Type following
41
- command in config phase.
42
-
43
- $ ruby setup.rb config --without-ext
44
-
45
-
46
20
  == Testing Racc
47
21
 
48
22
  Racc comes with simple calculator. To compile this, on shell:
@@ -57,6 +31,13 @@
57
31
  For details of Racc, see HTML documents placed under 'doc/en/'
58
32
  and sample grammar files under 'sample/'.
59
33
 
34
+ == Release flow
35
+
36
+ * Update VERSION number of these files
37
+ * <code>RACC_VERSION</code> in "ext/racc/com/headius/racc/Cparse.java"
38
+ * <code>VERSION</code> in "lib/racc/info.rb"
39
+ * Release as a gem by <code>rake release</code> with CRuby and JRuby because Racc gem provides 2 packages
40
+ * Create new release on {GitHub}[https://github.com/ruby/racc/releases]
60
41
 
61
42
  == License
62
43
 
data/TODO CHANGED
@@ -1,5 +1,5 @@
1
1
  * check 'error' token handling.
2
2
  * interactive transition table monitor.
3
3
  * support backtracking.
4
- * output Ruby extention library?
4
+ * output Ruby extension library?
5
5
  * LL(k)? (But it should not be called Racc)
data/bin/racc CHANGED
@@ -19,6 +19,7 @@ def main
19
19
  make_executable = false
20
20
  rubypath = nil
21
21
  embed_runtime = false
22
+ frozen_strings = false
22
23
  debug_flags = Racc::DebugFlags.new
23
24
  line_convert = true
24
25
  line_convert_all = false
@@ -57,6 +58,9 @@ def main
57
58
  parser.on('-E', '--embedded', "Embeds Racc runtime in output.") {
58
59
  embed_runtime = true
59
60
  }
61
+ parser.on('-F', '--frozen', "Add frozen_string_literals: true.") {
62
+ frozen_strings = true
63
+ }
60
64
  parser.on('--line-convert-all', 'Converts line numbers of user codes.') {
61
65
  line_convert_all = true
62
66
  }
@@ -150,6 +154,7 @@ def main
150
154
 
151
155
  $stderr.puts 'Creating parser file...' if verbose
152
156
  params = result.params.dup
157
+ params.filename = File.basename(input)
153
158
  # Overwrites parameters given by a grammar file with command line options.
154
159
  params.superclass = superclass if superclass
155
160
  params.omit_action_call = true if omit_action_call
@@ -162,6 +167,7 @@ def main
162
167
  params.convert_line = line_convert
163
168
  params.convert_line_all = line_convert_all
164
169
  params.embed_runtime = embed_runtime
170
+ params.frozen_strings = frozen_strings
165
171
  profiler.section('generation') {
166
172
  generator = Racc::ParserFileGenerator.new(states, params)
167
173
  generator.generate_parser_file(output || make_filename(input, '.tab.rb'))
@@ -6,6 +6,7 @@ racc [-o<var>filename</var>] [--output-file=<var>filename</var>]
6
6
  [-O<var>filename</var>] [--log-file=<var>filename</var>]
7
7
  [-g] [--debug]
8
8
  [-E] [--embedded]
9
+ [-F] [--frozen]
9
10
  [-l] [--no-line-convert]
10
11
  [-c] [--line-convert-all]
11
12
  [-a] [--no-omit-actions]
@@ -50,6 +51,10 @@ Ruby のパスを使用します。
50
51
  ランタイムルーチンをすべて含んだコードを生成します。
51
52
  つまり、このオプションをつけて生成したコードは Ruby さえあれば動きます。
52
53
  </dd>
54
+ <dt>-F, --frozen
55
+ <dd>
56
+ Add frozen_string_literals: true.
57
+ </dd>
53
58
  <dt>-C, --check-only
54
59
  <dd>
55
60
  (文法ファイルの) 文法のチェックだけをして終了します。
@@ -173,7 +173,7 @@ target: TERM_A nonterm_a TERM_B nonterm_b
173
173
  --
174
174
  prechigh
175
175
  nonassoc PLUSPLUS
176
- left MULTI DEVIDE
176
+ left MULTI DIVIDE
177
177
  left PLUS MINUS
178
178
  right '='
179
179
  preclow
@@ -96,7 +96,7 @@ Object
96
96
  このメソッドから正常に戻った場合、パーサはエラー回復モード
97
97
  に移行します。
98
98
 
99
- error_token はパースエラーを起こした記号の内部表現 (整数) です。
99
+ error_token_id はパースエラーを起こした記号の内部表現 (整数) です。
100
100
  #token_to_str で文法ファイル上の文字列表現に直せます。
101
101
 
102
102
  error_value はその値です。
@@ -22,7 +22,7 @@
22
22
  Important Constants
23
23
  ----------------------------------------------------------------------- */
24
24
 
25
- #define RACC_VERSION "1.7.1"
25
+ #define RACC_VERSION STRINGIZE(RACC_INFO_VERSION)
26
26
 
27
27
  #define DEFAULT_TOKEN -1
28
28
  #define ERROR_TOKEN 1
@@ -70,12 +70,8 @@ static ID id_d_e_pop;
70
70
  # define LONG2NUM(i) INT2NUM(i)
71
71
  #endif
72
72
 
73
- #ifndef HAVE_RB_ARY_SUBSEQ
74
- # define rb_ary_subseq(ary, beg, len) rb_ary_new4(len, RARRAY_PTR(ary) + beg)
75
- #endif
76
-
77
- static ID value_to_id _((VALUE v));
78
- static inline long num_to_long _((VALUE n));
73
+ static ID value_to_id(VALUE v);
74
+ static inline long num_to_long(VALUE n);
79
75
 
80
76
  static ID
81
77
  value_to_id(VALUE v)
@@ -99,8 +95,8 @@ num_to_long(VALUE n)
99
95
  Parser Stack Interfaces
100
96
  ----------------------------------------------------------------------- */
101
97
 
102
- static VALUE get_stack_tail _((VALUE stack, long len));
103
- static void cut_stack_tail _((VALUE stack, long len));
98
+ static VALUE get_stack_tail(VALUE stack, long len);
99
+ static void cut_stack_tail(VALUE stack, long len);
104
100
 
105
101
  static VALUE
106
102
  get_stack_tail(VALUE stack, long len)
@@ -189,27 +185,27 @@ struct cparse_params {
189
185
  Parser Main Routines
190
186
  ----------------------------------------------------------------------- */
191
187
 
192
- static VALUE racc_cparse _((VALUE parser, VALUE arg, VALUE sysdebug));
193
- static VALUE racc_yyparse _((VALUE parser, VALUE lexer, VALUE lexmid,
194
- VALUE arg, VALUE sysdebug));
195
-
196
- static void call_lexer _((struct cparse_params *v));
197
- static VALUE lexer_i _((RB_BLOCK_CALL_FUNC_ARGLIST(block_args, data)));
198
-
199
- static VALUE assert_array _((VALUE a));
200
- static long assert_integer _((VALUE n));
201
- static VALUE assert_hash _((VALUE h));
202
- static VALUE initialize_params _((VALUE vparams, VALUE parser, VALUE arg,
203
- VALUE lexer, VALUE lexmid));
204
- static void cparse_params_mark _((void *ptr));
205
- static size_t cparse_params_memsize _((const void *ptr));
206
-
207
- static void parse_main _((struct cparse_params *v,
208
- VALUE tok, VALUE val, int resume));
209
- static void extract_user_token _((struct cparse_params *v,
210
- VALUE block_args, VALUE *tok, VALUE *val));
211
- static void shift _((struct cparse_params* v, long act, VALUE tok, VALUE val));
212
- static int reduce _((struct cparse_params* v, long act));
188
+ static VALUE racc_cparse(VALUE parser, VALUE arg, VALUE sysdebug);
189
+ static VALUE racc_yyparse(VALUE parser, VALUE lexer, VALUE lexmid,
190
+ VALUE arg, VALUE sysdebug);
191
+
192
+ static void call_lexer(struct cparse_params *v);
193
+ static VALUE lexer_i(RB_BLOCK_CALL_FUNC_ARGLIST(block_args, data));
194
+
195
+ static VALUE assert_array(VALUE a);
196
+ static long assert_integer(VALUE n);
197
+ static VALUE assert_hash(VALUE h);
198
+ static VALUE initialize_params(VALUE vparams, VALUE parser, VALUE arg,
199
+ VALUE lexer, VALUE lexmid);
200
+ static void cparse_params_mark(void *ptr);
201
+ static size_t cparse_params_memsize(const void *ptr);
202
+
203
+ static void parse_main(struct cparse_params *v,
204
+ VALUE tok, VALUE val, int resume);
205
+ static void extract_user_token(struct cparse_params *v,
206
+ VALUE block_args, VALUE *tok, VALUE *val);
207
+ static void shift(struct cparse_params* v, long act, VALUE tok, VALUE val);
208
+ static int reduce(struct cparse_params* v, long act);
213
209
  static rb_block_call_func reduce0;
214
210
 
215
211
  #ifdef DEBUG
@@ -278,28 +274,11 @@ racc_yyparse(VALUE parser, VALUE lexer, VALUE lexmid, VALUE arg, VALUE sysdebug)
278
274
  return v->retval;
279
275
  }
280
276
 
281
- #ifdef HAVE_RB_BLOCK_CALL
282
277
  static void
283
278
  call_lexer(struct cparse_params *v)
284
279
  {
285
280
  rb_block_call(v->lexer, v->lexmid, 0, NULL, lexer_i, v->value_v);
286
281
  }
287
- #else
288
- static VALUE
289
- lexer_iter(VALUE data)
290
- {
291
- struct cparse_params *v = rb_check_typeddata(data, &cparse_params_type);
292
-
293
- rb_funcall(v->lexer, v->lexmid, 0);
294
- return Qnil;
295
- }
296
-
297
- static void
298
- call_lexer(struct cparse_params *v)
299
- {
300
- rb_iterate(lexer_iter, v->value_v, lexer_i, v->value_v);
301
- }
302
- #endif
303
282
 
304
283
  static VALUE
305
284
  lexer_i(RB_BLOCK_CALL_FUNC_ARGLIST(block_args, data))
@@ -1,9 +1,8 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  #
3
3
 
4
4
  require 'mkmf'
5
+ require_relative '../../../lib/racc/info'
5
6
 
6
- have_func('rb_block_call')
7
- have_func('rb_ary_subseq')
8
-
7
+ $defs << "-D""RACC_INFO_VERSION=#{Racc::VERSION}"
9
8
  create_makefile 'racc/cparse'
data/lib/racc/info.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #--
2
3
  #
3
4
  #
@@ -11,7 +12,7 @@
11
12
  #++
12
13
 
13
14
  module Racc
14
- VERSION = '1.7.1'
15
+ VERSION = '1.7.2'
15
16
  Version = VERSION
16
17
  Copyright = 'Copyright (c) 1999-2006 Minero Aoki'
17
18
  end
@@ -1,6 +1,5 @@
1
1
  module Racc
2
2
  PARSER_TEXT = <<'__end_of_file__'
3
- # frozen_string_literal: false
4
3
  #--
5
4
  # Copyright (c) 1999-2006 Minero Aoki
6
5
  #
@@ -14,17 +13,6 @@ module Racc
14
13
 
15
14
  unless $".find {|p| p.end_with?('/racc/info.rb')}
16
15
  $".push "#{__dir__}/racc/info.rb"
17
- #--
18
- #
19
- #
20
- #
21
- # Copyright (c) 1999-2006 Minero Aoki
22
- #
23
- # This program is free software.
24
- # You can distribute/modify this program under the same terms of ruby.
25
- # see the file "COPYING".
26
- #
27
- #++
28
16
 
29
17
  module Racc
30
18
  VERSION = '1.7.1'
@@ -76,10 +64,12 @@ end
76
64
  # [-v, --verbose]
77
65
  # verbose mode. create +filename+.output file, like yacc's y.output file.
78
66
  # [-g, --debug]
79
- # add debug code to parser class. To display debuggin information,
67
+ # add debug code to parser class. To display debugging information,
80
68
  # use this '-g' option and set @yydebug true in parser class.
81
69
  # [-E, --embedded]
82
70
  # Output parser which doesn't need runtime files (racc/parser.rb).
71
+ # [-F, --frozen]
72
+ # Output parser which declares frozen_string_literals: true
83
73
  # [-C, --check-only]
84
74
  # Check syntax of racc grammar file and quit.
85
75
  # [-S, --output-status]
@@ -558,7 +548,7 @@ module Racc
558
548
  #
559
549
  # If this method returns, parsers enter "error recovering mode".
560
550
  def on_error(t, val, vstack)
561
- raise ParseError, sprintf("\nparse error on value %s (%s)",
551
+ raise ParseError, sprintf("parse error on value %s (%s)",
562
552
  val.inspect, token_to_str(t) || '?')
563
553
  end
564
554
 
data/lib/racc/parser.rb CHANGED
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  #--
3
3
  # Copyright (c) 1999-2006 Minero Aoki
4
4
  #
@@ -53,10 +53,12 @@ end
53
53
  # [-v, --verbose]
54
54
  # verbose mode. create +filename+.output file, like yacc's y.output file.
55
55
  # [-g, --debug]
56
- # add debug code to parser class. To display debuggin information,
56
+ # add debug code to parser class. To display debugging information,
57
57
  # use this '-g' option and set @yydebug true in parser class.
58
58
  # [-E, --embedded]
59
59
  # Output parser which doesn't need runtime files (racc/parser.rb).
60
+ # [-F, --frozen]
61
+ # Output parser which declares frozen_string_literals: true
60
62
  # [-C, --check-only]
61
63
  # Check syntax of racc grammar file and quit.
62
64
  # [-S, --output-status]
@@ -535,7 +537,7 @@ module Racc
535
537
  #
536
538
  # If this method returns, parsers enter "error recovering mode".
537
539
  def on_error(t, val, vstack)
538
- raise ParseError, sprintf("\nparse error on value %s (%s)",
540
+ raise ParseError, sprintf("parse error on value %s (%s)",
539
541
  val.inspect, token_to_str(t) || '?')
540
542
  end
541
543
 
@@ -45,6 +45,7 @@ module Racc
45
45
  bool_attr :convert_line
46
46
  bool_attr :convert_line_all
47
47
  bool_attr :embed_runtime
48
+ bool_attr :frozen_strings
48
49
  bool_attr :make_executable
49
50
  attr_accessor :interpreter
50
51
 
@@ -64,6 +65,7 @@ module Racc
64
65
  self.convert_line = true
65
66
  self.convert_line_all = false
66
67
  self.embed_runtime = false
68
+ self.frozen_strings = false
67
69
  self.make_executable = false
68
70
  self.interpreter = nil
69
71
  end
@@ -122,6 +124,7 @@ module Racc
122
124
  end
123
125
 
124
126
  def notice
127
+ line %q[# frozen_string_literal: true] if @params.frozen_strings?
125
128
  line %q[#]
126
129
  line %q[# DO NOT MODIFY!!!!]
127
130
  line %Q[# This file is automatically generated by Racc #{Racc::Version}]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: racc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.1
4
+ version: 1.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Minero Aoki
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-06-14 00:00:00.000000000 Z
12
+ date: 2023-11-01 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: |
15
15
  Racc is a LALR(1) parser generator.
@@ -35,17 +35,14 @@ files:
35
35
  - README.rdoc
36
36
  - TODO
37
37
  - bin/racc
38
- - doc/en/NEWS.en.rdoc
39
38
  - doc/en/grammar.en.rdoc
40
39
  - doc/en/grammar2.en.rdoc
41
- - doc/ja/NEWS.ja.rdoc
42
40
  - doc/ja/command.ja.html
43
41
  - doc/ja/debug.ja.rdoc
44
42
  - doc/ja/grammar.ja.rdoc
45
43
  - doc/ja/index.ja.html
46
44
  - doc/ja/parser.ja.rdoc
47
45
  - doc/ja/usage.ja.html
48
- - ext/racc/MANIFEST
49
46
  - ext/racc/cparse/cparse.c
50
47
  - ext/racc/cparse/extconf.rb
51
48
  - lib/racc.rb
@@ -86,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
83
  - !ruby/object:Gem::Version
87
84
  version: '0'
88
85
  requirements: []
89
- rubygems_version: 3.5.0.dev
86
+ rubygems_version: 3.4.10
90
87
  signing_key:
91
88
  specification_version: 4
92
89
  summary: Racc is a LALR(1) parser generator
data/doc/en/NEWS.en.rdoc DELETED
@@ -1,282 +0,0 @@
1
- = NEWS
2
-
3
- === 1.4.6
4
-
5
- * Bugfixes
6
-
7
- * bin/racc -g option renamed to -t
8
- * racc/compiler.rb is removed
9
- * '|' is allowed with meta rules
10
- * Ruby 1.8.7 compatibility fixes
11
- * Ruby 1.9 compatibility fixes
12
-
13
- === 1.4.5 (2005-11-21)
14
- * [FEATURE CHANGE] --no-extensions option was removed.
15
- * [fix] racc command should not depend on `raccrt' package.
16
- * [fix] --no-omit-actions did not work.
17
- * setup.rb 3.4.1.
18
-
19
- === 1.4.4 (2003-10-12)
20
- * document changed.
21
- * -all packages does not include amstd and strscan.
22
- * setup.rb 3.2.1.
23
-
24
- === 1.4.3 (2002-11-14)
25
- * [fix] reduce ruby 1.8 warnings.
26
-
27
- === 1.4.2 (2002-01-29)
28
- * [new] new option --no-extentions
29
-
30
- === 1.4.1 (2001-12-02)
31
- * now Racc does not depend on amstd library.
32
- * update y2racc and racc2y for racc 1.4.1
33
-
34
- === 1.4.0 (2001-11-30)
35
- * minor version up for checking in runtime library into ruby CVS repositry.
36
- * RaccParser, RaccScanner -&gt; GrammarFileParser, GrammarFileScanner
37
- * modify typo (grammer -&gt; grammar)
38
-
39
- === 1.3.12 (2001-11-22)
40
- * modify installer bug (thanks Tanaka Akira)
41
- * enhance regexp/%-strings/gvar detection in action block
42
-
43
- === 1.3.11 (2001-08-28)
44
- * modify scan error on $' $` $/ etc.
45
-
46
- === 1.3.10 (2001-08-12)
47
- * modify prototype missmatch in cparse.c
48
-
49
- === 1.3.9 (2001-04-07)
50
- * support Ruby 1.4 again.
51
-
52
- === 1.3.8 (2001-03-17)
53
- * output symbol name when error
54
- * Racc::Parser#token_to_str
55
-
56
- === 1.3.7 (2001-02-04)
57
- * allow nil for EndOfInput (experimental)
58
- * more sample grammar files
59
-
60
- === 1.3.6 (2001-01-22)
61
- * modify cparse.so for static link
62
-
63
- === 1.3.5 (2001-01-18)
64
- * %-string scanning was wrong
65
- * new directive "expect"
66
-
67
- === 1.3.4 (2001-01-11)
68
- * cparse: add type checks
69
- * cparse: rm depend
70
- * cparse: does not pass non-VALUE object to rb_iterate()
71
-
72
- === 1.3.3 (2000-12-25)
73
- * <em>critical bug</em> in generator (from 1.3.1)
74
- * racc --runtime-version
75
-
76
- === 1.3.2 (2000-12-21)
77
- * bug with racc -E
78
- * package strscan togather (again)
79
-
80
- === 1.3.1 (2000-12-17)
81
- * dynamically determine RE_DUP_MAX
82
- * ruby version routine was used always
83
-
84
- === 1.3.0 (2000-11-30)
85
- * can yield(sym,val) from scanner (Parser#yyparse)
86
-
87
- === 1.2.6 (2000-11-28)
88
- * class M::C
89
-
90
- === 1.2.5 (2000-11-20)
91
- * big changes in option; -h -f -p -i -n -c -A are incompatible
92
- * support long options
93
- * y2racc, racc2y leaves actions as default
94
-
95
- === 1.2.4 (2000-09-13)
96
- * updates installer and documents
97
-
98
- === 1.2.3 (2000-08-14)
99
- * output useless rules and nonterminals (version 2)
100
- * nonassoc makes error (never shift/reduce)
101
-
102
- === 1.2.2 (2000-08-12)
103
- * internal changes
104
-
105
- === 1.2.1 (2000-08-05)
106
- * racc2y, y2racc
107
-
108
- === 1.2.0 (2000-08-02)
109
- * uses bison's lookahead algorithm
110
-
111
- === 1.1.6 (2000-07-25)
112
- * new keyword "options" and its parameter "no_result_var"
113
-
114
- === 1.1.5 (2000-07-21)
115
- * [IMPORTANT] change keyword "token" to "convert"
116
- * NEW keyword "token" for token declearation
117
-
118
- === 1.1.4 (2000-07-13)
119
- * update installer
120
- * samples had bugs
121
-
122
- === 1.1.3 (2000-06-30)
123
- * new option -a; does not omit void action call
124
-
125
- === 1.1.2 (2000-06-29)
126
- * now racc does not use strscan.so
127
- * ScanError -&gt; Racc::ScanError, ParseError -&gt; Racc::ParseError
128
- * more friendly error messages
129
-
130
- === 1.1.1 (2000-06-15)
131
- * require miss
132
- * conflicts were not reported with -v
133
-
134
- === 1.1.0 (2000-06-12)
135
- * use other algolithm for generating state table
136
-
137
- === 1.0.4 (2000-06-04)
138
- * S/R conflict & -v flag causes unexpected exception (reported by Tosh)
139
- * output useless nonterminals/rules
140
-
141
- === 1.0.3 (2000-06-03)
142
- * use Array#collect! instead of #filter.
143
-
144
- === 1.0.2 (2000-05-16)
145
- * update installer (setup.rb)
146
-
147
- === 1.0.1 (2000-05-12)
148
- * state.rb: faster lookahead & debug lalr code
149
- * refine code
150
- * update amstd package (1.7.0)
151
-
152
- === 1.0.0 (2000-05-06)
153
- * version 1.0
154
-
155
- === 0.14.6 (2000-05-05)
156
- * much more debug output
157
-
158
- === 0.14.5 (2000-05-01)
159
-
160
- === 0.14.4 (2000-04-09)
161
- * Racc_* are included in Racc_arg
162
- * faster state generation (a little)
163
-
164
- === 0.14.3 (2000-04-04)
165
- * check both of SYM2ID and ID2SYM (thanks Katsuyuki Komatsu)
166
-
167
- === 0.14.2 (2000-04-03)
168
- * "class" on first line causes parse error (thanks Yoshiki Wada)
169
- * new option "racc -V"
170
-
171
- === 0.14.1 (2000-03-31)
172
-
173
- === 0.14.0 (2000-03-21)
174
- * implement "fast" table (same to bison)
175
- * stop line no. conversion temporaliry because of ruby bug
176
-
177
- === 0.13.1 (2000-03-21)
178
- * racc --version --copyright did not work (thanks Tadayoshi Funaba)
179
-
180
- === 0.13.0 (2000-03-20)
181
- * implement yyerror/yyerrok/yyaccept
182
-
183
- === 0.12.2 (2000-03-19)
184
- * -E flag had bug
185
-
186
- === 0.12.1 (2000-03-16)
187
- * modify the way to decide default action
188
-
189
- === 0.12.0 (2000-03-15)
190
- * implement real LALR
191
- * use both SLR and LALR to resolve conflicts
192
-
193
- === 0.11.3 (2000-03-09)
194
- * modify lookahead routine again
195
-
196
- === 0.11.2 (2000-03-09)
197
- * bug in lookahead routine
198
- * modify cparse.so for Symbol class of ruby 1.5
199
-
200
- === 0.11.1 (2000-03-08)
201
- * modify for Symbol
202
- * update strscan
203
-
204
- === 0.11.0 (2000-02-19)
205
- * if error is occured in action, ruby print line number of grammar file
206
-
207
- === 0.10.9 (2000-01-19)
208
- * change package/setup
209
-
210
- === 0.10.8 (2000-01-03)
211
- * (1-17 re-packed) add/modify documents
212
-
213
- === 0.10.7 (2000-01-03)
214
- * modify setup.rb, compile.rb, amstd/inst. (thanks: Koji Arai)
215
-
216
- === 0.10.6 (1999-12-24)
217
- * racc -e ruby
218
- * omit void action call
219
-
220
- === 0.10.5 (1999-12-21)
221
- * critical bug in embedded action implement
222
- * bug in setup.rb
223
- * modify calc[2].y for 0.10
224
-
225
- === 0.10.4 (1999-12-19)
226
- * support error recover ('error' token)
227
- * can embed runtime by "racc -E"
228
- * Racc is module
229
-
230
- === 0.10.3 (1999-12-01)
231
- * support embedded action
232
- * modify .output bug
233
-
234
- === 0.10.2 (1999-11-27)
235
- * update document
236
- * separate libracc.rb
237
-
238
- === 0.10.1 (1999-11-19)
239
- * rewrite runtime routine in C
240
- * once next_token returns [false, *], not call next_token
241
- * action is only default, not call next_token
242
- * $end is obsolute
243
- * LALRactionTable
244
-
245
- === 0.10.0 (1999-11-06)
246
- * next_value, peep_token is obsolute
247
- * @__debug__ -&gt; @yydebug
248
- * class...rule...end
249
- * refine libracc.rb
250
- * unify strscan library
251
- * *.rb are installed in lib/ruby/VERSION/racc/
252
-
253
- === 0.9.5 (1999-10-03)
254
- * too few arguments for __show_stack__
255
- * could not scan $end
256
- * typo in d.format.rb
257
-
258
- === 0.9.4 (1999-09-??)
259
-
260
- === 0.9.3 (1999-09-03)
261
-
262
- === 0.9.2 (1999-06-26)
263
-
264
- === 0.9.1 (1999-06-08)
265
-
266
- === 0.9.0 (1999-06-03)
267
-
268
- === 0.8.11 (?)
269
-
270
- === 0.8.10 (?)
271
-
272
- === 0.8.9 (1999-03-21)
273
-
274
- === 0.8.8 (1999-03-20)
275
-
276
- === 0.8.7 (1999-03-01)
277
-
278
- === 0.8.0 (1999-01-16)
279
-
280
- === 0.5.0 (1999-01-07)
281
-
282
- === 0.1.0 (1999-01-01)
data/doc/ja/NEWS.ja.rdoc DELETED
@@ -1,307 +0,0 @@
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 -&gt; Racc::ScanError, ParseError -&gt; 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 -&gt; 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__ -&lt; @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
- * とにかく動くようになった
data/ext/racc/MANIFEST DELETED
@@ -1,4 +0,0 @@
1
- MANIFEST
2
- cparse.c
3
- depend
4
- extconf.rb