summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--common.mk8
-rw-r--r--id.h (renamed from template/id.h.tmpl)91
3 files changed, 67 insertions, 36 deletions
diff --git a/ChangeLog b/ChangeLog
index 384ffd3c36..b6a827d59a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,14 +1,10 @@
Fri Oct 17 19:46:20 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * common.mk (ID_H_TARGET): phony target to update id.h.
-
* tool/ifchange, win32/ifchange.bat: --timestamp option added.
* tool/generic_erb.rb: --timestamp, --output and --if-change options
added.
- * template/id.h.tmpl: moved from id.h.
-
Fri Oct 17 18:33:12 2008 Yuki Sonoda (Yugui) <yugui@yugui.jp>
* array.c (ary_resize_capa): renamed RESIZE_CAPA.
diff --git a/common.mk b/common.mk
index fa9d62b0bb..773c3f34d8 100644
--- a/common.mk
+++ b/common.mk
@@ -645,11 +645,9 @@ transdb.h: $(PREP) srcs-enc
$(MINIRUBY) $(srcdir)/enc/trans/make_transdb.rb $@.new $(srcdir)/enc/trans enc/trans
$(IFCHANGE) "$@" "$@.new"
-{$(VPATH)}id.h:
- $(CPP) $(CPPFLAGS) -DUSE_PARSE_H $@
-
-$(ID_H_TARGET): {$(VPATH)}parse.c $(srcdir)/tool/generic_erb.rb $(srcdir)/template/id.h.tmpl
- $(BASERUBY) $(srcdir)/tool/generic_erb.rb --if-change --output=$(srcdir)/id.h $(srcdir)/template/id.h.tmpl --vpath=$(VPATH) parse.c
+# {$(VPATH)}id.h: {$(VPATH)}parse.h $(srcdir)/tool/generic_erb.rb $(srcdir)/template/id.h.tmpl
+# $(BASERUBY) $(srcdir)/tool/generic_erb.rb --if-change --output=$@ \
+# $(srcdir)/template/id.h.tmpl --vpath=$(VPATH) parse.h
known_errors.inc: $(srcdir)/template/known_errors.inc.tmpl $(srcdir)/defs/known_errors.def
$(BASERUBY) $(srcdir)/tool/generic_erb.rb $(srcdir)/template/known_errors.inc.tmpl $(srcdir)/defs/known_errors.def > $@
diff --git a/template/id.h.tmpl b/id.h
index 597f2702d3..576ab8cf6e 100644
--- a/template/id.h.tmpl
+++ b/id.h
@@ -1,5 +1,3 @@
-%# -*- c -*-
-/* DO NOT EDIT THIS FILE DIRECTLY */
/**********************************************************************
id.h -
@@ -10,28 +8,7 @@
Copyright (C) 2007 Koichi Sasada
**********************************************************************/
-<%
-require 'optparse'
-vpath = ["."]
-input = nil
-opt = OptionParser.new do |o|
- o.on('-v', '--vpath=DIR') {|dirs| vpath.concat dirs.split(File::PATH_SEPARATOR)}
- input, = o.order!(ARGV)
-end or abort opt.opt_s
-tokens = nil
-vpath.find do |dir|
- begin
- if line = File.read(File.join(dir, input))[/^\s*enum\s+yytokentype\s*\{([^{}]*)\s*\};/m, 1]
- tokens = line.scan(/\b(t(?:LAST_TOKEN|U(?:PLUS|MINUS)|POW|CMP|EQQ?|[NGL]EQ|(?:AND|OR)OP|N?MATCH|DOT\d|AREF|ASET|[LR]SHFT|LAMBDA)|id\w+)\s*=\s*(\d+),?/m)
- end
- rescue Errno::ENOENT
- nil
- else
- true
- end
-end
-%>
#ifndef RUBY_ID_H
#define RUBY_ID_H
@@ -55,10 +32,70 @@ end
enum ruby_method_ids {
#ifndef tLAST_TOKEN
-% tokens.each do |token, value|
- <%=token%> = <%=value%>,
-% end
-#elif <%= tokens.map {|token, value|"#{token} != #{value}"}.join(" || \\\n ") %>
+ tUPLUS = 321,
+ tUMINUS = 322,
+ tPOW = 323,
+ tCMP = 324,
+ tEQ = 325,
+ tEQQ = 326,
+ tNEQ = 327,
+ tGEQ = 328,
+ tLEQ = 329,
+ tANDOP = 330,
+ tOROP = 331,
+ tMATCH = 332,
+ tNMATCH = 333,
+ tDOT2 = 334,
+ tDOT3 = 335,
+ tAREF = 336,
+ tASET = 337,
+ tLSHFT = 338,
+ tRSHFT = 339,
+ tLAMBDA = 352,
+ idNULL = 365,
+ idRespond_to = 366,
+ idIFUNC = 367,
+ idCFUNC = 368,
+ idThrowState = 369,
+ id_core_set_method_alias = 370,
+ id_core_set_variable_alias = 371,
+ id_core_undef_method = 372,
+ id_core_define_method = 373,
+ id_core_define_singleton_method = 374,
+ id_core_set_postexe = 375,
+ tLAST_TOKEN = 376,
+#elif tUPLUS != 321 || \
+ tUMINUS != 322 || \
+ tPOW != 323 || \
+ tCMP != 324 || \
+ tEQ != 325 || \
+ tEQQ != 326 || \
+ tNEQ != 327 || \
+ tGEQ != 328 || \
+ tLEQ != 329 || \
+ tANDOP != 330 || \
+ tOROP != 331 || \
+ tMATCH != 332 || \
+ tNMATCH != 333 || \
+ tDOT2 != 334 || \
+ tDOT3 != 335 || \
+ tAREF != 336 || \
+ tASET != 337 || \
+ tLSHFT != 338 || \
+ tRSHFT != 339 || \
+ tLAMBDA != 352 || \
+ idNULL != 365 || \
+ idRespond_to != 366 || \
+ idIFUNC != 367 || \
+ idCFUNC != 368 || \
+ idThrowState != 369 || \
+ id_core_set_method_alias != 370 || \
+ id_core_set_variable_alias != 371 || \
+ id_core_undef_method != 372 || \
+ id_core_define_method != 373 || \
+ id_core_define_singleton_method != 374 || \
+ id_core_set_postexe != 375 || \
+ tLAST_TOKEN != 376
#error id.h is out of date.
#endif
idPLUS = '+',