[前][次][番号順一覧][スレッド一覧]

ruby-changes:8319

From: nobu <ko1@a...>
Date: Sun, 19 Oct 2008 21:13:09 +0900 (JST)
Subject: [ruby-changes:8319] Ruby:r19847 (trunk): * common.mk (srcs): removed ID_H_TARGET.

nobu	2008-10-19 21:12:53 +0900 (Sun, 19 Oct 2008)

  New Revision: 19847

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19847

  Log:
    * common.mk (srcs): removed ID_H_TARGET.
    
    * tool/generic_erb.rb: always overwrites if no if-change option.
    
    * template/id.h.tmpl: shows which token differs.

  Added files:
    trunk/template/id.h.tmpl
  Modified files:
    trunk/ChangeLog
    trunk/common.mk
    trunk/id.h
    trunk/tool/generic_erb.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 19846)
+++ ChangeLog	(revision 19847)
@@ -1,3 +1,11 @@
+Sun Oct 19 21:12:51 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* common.mk (srcs): removed ID_H_TARGET.
+
+	* tool/generic_erb.rb: always overwrites if no if-change option.
+
+	* template/id.h.tmpl: shows which token differs.
+
 Sun Oct 19 18:15:15 2008  Martin Duerst  <duerst@i...>
 
 	* enc/trans/single_byte.trans: adding WINDOWS-wwww encodings
Index: common.mk
===================================================================
--- common.mk	(revision 19846)
+++ common.mk	(revision 19847)
@@ -625,7 +625,7 @@
 
 vm.inc: $(srcdir)/template/vm.inc.tmpl
 
-srcs: {$(VPATH)}parse.c $(ID_H_TARGET) {$(VPATH)}lex.c {$(VPATH)}newline.c $(srcdir)/ext/ripper/ripper.c srcs-enc
+srcs: {$(VPATH)}parse.c {$(VPATH)}lex.c {$(VPATH)}newline.c $(srcdir)/ext/ripper/ripper.c srcs-enc
 
 srcs-enc: $(ENC_MK)
 	$(MAKE) -f $(ENC_MK) RUBY="$(MINIRUBY)" MINIRUBY="$(MINIRUBY)" $(MFLAGS) srcs
Index: id.h
===================================================================
--- id.h	(revision 19846)
+++ id.h	(revision 19847)
@@ -1,3 +1,4 @@
+/* DO NOT EDIT THIS FILE DIRECTLY */
 /**********************************************************************
 
   id.h - 
@@ -64,39 +65,70 @@
     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.
+#elif tUPLUS != 321
+#error tUPLUS differs
+#elif tUMINUS != 322
+#error tUMINUS differs
+#elif tPOW != 323
+#error tPOW differs
+#elif tCMP != 324
+#error tCMP differs
+#elif tEQ != 325
+#error tEQ differs
+#elif tEQQ != 326
+#error tEQQ differs
+#elif tNEQ != 327
+#error tNEQ differs
+#elif tGEQ != 328
+#error tGEQ differs
+#elif tLEQ != 329
+#error tLEQ differs
+#elif tANDOP != 330
+#error tANDOP differs
+#elif tOROP != 331
+#error tOROP differs
+#elif tMATCH != 332
+#error tMATCH differs
+#elif tNMATCH != 333
+#error tNMATCH differs
+#elif tDOT2 != 334
+#error tDOT2 differs
+#elif tDOT3 != 335
+#error tDOT3 differs
+#elif tAREF != 336
+#error tAREF differs
+#elif tASET != 337
+#error tASET differs
+#elif tLSHFT != 338
+#error tLSHFT differs
+#elif tRSHFT != 339
+#error tRSHFT differs
+#elif tLAMBDA != 352
+#error tLAMBDA differs
+#elif idNULL != 365
+#error idNULL differs
+#elif idRespond_to != 366
+#error idRespond_to differs
+#elif idIFUNC != 367
+#error idIFUNC differs
+#elif idCFUNC != 368
+#error idCFUNC differs
+#elif idThrowState != 369
+#error idThrowState differs
+#elif id_core_set_method_alias != 370
+#error id_core_set_method_alias differs
+#elif id_core_set_variable_alias != 371
+#error id_core_set_variable_alias differs
+#elif id_core_undef_method != 372
+#error id_core_undef_method differs
+#elif id_core_define_method != 373
+#error id_core_define_method differs
+#elif id_core_define_singleton_method != 374
+#error id_core_define_singleton_method differs
+#elif id_core_set_postexe != 375
+#error id_core_set_postexe differs
+#elif tLAST_TOKEN != 376
+#error tLAST_TOKEN differs
 #endif
     idPLUS = '+',
     idMINUS = '-',
Index: tool/generic_erb.rb
===================================================================
--- tool/generic_erb.rb	(revision 19846)
+++ tool/generic_erb.rb	(revision 19847)
@@ -16,13 +16,11 @@
 erb.filename = template
 result = erb.result
 if output
-  if ifchange
-    if (IO.read(output) rescue nil) == result
-      puts "#{output} unchanged"
-    else
-      open(output, "wb") {|f| f.print result}
-      puts "#{output} updated"
-    end
+  if ifchange and (IO.read(output) rescue nil) == result
+    puts "#{output} unchanged"
+  else
+    open(output, "wb") {|f| f.print result}
+    puts "#{output} updated"
   end
   if timestamp
     if timestamp == true
Index: template/id.h.tmpl
===================================================================
--- template/id.h.tmpl	(revision 0)
+++ template/id.h.tmpl	(revision 19847)
@@ -0,0 +1,117 @@
+%#  -*- c -*-
+/* DO NOT EDIT THIS FILE DIRECTLY */
+/**********************************************************************
+
+  id.h - 
+
+  $Author$
+  created at: Sun Oct 19 21:12:51 2008
+
+  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
+
+#define ID_SCOPE_SHIFT 3
+#define ID_SCOPE_MASK 0x07
+#define ID_LOCAL      0x00
+#define ID_INSTANCE   0x01
+#define ID_GLOBAL     0x03
+#define ID_ATTRSET    0x04
+#define ID_CONST      0x05
+#define ID_CLASS      0x06
+#define ID_JUNK       0x07
+#define ID_INTERNAL   ID_JUNK
+
+#ifdef USE_PARSE_H
+#include "parse.h"
+#endif
+
+#define symIFUNC ID2SYM(idIFUNC)
+#define symCFUNC ID2SYM(idCFUNC)
+
+enum ruby_method_ids {
+#ifndef tLAST_TOKEN
+% tokens.each do |token, value|
+    <%=token%> = <%=value%>,
+% end
+% tokens.map do |token, value|
+#elif <%=token%> != <%=value%>
+#error <%=token%> differs
+% end
+#endif
+    idPLUS = '+',
+    idMINUS = '-',
+    idMULT = '*',
+    idDIV = '/',
+    idMOD = '%',
+    idLT = '<',
+    idLTLT = tLSHFT,
+    idLE = tLEQ,
+    idGT = '>',
+    idGE = tGEQ,
+    idEq = tEQ,
+    idEqq = tEQQ,
+    idNeq = tNEQ,
+    idNot = '!',
+    idBackquote = '`',
+    idEqTilde = tMATCH,
+    idAREF = tAREF,
+    idASET = tASET,
+    idLAST_TOKEN = tLAST_TOKEN >> ID_SCOPE_SHIFT,
+    tIntern,
+    tMethodMissing,
+    tLength,
+    tGets,
+    tSucc,
+    tEach,
+    tLambda,
+    tSend,
+    t__send__,
+    tInitialize,
+#if SUPPORT_JOKE
+    tBitblt,
+    tAnswer,
+#endif
+    tLAST_ID,
+#define TOKEN2ID(n) id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_LOCAL)
+    TOKEN2ID(Intern),
+    TOKEN2ID(MethodMissing),
+    TOKEN2ID(Length),
+    TOKEN2ID(Gets),
+    TOKEN2ID(Succ),
+    TOKEN2ID(Each),
+    TOKEN2ID(Lambda),
+    TOKEN2ID(Send),
+    TOKEN2ID(__send__),
+    TOKEN2ID(Initialize),
+#if SUPPORT_JOKE
+    TOKEN2ID(Bitblt),
+    TOKEN2ID(Answer),
+#endif
+};
+
+#endif /* RUBY_ID_H */

Property changes on: template/id.h.tmpl
___________________________________________________________________
Name: svn:keywords
   + Author Id Revision


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]