debase-ruby_core_source 0.9.9 → 0.9.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/addr2line.h +0 -0
  4. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/build_assert/build_assert.h +0 -0
  5. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/check_type/check_type.h +0 -0
  6. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/container_of/container_of.h +0 -0
  7. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/ccan/list/list.h +28 -166
  8. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/str/str.h +0 -0
  9. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/constant.h +3 -10
  10. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/dln.h +0 -0
  11. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/eval_intern.h +49 -89
  12. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/gc.h +1 -8
  13. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/id.h +5 -15
  14. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/insns.inc +107 -0
  15. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/insns_info.inc +45 -89
  16. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/internal.h +164 -666
  17. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/iseq.h +158 -0
  18. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/known_errors.inc +0 -0
  19. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/method.h +144 -0
  20. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/node.h +42 -18
  21. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/node_name.inc +6 -2
  22. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/opt_sc.inc +0 -40
  23. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/optinsn.inc +0 -0
  24. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/optunifs.inc +0 -5
  25. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/parse.h +8 -28
  26. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/probes_helper.h +67 -0
  27. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/regenc.h +16 -16
  28. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/regint.h +10 -33
  29. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/regparse.h +1 -5
  30. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/revision.h +1 -0
  31. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/ruby_atomic.h +5 -68
  32. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/siphash.h +0 -0
  33. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/symbol.h +13 -33
  34. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/thread_pthread.h +2 -2
  35. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/thread_win32.h +0 -0
  36. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/timev.h +0 -0
  37. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/transcode_data.h +7 -23
  38. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/version.h +10 -31
  39. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/vm.inc +497 -542
  40. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/vm_core.h +305 -784
  41. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/vm_debug.h +0 -0
  42. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/vm_exec.h +0 -0
  43. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/vm_insnhelper.h +56 -50
  44. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/vm_opts.h +7 -8
  45. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/vmtc.inc +0 -5
  46. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/addr2line.h +0 -0
  47. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/build_assert/build_assert.h +0 -0
  48. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/check_type/check_type.h +0 -0
  49. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/container_of/container_of.h +0 -0
  50. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/ccan/list/list.h +0 -0
  51. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/str/str.h +0 -0
  52. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/constant.h +1 -1
  53. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/dln.h +0 -0
  54. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/encindex.h +0 -0
  55. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/eval_intern.h +3 -4
  56. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/gc.h +0 -0
  57. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/id.h +0 -9
  58. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/id_table.h +0 -0
  59. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/insns.inc +46 -48
  60. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/insns_info.inc +0 -20
  61. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/internal.h +58 -290
  62. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/iseq.h +15 -18
  63. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/known_errors.inc +0 -0
  64. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/method.h +2 -2
  65. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/node.h +2 -2
  66. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/node_name.inc +0 -0
  67. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/opt_sc.inc +0 -16
  68. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/optinsn.inc +0 -0
  69. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/optunifs.inc +0 -2
  70. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/parse.h +8 -27
  71. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/probes_helper.h +0 -0
  72. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/regenc.h +14 -14
  73. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/regint.h +0 -8
  74. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/regparse.h +0 -0
  75. data/lib/debase/ruby_core_source/ruby-2.3.5-p376/revision.h +1 -0
  76. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/ruby_atomic.h +0 -0
  77. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/siphash.h +0 -0
  78. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/symbol.h +3 -3
  79. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/thread_pthread.h +0 -0
  80. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/thread_win32.h +0 -0
  81. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/timev.h +0 -0
  82. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/transcode_data.h +0 -0
  83. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/version.h +9 -27
  84. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm.inc +255 -264
  85. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_call_iseq_optimized.inc +5 -5
  86. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_core.h +37 -28
  87. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/vm_debug.h +0 -0
  88. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/vm_exec.h +0 -0
  89. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_insnhelper.h +32 -16
  90. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_opts.h +0 -0
  91. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/vmtc.inc +0 -2
  92. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/addr2line.h +0 -0
  93. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/build_assert/build_assert.h +0 -0
  94. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/check_type/check_type.h +0 -0
  95. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/container_of/container_of.h +0 -0
  96. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/ccan/list/list.h +0 -0
  97. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/str/str.h +0 -0
  98. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/constant.h +0 -0
  99. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/dln.h +0 -0
  100. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/encindex.h +0 -0
  101. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/eval_intern.h +0 -0
  102. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/gc.h +0 -0
  103. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/id.h +0 -0
  104. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/id_table.h +0 -0
  105. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/insns.inc +0 -0
  106. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/insns_info.inc +0 -0
  107. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/internal.h +116 -51
  108. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/iseq.h +0 -0
  109. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/known_errors.inc +0 -0
  110. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/method.h +0 -0
  111. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/node.h +2 -2
  112. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/node_name.inc +0 -0
  113. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/opt_sc.inc +0 -0
  114. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/optinsn.inc +0 -0
  115. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/optunifs.inc +0 -0
  116. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/parse.h +8 -27
  117. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/probes_helper.h +0 -0
  118. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/regenc.h +79 -67
  119. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/regint.h +187 -244
  120. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/regparse.h +30 -27
  121. data/lib/debase/ruby_core_source/ruby-2.4.2-p198/revision.h +1 -0
  122. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/ruby_assert.h +0 -0
  123. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/ruby_atomic.h +0 -0
  124. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/siphash.h +0 -0
  125. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/symbol.h +0 -0
  126. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/thread_pthread.h +0 -0
  127. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/thread_win32.h +0 -0
  128. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/timev.h +0 -0
  129. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/transcode_data.h +0 -0
  130. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/version.h +6 -6
  131. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm.inc +37 -34
  132. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/vm_call_iseq_optimized.inc +0 -0
  133. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_core.h +9 -7
  134. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_debug.h +0 -0
  135. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_exec.h +0 -0
  136. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_insnhelper.h +30 -14
  137. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/vm_opts.h +0 -0
  138. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/vmtc.inc +0 -0
  139. data/lib/debase/ruby_core_source/version.rb +1 -1
  140. metadata +138 -143
  141. data/lib/debase/ruby_core_source/ruby-2.4.0-preview1/method.h +0 -213
  142. data/lib/debase/ruby_core_source/ruby-2.4.0-preview1/revision.h +0 -1
  143. data/lib/debase/ruby_core_source/ruby-2.4.0-preview2/revision.h +0 -1
  144. data/lib/debase/ruby_core_source/ruby-2.4.0-preview2/ruby_assert.h +0 -54
  145. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/encindex.h +0 -67
  146. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/id_table.h +0 -31
  147. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/insns.inc +0 -112
  148. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/iseq.h +0 -252
  149. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/probes_helper.h +0 -43
  150. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/revision.h +0 -1
  151. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/ruby_assert.h +0 -54
  152. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/vm_call_iseq_optimized.inc +0 -212
@@ -2,7 +2,7 @@
2
2
 
3
3
  node.h -
4
4
 
5
- $Author: hsbt $
5
+ $Author: nagachika $
6
6
  created at: Fri May 28 15:14:02 JST 1993
7
7
 
8
8
  Copyright (C) 1993-2007 Yukihiro Matsumoto
@@ -277,7 +277,7 @@ typedef struct RNode {
277
277
 
278
278
  #define NODE_LSHIFT (NODE_TYPESHIFT+7)
279
279
  #define NODE_LMASK (((SIGNED_VALUE)1<<(sizeof(VALUE)*CHAR_BIT-NODE_LSHIFT))-1)
280
- #define nd_line(n) (int)(RNODE(n)->flags>>NODE_LSHIFT)
280
+ #define nd_line(n) (int)(((SIGNED_VALUE)RNODE(n)->flags)>>NODE_LSHIFT)
281
281
  #define nd_set_line(n,l) \
282
282
  RNODE(n)->flags=((RNODE(n)->flags&~((VALUE)(-1)<<NODE_LSHIFT))|((VALUE)((l)&NODE_LMASK)<<NODE_LSHIFT))
283
283
 
@@ -1,8 +1,8 @@
1
- /* A Bison parser, made by GNU Bison 2.7.12-4996. */
1
+ /* A Bison parser, made by GNU Bison 2.5. */
2
2
 
3
3
  /* Bison interface for Yacc-like parsers in C
4
4
 
5
- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
5
+ Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
6
6
 
7
7
  This program is free software: you can redistribute it and/or modify
8
8
  it under the terms of the GNU General Public License as published by
@@ -30,15 +30,6 @@
30
30
  This special exception was added by the Free Software Foundation in
31
31
  version 2.2 of Bison. */
32
32
 
33
- #ifndef YY_YY_Y_TAB_H_INCLUDED
34
- # define YY_YY_Y_TAB_H_INCLUDED
35
- /* Enabling traces. */
36
- #ifndef YYDEBUG
37
- # define YYDEBUG 0
38
- #endif
39
- #if YYDEBUG
40
- extern int yydebug;
41
- #endif
42
33
 
43
34
  /* Tokens. */
44
35
  #ifndef YYTOKENTYPE
@@ -167,10 +158,12 @@ extern int yydebug;
167
158
  #endif
168
159
 
169
160
 
161
+
170
162
  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
171
163
  typedef union YYSTYPE
172
164
  {
173
- /* Line 2053 of yacc.c */
165
+
166
+ /* Line 2068 of yacc.c */
174
167
 
175
168
  VALUE val;
176
169
  NODE *node;
@@ -179,7 +172,8 @@ typedef union YYSTYPE
179
172
  const struct vtable *vars;
180
173
 
181
174
 
182
- /* Line 2053 of yacc.c */
175
+
176
+ /* Line 2068 of yacc.c */
183
177
  } YYSTYPE;
184
178
  # define YYSTYPE_IS_TRIVIAL 1
185
179
  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -187,18 +181,5 @@ typedef union YYSTYPE
187
181
  #endif
188
182
 
189
183
 
190
- #ifdef YYPARSE_PARAM
191
- #if defined __STDC__ || defined __cplusplus
192
- int yyparse (void *YYPARSE_PARAM);
193
- #else
194
- int yyparse ();
195
- #endif
196
- #else /* ! YYPARSE_PARAM */
197
- #if defined __STDC__ || defined __cplusplus
198
- int yyparse (struct parser_params *parser);
199
- #else
200
- int yyparse ();
201
- #endif
202
- #endif /* ! YYPARSE_PARAM */
203
184
 
204
- #endif /* !YY_YY_Y_TAB_H_INCLUDED */
185
+
@@ -1,11 +1,11 @@
1
- #ifndef ONIGURUMA_REGENC_H
2
- #define ONIGURUMA_REGENC_H
1
+ #ifndef ONIGMO_REGENC_H
2
+ #define ONIGMO_REGENC_H
3
3
  /**********************************************************************
4
4
  regenc.h - Onigmo (Oniguruma-mod) (regular expression library)
5
5
  **********************************************************************/
6
6
  /*-
7
7
  * Copyright (c) 2002-2008 K.Kosako <sndgk393 AT ybb DOT ne DOT jp>
8
- * Copyright (c) 2011 K.Takata <kentkt AT csc DOT jp>
8
+ * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp>
9
9
  * All rights reserved.
10
10
  *
11
11
  * Redistribution and use in source and binary forms, with or without
@@ -30,18 +30,32 @@
30
30
  * SUCH DAMAGE.
31
31
  */
32
32
 
33
- #ifndef REGINT_H
34
- #ifndef RUBY_EXTERN
35
- #include "ruby/config.h"
36
- #include "ruby/defines.h"
37
- #endif
33
+ #if !defined(RUBY) && (defined(RUBY_EXPORT) || defined(ONIG_ENC_REGISTER))
34
+ # define RUBY
38
35
  #endif
36
+ #ifdef RUBY
37
+ # ifndef ONIGMO_REGINT_H
38
+ # ifndef RUBY_EXTERN
39
+ # include "ruby/config.h"
40
+ # include "ruby/defines.h"
41
+ # endif
42
+ # endif
43
+ #else /* RUBY */
44
+ # ifndef PACKAGE
45
+ /* PACKAGE is defined in config.h */
46
+ # include "config.h"
47
+ # endif
48
+ #endif /* RUBY */
39
49
 
40
50
  #ifdef ONIG_ESCAPE_UCHAR_COLLISION
41
- #undef ONIG_ESCAPE_UCHAR_COLLISION
51
+ # undef ONIG_ESCAPE_UCHAR_COLLISION
42
52
  #endif
43
53
 
44
- #include "ruby/oniguruma.h"
54
+ #ifdef RUBY
55
+ # include "ruby/onigmo.h"
56
+ #else
57
+ # include "onigmo.h"
58
+ #endif
45
59
 
46
60
  RUBY_SYMBOL_EXPORT_BEGIN
47
61
 
@@ -52,23 +66,23 @@ typedef struct {
52
66
 
53
67
 
54
68
  #ifndef NULL
55
- #define NULL ((void* )0)
69
+ # define NULL ((void* )0)
56
70
  #endif
57
71
 
58
72
  #ifndef TRUE
59
- #define TRUE 1
73
+ # define TRUE 1
60
74
  #endif
61
75
 
62
76
  #ifndef FALSE
63
- #define FALSE 0
77
+ # define FALSE 0
64
78
  #endif
65
79
 
66
80
  #ifndef ARG_UNUSED
67
- #if defined(__GNUC__)
81
+ # if defined(__GNUC__)
68
82
  # define ARG_UNUSED __attribute__ ((unused))
69
- #else
83
+ # else
70
84
  # define ARG_UNUSED
71
- #endif
85
+ # endif
72
86
  #endif
73
87
 
74
88
  #define ONIG_IS_NULL(p) (((void*)(p)) == (void*)0)
@@ -111,7 +125,7 @@ typedef struct {
111
125
  {(short int )(sizeof(name) - 1), (name), (ctype)}
112
126
 
113
127
  #ifndef numberof
114
- #define numberof(array) (int )(sizeof(array) / sizeof((array)[0]))
128
+ # define numberof(array) (int )(sizeof(array) / sizeof((array)[0]))
115
129
  #endif
116
130
 
117
131
 
@@ -125,58 +139,56 @@ typedef struct {
125
139
  #define ONIG_ENCODING_INIT_DEFAULT ONIG_ENCODING_ASCII
126
140
 
127
141
  /* for encoding system implementation (internal) */
128
- ONIG_EXTERN int onigenc_ascii_apply_all_case_fold P_((OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg, OnigEncoding enc));
129
- ONIG_EXTERN int onigenc_ascii_get_case_fold_codes_by_str P_((OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[], OnigEncoding enc));
130
- ONIG_EXTERN int onigenc_apply_all_case_fold_with_map P_((int map_size, const OnigPairCaseFoldCodes map[], int ess_tsett_flag, OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg));
131
- ONIG_EXTERN int onigenc_get_case_fold_codes_by_str_with_map P_((int map_size, const OnigPairCaseFoldCodes map[], int ess_tsett_flag, OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[]));
132
- CONSTFUNC(ONIG_EXTERN int onigenc_not_support_get_ctype_code_range P_((OnigCtype ctype, OnigCodePoint* sb_out, const OnigCodePoint* ranges[], OnigEncoding enc)));
133
- PUREFUNC(ONIG_EXTERN int onigenc_is_mbc_newline_0x0a P_((const UChar* p, const UChar* end, OnigEncoding enc)));
134
-
135
- #ifdef ONIG_CASE_MAPPING
136
- ONIG_EXTERN int onigenc_single_byte_ascii_only_case_map P_((OnigCaseFoldType* flagP, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to, OnigUChar* to_end, const struct OnigEncodingTypeST* enc));
137
- #endif /* ONIG_CASE_MAPPING */
142
+ ONIG_EXTERN int onigenc_ascii_apply_all_case_fold(OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg, OnigEncoding enc);
143
+ ONIG_EXTERN int onigenc_ascii_get_case_fold_codes_by_str(OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[], OnigEncoding enc);
144
+ ONIG_EXTERN int onigenc_apply_all_case_fold_with_map(int map_size, const OnigPairCaseFoldCodes map[], int ess_tsett_flag, OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg);
145
+ ONIG_EXTERN int onigenc_get_case_fold_codes_by_str_with_map(int map_size, const OnigPairCaseFoldCodes map[], int ess_tsett_flag, OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[]);
146
+ ONIG_EXTERN int onigenc_not_support_get_ctype_code_range(OnigCtype ctype, OnigCodePoint* sb_out, const OnigCodePoint* ranges[], OnigEncoding enc);
147
+ ONIG_EXTERN int onigenc_is_mbc_newline_0x0a(const UChar* p, const UChar* end, OnigEncoding enc);
148
+ ONIG_EXTERN int onigenc_single_byte_ascii_only_case_map(OnigCaseFoldType* flagP, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to, OnigUChar* to_end, const struct OnigEncodingTypeST* enc);
138
149
 
139
150
 
140
151
  /* methods for single byte encoding */
141
- ONIG_EXTERN int onigenc_ascii_mbc_case_fold P_((OnigCaseFoldType flag, const UChar** p, const UChar* end, UChar* lower, OnigEncoding enc));
142
- CONSTFUNC(ONIG_EXTERN int onigenc_single_byte_mbc_enc_len P_((const UChar* p, const UChar* e, OnigEncoding enc)));
143
- PUREFUNC(ONIG_EXTERN OnigCodePoint onigenc_single_byte_mbc_to_code P_((const UChar* p, const UChar* end, OnigEncoding enc)));
144
- CONSTFUNC(ONIG_EXTERN int onigenc_single_byte_code_to_mbclen P_((OnigCodePoint code, OnigEncoding enc)));
145
- ONIG_EXTERN int onigenc_single_byte_code_to_mbc P_((OnigCodePoint code, UChar *buf, OnigEncoding enc));
146
- CONSTFUNC(ONIG_EXTERN UChar* onigenc_single_byte_left_adjust_char_head P_((const UChar* start, const UChar* s, const OnigUChar* end, OnigEncoding enc)));
147
- CONSTFUNC(ONIG_EXTERN int onigenc_always_true_is_allowed_reverse_match P_((const UChar* s, const UChar* end, OnigEncoding enc)));
148
- CONSTFUNC(ONIG_EXTERN int onigenc_always_false_is_allowed_reverse_match P_((const UChar* s, const UChar* end, OnigEncoding enc)));
149
- CONSTFUNC(ONIG_EXTERN int onigenc_ascii_is_code_ctype P_((OnigCodePoint code, unsigned int ctype, OnigEncoding enc)));
152
+ ONIG_EXTERN int onigenc_ascii_mbc_case_fold(OnigCaseFoldType flag, const UChar** p, const UChar* end, UChar* lower, OnigEncoding enc);
153
+ ONIG_EXTERN int onigenc_single_byte_mbc_enc_len(const UChar* p, const UChar* e, OnigEncoding enc);
154
+ ONIG_EXTERN OnigCodePoint onigenc_single_byte_mbc_to_code(const UChar* p, const UChar* end, OnigEncoding enc);
155
+ ONIG_EXTERN int onigenc_single_byte_code_to_mbclen(OnigCodePoint code, OnigEncoding enc);
156
+ ONIG_EXTERN int onigenc_single_byte_code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc);
157
+ ONIG_EXTERN UChar* onigenc_single_byte_left_adjust_char_head(const UChar* start, const UChar* s, const OnigUChar* end, OnigEncoding enc);
158
+ ONIG_EXTERN int onigenc_always_true_is_allowed_reverse_match(const UChar* s, const UChar* end, OnigEncoding enc);
159
+ ONIG_EXTERN int onigenc_always_false_is_allowed_reverse_match(const UChar* s, const UChar* end, OnigEncoding enc);
160
+ ONIG_EXTERN int onigenc_ascii_is_code_ctype(OnigCodePoint code, unsigned int ctype, OnigEncoding enc);
150
161
 
151
162
  /* methods for multi byte encoding */
152
- ONIG_EXTERN OnigCodePoint onigenc_mbn_mbc_to_code P_((OnigEncoding enc, const UChar* p, const UChar* end));
153
- ONIG_EXTERN int onigenc_mbn_mbc_case_fold P_((OnigEncoding enc, OnigCaseFoldType flag, const UChar** p, const UChar* end, UChar* lower));
154
- CONSTFUNC(ONIG_EXTERN int onigenc_mb2_code_to_mbclen P_((OnigCodePoint code, OnigEncoding enc)));
155
- ONIG_EXTERN int onigenc_mb2_code_to_mbc P_((OnigEncoding enc, OnigCodePoint code, UChar *buf));
156
- ONIG_EXTERN int onigenc_minimum_property_name_to_ctype P_((OnigEncoding enc, const UChar* p, const UChar* end));
157
- ONIG_EXTERN int onigenc_unicode_property_name_to_ctype P_((OnigEncoding enc, const UChar* p, const UChar* end));
158
- ONIG_EXTERN int onigenc_mb2_is_code_ctype P_((OnigEncoding enc, OnigCodePoint code, unsigned int ctype));
159
- CONSTFUNC(ONIG_EXTERN int onigenc_mb4_code_to_mbclen P_((OnigCodePoint code, OnigEncoding enc)));
160
- ONIG_EXTERN int onigenc_mb4_code_to_mbc P_((OnigEncoding enc, OnigCodePoint code, UChar *buf));
161
- ONIG_EXTERN int onigenc_mb4_is_code_ctype P_((OnigEncoding enc, OnigCodePoint code, unsigned int ctype));
162
-
163
- #ifdef ONIG_CASE_MAPPING
164
- ONIG_EXTERN int onigenc_unicode_case_map P_((OnigCaseFoldType* flagP, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to, OnigUChar* to_end, const struct OnigEncodingTypeST* enc));
165
- #endif /* ONIG_CASE_MAPPING */
163
+ ONIG_EXTERN OnigCodePoint onigenc_mbn_mbc_to_code(OnigEncoding enc, const UChar* p, const UChar* end);
164
+ ONIG_EXTERN int onigenc_mbn_mbc_case_fold(OnigEncoding enc, OnigCaseFoldType flag, const UChar** p, const UChar* end, UChar* lower);
165
+ ONIG_EXTERN int onigenc_mb2_code_to_mbclen(OnigCodePoint code, OnigEncoding enc);
166
+ ONIG_EXTERN int onigenc_mb2_code_to_mbc(OnigEncoding enc, OnigCodePoint code, UChar *buf);
167
+ ONIG_EXTERN int onigenc_minimum_property_name_to_ctype(OnigEncoding enc, const UChar* p, const UChar* end);
168
+ ONIG_EXTERN int onigenc_unicode_property_name_to_ctype(OnigEncoding enc, const UChar* p, const UChar* end);
169
+ ONIG_EXTERN int onigenc_mb2_is_code_ctype(OnigEncoding enc, OnigCodePoint code, unsigned int ctype);
170
+ ONIG_EXTERN int onigenc_mb4_code_to_mbclen(OnigCodePoint code, OnigEncoding enc);
171
+ ONIG_EXTERN int onigenc_mb4_code_to_mbc(OnigEncoding enc, OnigCodePoint code, UChar *buf);
172
+ ONIG_EXTERN int onigenc_mb4_is_code_ctype(OnigEncoding enc, OnigCodePoint code, unsigned int ctype);
173
+
174
+ ONIG_EXTERN int onigenc_unicode_case_map(OnigCaseFoldType* flagP, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to, OnigUChar* to_end, const struct OnigEncodingTypeST* enc);
166
175
 
167
176
 
168
177
  /* in enc/unicode.c */
169
- ONIG_EXTERN int onigenc_unicode_is_code_ctype P_((OnigCodePoint code, unsigned int ctype, OnigEncoding enc));
170
- ONIG_EXTERN int onigenc_utf16_32_get_ctype_code_range P_((OnigCtype ctype, OnigCodePoint *sb_out, const OnigCodePoint* ranges[], OnigEncoding enc));
171
- ONIG_EXTERN int onigenc_unicode_ctype_code_range P_((int ctype, const OnigCodePoint* ranges[]));
172
- ONIG_EXTERN int onigenc_unicode_get_case_fold_codes_by_str P_((OnigEncoding enc, OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[]));
173
- ONIG_EXTERN int onigenc_unicode_mbc_case_fold P_((OnigEncoding enc, OnigCaseFoldType flag, const UChar** pp, const UChar* end, UChar* fold));
174
- ONIG_EXTERN int onigenc_unicode_apply_all_case_fold P_((OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg, OnigEncoding enc));
178
+ ONIG_EXTERN int onigenc_unicode_is_code_ctype(OnigCodePoint code, unsigned int ctype, OnigEncoding enc);
179
+ ONIG_EXTERN int onigenc_utf16_32_get_ctype_code_range(OnigCtype ctype, OnigCodePoint *sb_out, const OnigCodePoint* ranges[], OnigEncoding enc);
180
+ ONIG_EXTERN int onigenc_unicode_ctype_code_range(int ctype, const OnigCodePoint* ranges[]);
181
+ ONIG_EXTERN int onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc, OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[]);
182
+ ONIG_EXTERN int onigenc_unicode_mbc_case_fold(OnigEncoding enc, OnigCaseFoldType flag, const UChar** pp, const UChar* end, UChar* fold);
183
+ ONIG_EXTERN int onigenc_unicode_apply_all_case_fold(OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg, OnigEncoding enc);
175
184
 
176
185
 
177
186
  #define UTF16_IS_SURROGATE_FIRST(c) (((c) & 0xfc) == 0xd8)
178
187
  #define UTF16_IS_SURROGATE_SECOND(c) (((c) & 0xfc) == 0xdc)
179
188
  #define UTF16_IS_SURROGATE(c) (((c) & 0xf8) == 0xd8)
189
+ #define UNICODE_VALID_CODEPOINT_P(c) ( \
190
+ ((c) <= 0x10ffff) && \
191
+ !((c) < 0x10000 && UTF16_IS_SURROGATE((c) >> 8)))
180
192
 
181
193
  #define ONIGENC_ISO_8859_1_TO_LOWER_CASE(c) \
182
194
  OnigEncISO_8859_1_ToLowerCaseTable[c]
@@ -187,14 +199,14 @@ ONIG_EXTERN const UChar OnigEncISO_8859_1_ToLowerCaseTable[];
187
199
  ONIG_EXTERN const UChar OnigEncISO_8859_1_ToUpperCaseTable[];
188
200
 
189
201
  ONIG_EXTERN int
190
- onigenc_with_ascii_strncmp P_((OnigEncoding enc, const UChar* p, const UChar* end, const UChar* sascii /* ascii */, int n));
202
+ onigenc_with_ascii_strncmp(OnigEncoding enc, const UChar* p, const UChar* end, const UChar* sascii /* ascii */, int n);
191
203
  ONIG_EXTERN int
192
- onigenc_with_ascii_strnicmp P_((OnigEncoding enc, const UChar* p, const UChar* end, const UChar* sascii /* ascii */, int n));
204
+ onigenc_with_ascii_strnicmp(OnigEncoding enc, const UChar* p, const UChar* end, const UChar* sascii /* ascii */, int n);
193
205
  ONIG_EXTERN UChar*
194
- onigenc_step P_((OnigEncoding enc, const UChar* p, const UChar* end, int n));
206
+ onigenc_step(OnigEncoding enc, const UChar* p, const UChar* end, int n);
195
207
 
196
208
  /* defined in regexec.c, but used in enc/xxx.c */
197
- extern int onig_is_in_code_range P_((const UChar* p, OnigCodePoint code));
209
+ extern int onig_is_in_code_range(const UChar* p, OnigCodePoint code);
198
210
 
199
211
  ONIG_EXTERN OnigEncoding OnigEncDefaultCharEncoding;
200
212
  ONIG_EXTERN const UChar OnigEncAsciiToLowerCaseTable[];
@@ -217,9 +229,9 @@ ONIG_EXTERN const unsigned short OnigEncAsciiCtypeTable[];
217
229
 
218
230
  #ifdef ONIG_ENC_REGISTER
219
231
  extern int ONIG_ENC_REGISTER(const char *, OnigEncoding);
220
- #define OnigEncodingName(n) encoding_##n
221
- #define OnigEncodingDeclare(n) static const OnigEncodingType OnigEncodingName(n)
222
- #define OnigEncodingDefine(f,n) \
232
+ # define OnigEncodingName(n) encoding_##n
233
+ # define OnigEncodingDeclare(n) static const OnigEncodingType OnigEncodingName(n)
234
+ # define OnigEncodingDefine(f,n) \
223
235
  OnigEncodingDeclare(n); \
224
236
  void Init_##f(void) { \
225
237
  ONIG_ENC_REGISTER(OnigEncodingName(n).name, \
@@ -227,9 +239,9 @@ extern int ONIG_ENC_REGISTER(const char *, OnigEncoding);
227
239
  } \
228
240
  OnigEncodingDeclare(n)
229
241
  #else
230
- #define OnigEncodingName(n) OnigEncoding##n
231
- #define OnigEncodingDeclare(n) const OnigEncodingType OnigEncodingName(n)
232
- #define OnigEncodingDefine(f,n) OnigEncodingDeclare(n)
242
+ # define OnigEncodingName(n) OnigEncoding##n
243
+ # define OnigEncodingDeclare(n) const OnigEncodingType OnigEncodingName(n)
244
+ # define OnigEncodingDefine(f,n) OnigEncodingDeclare(n)
233
245
  #endif
234
246
 
235
247
  /* macros for define replica encoding and encoding alias */
@@ -239,4 +251,4 @@ extern int ONIG_ENC_REGISTER(const char *, OnigEncoding);
239
251
 
240
252
  RUBY_SYMBOL_EXPORT_END
241
253
 
242
- #endif /* ONIGURUMA_REGENC_H */
254
+ #endif /* ONIGMO_REGENC_H */
@@ -1,11 +1,11 @@
1
- #ifndef ONIGURUMA_REGINT_H
2
- #define ONIGURUMA_REGINT_H
1
+ #ifndef ONIGMO_REGINT_H
2
+ #define ONIGMO_REGINT_H
3
3
  /**********************************************************************
4
4
  regint.h - Onigmo (Oniguruma-mod) (regular expression library)
5
5
  **********************************************************************/
6
6
  /*-
7
7
  * Copyright (c) 2002-2013 K.Kosako <sndgk393 AT ybb DOT ne DOT jp>
8
- * Copyright (c) 2011-2014 K.Takata <kentkt AT csc DOT jp>
8
+ * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp>
9
9
  * All rights reserved.
10
10
  *
11
11
  * Redistribution and use in source and binary forms, with or without
@@ -35,6 +35,7 @@
35
35
  /* #define ONIG_DEBUG_COMPILE */
36
36
  /* #define ONIG_DEBUG_SEARCH */
37
37
  /* #define ONIG_DEBUG_MATCH */
38
+ /* #define ONIG_DEBUG_MEMLEAK */
38
39
  /* #define ONIG_DONT_OPTIMIZE */
39
40
 
40
41
  /* for byte-code statistical data. */
@@ -42,25 +43,25 @@
42
43
 
43
44
  #if defined(ONIG_DEBUG_PARSE_TREE) || defined(ONIG_DEBUG_MATCH) || \
44
45
  defined(ONIG_DEBUG_SEARCH) || defined(ONIG_DEBUG_COMPILE) || \
45
- defined(ONIG_DEBUG_STATISTICS)
46
- #ifndef ONIG_DEBUG
47
- #define ONIG_DEBUG
48
- #endif
46
+ defined(ONIG_DEBUG_STATISTICS) || defined(ONIG_DEBUG_MEMLEAK)
47
+ # ifndef ONIG_DEBUG
48
+ # define ONIG_DEBUG
49
+ # endif
49
50
  #endif
50
51
 
51
52
  #ifndef UNALIGNED_WORD_ACCESS
52
- #if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
53
- defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || \
54
- defined(__powerpc64__) || \
55
- defined(__mc68020__)
56
- #define UNALIGNED_WORD_ACCESS 1
57
- #else
58
- #define UNALIGNED_WORD_ACCESS 0
59
- #endif
53
+ # if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
54
+ defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || \
55
+ defined(__powerpc64__) || \
56
+ defined(__mc68020__)
57
+ # define UNALIGNED_WORD_ACCESS 1
58
+ # else
59
+ # define UNALIGNED_WORD_ACCESS 0
60
+ # endif
60
61
  #endif
61
62
 
62
63
  #if UNALIGNED_WORD_ACCESS
63
- #define PLATFORM_UNALIGNED_WORD_ACCESS
64
+ # define PLATFORM_UNALIGNED_WORD_ACCESS
64
65
  #endif
65
66
 
66
67
  /* config */
@@ -73,213 +74,165 @@
73
74
  #define USE_MONOMANIAC_CHECK_CAPTURES_IN_ENDLESS_REPEAT /* /(?:()|())*\2/ */
74
75
  #define USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE /* /\n$/ =~ "\n" */
75
76
  #define USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR
76
- /* #define USE_RECOMPILE_API */
77
77
  /* !!! moved to regenc.h. */ /* #define USE_CRNL_AS_LINE_TERMINATOR */
78
78
  #define USE_NO_INVALID_QUANTIFIER
79
79
 
80
80
  /* internal config */
81
- #define USE_PARSE_TREE_NODE_RECYCLE
82
- #define USE_OP_PUSH_OR_JUMP_EXACT
81
+ /* #define USE_OP_PUSH_OR_JUMP_EXACT */
83
82
  #define USE_QTFR_PEEK_NEXT
84
83
  #define USE_ST_LIBRARY
85
- #define USE_SHARED_CCLASS_TABLE
86
84
  #define USE_SUNDAY_QUICK_SEARCH
87
85
 
88
86
  #define INIT_MATCH_STACK_SIZE 160
89
87
  #define DEFAULT_MATCH_STACK_LIMIT_SIZE 0 /* unlimited */
88
+ #define DEFAULT_PARSE_DEPTH_LIMIT 4096
89
+
90
+ #define OPT_EXACT_MAXLEN 24
90
91
 
91
92
  /* check config */
92
93
  #if defined(USE_PERL_SUBEXP_CALL) || defined(USE_CAPITAL_P_NAMED_GROUP)
93
- #if !defined(USE_NAMED_GROUP) || !defined(USE_SUBEXP_CALL)
94
- #error USE_NAMED_GROUP and USE_SUBEXP_CALL must be defined.
95
- #endif
94
+ # if !defined(USE_NAMED_GROUP) || !defined(USE_SUBEXP_CALL)
95
+ # error USE_NAMED_GROUP and USE_SUBEXP_CALL must be defined.
96
+ # endif
96
97
  #endif
97
98
 
98
99
  #if defined(__GNUC__)
99
- # define ARG_UNUSED __attribute__ ((unused))
100
+ # define ARG_UNUSED __attribute__ ((unused))
100
101
  #else
101
- # define ARG_UNUSED
102
+ # define ARG_UNUSED
102
103
  #endif
103
104
 
104
- #ifndef RUBY_DEFINES_H
105
- #include "ruby/ruby.h"
106
- #undef xmalloc
107
- #undef xrealloc
108
- #undef xcalloc
109
- #undef xfree
105
+ #if !defined(RUBY) && defined(RUBY_EXPORT)
106
+ # define RUBY
110
107
  #endif
108
+ #ifdef RUBY
109
+ # ifndef RUBY_DEFINES_H
110
+ # include "ruby/ruby.h"
111
+ # undef xmalloc
112
+ # undef xrealloc
113
+ # undef xcalloc
114
+ # undef xfree
115
+ # endif
116
+ #else /* RUBY */
117
+ # include "config.h"
118
+ # if SIZEOF_LONG_LONG > 0
119
+ # define LONG_LONG long long
120
+ # endif
121
+ #endif /* RUBY */
122
+
123
+ #include <stdarg.h>
111
124
 
112
125
  /* */
113
126
  /* escape other system UChar definition */
114
127
  #ifdef ONIG_ESCAPE_UCHAR_COLLISION
115
- #undef ONIG_ESCAPE_UCHAR_COLLISION
128
+ # undef ONIG_ESCAPE_UCHAR_COLLISION
116
129
  #endif
117
130
 
118
131
  #define USE_WORD_BEGIN_END /* "\<": word-begin, "\>": word-end */
119
- #undef USE_CAPTURE_HISTORY
132
+ #ifdef RUBY
133
+ # undef USE_CAPTURE_HISTORY
134
+ #else
135
+ # define USE_CAPTURE_HISTORY
136
+ #endif
120
137
  #define USE_VARIABLE_META_CHARS
121
- #define USE_POSIX_API_REGION_OPTION /* needed for POSIX API support */
122
138
  #define USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
123
139
  /* #define USE_COMBINATION_EXPLOSION_CHECK */ /* (X*)* */
124
140
 
125
- /* multithread config */
126
- /* #define USE_MULTI_THREAD_SYSTEM */
127
- /* #define USE_DEFAULT_MULTI_THREAD_SYSTEM */
128
-
129
- #if defined(USE_MULTI_THREAD_SYSTEM) \
130
- && defined(USE_DEFAULT_MULTI_THREAD_SYSTEM)
131
-
132
- #ifdef _WIN32
133
- #define WIN32_LEAN_AND_MEAN
134
- #include <windows.h>
135
- extern CRITICAL_SECTION gOnigMutex;
136
- #define THREAD_SYSTEM_INIT InitializeCriticalSection(&gOnigMutex)
137
- #define THREAD_SYSTEM_END DeleteCriticalSection(&gOnigMutex)
138
- #define THREAD_ATOMIC_START EnterCriticalSection(&gOnigMutex)
139
- #define THREAD_ATOMIC_END LeaveCriticalSection(&gOnigMutex)
140
- #define THREAD_PASS Sleep(0)
141
- #else /* _WIN32 */
142
- #include <pthread.h>
143
- #include <sched.h>
144
- extern pthread_mutex_t gOnigMutex;
145
- #define THREAD_SYSTEM_INIT pthread_mutex_init(&gOnigMutex, NULL)
146
- #define THREAD_SYSTEM_END pthread_mutex_destroy(&gOnigMutex)
147
- #define THREAD_ATOMIC_START pthread_mutex_lock(&gOnigMutex)
148
- #define THREAD_ATOMIC_END pthread_mutex_unlock(&gOnigMutex)
149
- #define THREAD_PASS sched_yield()
150
- #endif /* _WIN32 */
151
-
152
- #else /* USE_DEFAULT_MULTI_THREAD_SYSTEM */
153
-
154
- #ifndef THREAD_SYSTEM_INIT
155
- #define THREAD_SYSTEM_INIT /* depend on thread system */
156
- #endif
157
- #ifndef THREAD_SYSTEM_END
158
- #define THREAD_SYSTEM_END /* depend on thread system */
159
- #endif
160
- #ifndef THREAD_ATOMIC_START
161
- #define THREAD_ATOMIC_START /* depend on thread system */
162
- #endif
163
- #ifndef THREAD_ATOMIC_END
164
- #define THREAD_ATOMIC_END /* depend on thread system */
165
- #endif
166
- #ifndef THREAD_PASS
167
- #define THREAD_PASS /* depend on thread system */
168
- #endif
169
-
170
- #endif /* USE_DEFAULT_MULTI_THREAD_SYSTEM */
171
141
 
172
142
  #ifndef xmalloc
173
- #define xmalloc malloc
174
- #define xrealloc realloc
175
- #define xcalloc calloc
176
- #define xfree free
143
+ # define xmalloc malloc
144
+ # define xrealloc realloc
145
+ # define xcalloc calloc
146
+ # define xfree free
177
147
  #endif
178
148
 
179
149
  #ifdef RUBY
180
150
 
181
- #define CHECK_INTERRUPT_IN_MATCH_AT rb_thread_check_ints()
182
- #define onig_st_init_table st_init_table
183
- #define onig_st_init_table_with_size st_init_table_with_size
184
- #define onig_st_init_numtable st_init_numtable
185
- #define onig_st_init_numtable_with_size st_init_numtable_with_size
186
- #define onig_st_init_strtable st_init_strtable
187
- #define onig_st_init_strtable_with_size st_init_strtable_with_size
188
- #define onig_st_delete st_delete
189
- #define onig_st_delete_safe st_delete_safe
190
- #define onig_st_insert st_insert
191
- #define onig_st_lookup st_lookup
192
- #define onig_st_foreach st_foreach
193
- #define onig_st_add_direct st_add_direct
194
- #define onig_st_free_table st_free_table
195
- #define onig_st_cleanup_safe st_cleanup_safe
196
- #define onig_st_copy st_copy
197
- #define onig_st_nothing_key_clone st_nothing_key_clone
198
- #define onig_st_nothing_key_free st_nothing_key_free
199
- #define onig_st_is_member st_is_member
200
-
201
- #define USE_UPPER_CASE_TABLE
202
- #else
203
-
204
- #define CHECK_INTERRUPT_IN_MATCH_AT
205
-
206
- #define st_init_table onig_st_init_table
207
- #define st_init_table_with_size onig_st_init_table_with_size
208
- #define st_init_numtable onig_st_init_numtable
209
- #define st_init_numtable_with_size onig_st_init_numtable_with_size
210
- #define st_init_strtable onig_st_init_strtable
211
- #define st_init_strtable_with_size onig_st_init_strtable_with_size
212
- #define st_delete onig_st_delete
213
- #define st_delete_safe onig_st_delete_safe
214
- #define st_insert onig_st_insert
215
- #define st_lookup onig_st_lookup
216
- #define st_foreach onig_st_foreach
217
- #define st_add_direct onig_st_add_direct
218
- #define st_free_table onig_st_free_table
219
- #define st_cleanup_safe onig_st_cleanup_safe
220
- #define st_copy onig_st_copy
221
- #define st_nothing_key_clone onig_st_nothing_key_clone
222
- #define st_nothing_key_free onig_st_nothing_key_free
151
+ # define CHECK_INTERRUPT_IN_MATCH_AT rb_thread_check_ints()
152
+ # define onig_st_init_table st_init_table
153
+ # define onig_st_init_table_with_size st_init_table_with_size
154
+ # define onig_st_init_numtable st_init_numtable
155
+ # define onig_st_init_numtable_with_size st_init_numtable_with_size
156
+ # define onig_st_init_strtable st_init_strtable
157
+ # define onig_st_init_strtable_with_size st_init_strtable_with_size
158
+ # define onig_st_delete st_delete
159
+ # define onig_st_delete_safe st_delete_safe
160
+ # define onig_st_insert st_insert
161
+ # define onig_st_lookup st_lookup
162
+ # define onig_st_foreach st_foreach
163
+ # define onig_st_add_direct st_add_direct
164
+ # define onig_st_free_table st_free_table
165
+ # define onig_st_cleanup_safe st_cleanup_safe
166
+ # define onig_st_copy st_copy
167
+ # define onig_st_nothing_key_clone st_nothing_key_clone
168
+ # define onig_st_nothing_key_free st_nothing_key_free
169
+ # define onig_st_is_member st_is_member
170
+
171
+ # define USE_UPPER_CASE_TABLE
172
+ #else /* RUBY */
173
+
174
+ # define CHECK_INTERRUPT_IN_MATCH_AT
175
+
176
+ # define st_init_table onig_st_init_table
177
+ # define st_init_table_with_size onig_st_init_table_with_size
178
+ # define st_init_numtable onig_st_init_numtable
179
+ # define st_init_numtable_with_size onig_st_init_numtable_with_size
180
+ # define st_init_strtable onig_st_init_strtable
181
+ # define st_init_strtable_with_size onig_st_init_strtable_with_size
182
+ # define st_delete onig_st_delete
183
+ # define st_delete_safe onig_st_delete_safe
184
+ # define st_insert onig_st_insert
185
+ # define st_lookup onig_st_lookup
186
+ # define st_foreach onig_st_foreach
187
+ # define st_add_direct onig_st_add_direct
188
+ # define st_free_table onig_st_free_table
189
+ # define st_cleanup_safe onig_st_cleanup_safe
190
+ # define st_copy onig_st_copy
191
+ # define st_nothing_key_clone onig_st_nothing_key_clone
192
+ # define st_nothing_key_free onig_st_nothing_key_free
223
193
  /* */
224
- #define onig_st_is_member st_is_member
194
+ # define onig_st_is_member st_is_member
225
195
 
226
- #endif
196
+ #endif /* RUBY */
227
197
 
228
198
  #define STATE_CHECK_STRING_THRESHOLD_LEN 7
229
199
  #define STATE_CHECK_BUFF_MAX_SIZE 0x4000
230
200
 
231
- #define THREAD_PASS_LIMIT_COUNT 8
232
201
  #define xmemset memset
233
202
  #define xmemcpy memcpy
234
203
  #define xmemmove memmove
235
204
 
236
- #if defined(_WIN32) && !defined(__GNUC__)
237
- #define xalloca _alloca
238
- #define xvsnprintf _vsnprintf
205
+ #if ((defined(RUBY_MSVCRT_VERSION) && RUBY_MSVCRT_VERSION >= 90) \
206
+ || (!defined(RUBY_MSVCRT_VERSION) && defined(_WIN32))) \
207
+ && !defined(__GNUC__)
208
+ # define xalloca _alloca
209
+ # define xvsnprintf(buf,size,fmt,args) _vsnprintf_s(buf,size,_TRUNCATE,fmt,args)
210
+ # define xsnprintf sprintf_s
211
+ # define xstrcat(dest,src,size) strcat_s(dest,size,src)
239
212
  #else
240
- #define xalloca alloca
241
- #define xvsnprintf vsnprintf
213
+ # define xalloca alloca
214
+ # define xvsnprintf vsnprintf
215
+ # define xsnprintf snprintf
216
+ # define xstrcat(dest,src,size) strcat(dest,src)
242
217
  #endif
243
218
 
219
+ #if defined(ONIG_DEBUG_MEMLEAK) && defined(_MSC_VER)
220
+ # define _CRTDBG_MAP_ALLOC
221
+ # include <malloc.h>
222
+ # include <crtdbg.h>
223
+ #endif
244
224
 
245
- #if defined(USE_RECOMPILE_API) && defined(USE_MULTI_THREAD_SYSTEM)
246
- #define ONIG_STATE_INC(reg) (reg)->state++
247
- #define ONIG_STATE_DEC(reg) (reg)->state--
248
-
249
- #define ONIG_STATE_INC_THREAD(reg) do {\
250
- THREAD_ATOMIC_START;\
251
- (reg)->state++;\
252
- THREAD_ATOMIC_END;\
253
- } while(0)
254
- #define ONIG_STATE_DEC_THREAD(reg) do {\
255
- THREAD_ATOMIC_START;\
256
- (reg)->state--;\
257
- THREAD_ATOMIC_END;\
258
- } while(0)
259
- #else
260
- #define ONIG_STATE_INC(reg) /* Nothing */
261
- #define ONIG_STATE_DEC(reg) /* Nothing */
262
- #define ONIG_STATE_INC_THREAD(reg) /* Nothing */
263
- #define ONIG_STATE_DEC_THREAD(reg) /* Nothing */
264
- #endif /* USE_RECOMPILE_API && USE_MULTI_THREAD_SYSTEM */
265
-
266
- #ifdef HAVE_STDLIB_H
267
225
  #include <stdlib.h>
268
- #endif
269
226
 
270
227
  #if defined(HAVE_ALLOCA_H) && (defined(_AIX) || !defined(__GNUC__))
271
- #include <alloca.h>
228
+ # include <alloca.h>
272
229
  #endif
273
230
 
274
- #ifdef HAVE_STRING_H
275
- # include <string.h>
276
- #else
277
- # include <strings.h>
278
- #endif
231
+ #include <string.h>
279
232
 
280
233
  #include <ctype.h>
281
234
  #ifdef HAVE_SYS_TYPES_H
282
- #include <sys/types.h>
235
+ # include <sys/types.h>
283
236
  #endif
284
237
 
285
238
  #ifdef HAVE_STDINT_H
@@ -290,12 +243,10 @@ extern pthread_mutex_t gOnigMutex;
290
243
  # include <inttypes.h>
291
244
  #endif
292
245
 
293
- #ifdef STDC_HEADERS
294
- # include <stddef.h>
295
- #endif
246
+ #include <stddef.h>
296
247
 
297
248
  #ifdef _WIN32
298
- #include <malloc.h> /* for alloca() */
249
+ # include <malloc.h> /* for alloca() */
299
250
  #endif
300
251
 
301
252
  #ifdef ONIG_DEBUG
@@ -303,28 +254,32 @@ extern pthread_mutex_t gOnigMutex;
303
254
  #endif
304
255
 
305
256
  #ifdef _WIN32
306
- #if defined(_MSC_VER) && (_MSC_VER < 1300)
307
- #ifndef _INTPTR_T_DEFINED
308
- #define _INTPTR_T_DEFINED
257
+ # if defined(_MSC_VER) && (_MSC_VER < 1300)
258
+ # ifndef _INTPTR_T_DEFINED
259
+ # define _INTPTR_T_DEFINED
309
260
  typedef int intptr_t;
310
- #endif
311
- #ifndef _UINTPTR_T_DEFINED
312
- #define _UINTPTR_T_DEFINED
261
+ # endif
262
+ # ifndef _UINTPTR_T_DEFINED
263
+ # define _UINTPTR_T_DEFINED
313
264
  typedef unsigned int uintptr_t;
314
- #endif
315
- #endif
265
+ # endif
266
+ # endif
316
267
  #endif /* _WIN32 */
317
268
 
318
269
  #ifndef PRIdPTR
319
- #ifdef _WIN64
320
- #define PRIdPTR "I64d"
321
- #define PRIuPTR "I64u"
322
- #define PRIxPTR "I64x"
323
- #else
324
- #define PRIdPTR "ld"
325
- #define PRIuPTR "lu"
326
- #define PRIxPTR "lx"
270
+ # ifdef _WIN64
271
+ # define PRIdPTR "I64d"
272
+ # define PRIuPTR "I64u"
273
+ # define PRIxPTR "I64x"
274
+ # else
275
+ # define PRIdPTR "ld"
276
+ # define PRIuPTR "lu"
277
+ # define PRIxPTR "lx"
278
+ # endif
327
279
  #endif
280
+
281
+ #ifndef PRIdPTRDIFF
282
+ # define PRIdPTRDIFF PRIdPTR
328
283
  #endif
329
284
 
330
285
  #include "regenc.h"
@@ -332,10 +287,10 @@ typedef unsigned int uintptr_t;
332
287
  RUBY_SYMBOL_EXPORT_BEGIN
333
288
 
334
289
  #ifdef MIN
335
- #undef MIN
290
+ # undef MIN
336
291
  #endif
337
292
  #ifdef MAX
338
- #undef MAX
293
+ # undef MAX
339
294
  #endif
340
295
  #define MIN(a,b) (((a)>(b))?(b):(a))
341
296
  #define MAX(a,b) (((a)<(b))?(b):(a))
@@ -350,28 +305,28 @@ RUBY_SYMBOL_EXPORT_BEGIN
350
305
 
351
306
  #ifdef PLATFORM_UNALIGNED_WORD_ACCESS
352
307
 
353
- #define PLATFORM_GET_INC(val,p,type) do{\
308
+ # define PLATFORM_GET_INC(val,p,type) do{\
354
309
  val = *(type* )p;\
355
310
  (p) += sizeof(type);\
356
311
  } while(0)
357
312
 
358
313
  #else
359
314
 
360
- #define PLATFORM_GET_INC(val,p,type) do{\
315
+ # define PLATFORM_GET_INC(val,p,type) do{\
361
316
  xmemcpy(&val, (p), sizeof(type));\
362
317
  (p) += sizeof(type);\
363
318
  } while(0)
364
319
 
365
320
  /* sizeof(OnigCodePoint) */
366
- #define WORD_ALIGNMENT_SIZE SIZEOF_LONG
321
+ # define WORD_ALIGNMENT_SIZE SIZEOF_LONG
367
322
 
368
- #define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\
323
+ # define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\
369
324
  (pad_size) = WORD_ALIGNMENT_SIZE \
370
325
  - ((uintptr_t )(addr) % WORD_ALIGNMENT_SIZE);\
371
326
  if ((pad_size) == WORD_ALIGNMENT_SIZE) (pad_size) = 0;\
372
327
  } while (0)
373
328
 
374
- #define ALIGNMENT_RIGHT(addr) do {\
329
+ # define ALIGNMENT_RIGHT(addr) do {\
375
330
  (addr) += (WORD_ALIGNMENT_SIZE - 1);\
376
331
  (addr) -= ((uintptr_t )(addr) % WORD_ALIGNMENT_SIZE);\
377
332
  } while (0)
@@ -435,7 +390,6 @@ typedef unsigned int BitStatusType;
435
390
  #define IS_NOTEOL(option) ((option) & ONIG_OPTION_NOTEOL)
436
391
  #define IS_NOTBOS(option) ((option) & ONIG_OPTION_NOTBOS)
437
392
  #define IS_NOTEOS(option) ((option) & ONIG_OPTION_NOTEOS)
438
- #define IS_POSIX_REGION(option) ((option) & ONIG_OPTION_POSIX_REGION)
439
393
  #define IS_ASCII_RANGE(option) ((option) & ONIG_OPTION_ASCII_RANGE)
440
394
  #define IS_POSIX_BRACKET_ALL_RANGE(option) ((option) & ONIG_OPTION_POSIX_BRACKET_ALL_RANGE)
441
395
  #define IS_WORD_BOUND_ALL_RANGE(option) ((option) & ONIG_OPTION_WORD_BOUND_ALL_RANGE)
@@ -618,7 +572,6 @@ enum OpCode {
618
572
  OP_CCLASS_NOT,
619
573
  OP_CCLASS_MB_NOT,
620
574
  OP_CCLASS_MIX_NOT,
621
- OP_CCLASS_NODE, /* pointer to CClassNode node */
622
575
 
623
576
  OP_ANYCHAR, /* "." */
624
577
  OP_ANYCHAR_ML, /* "." multi-line */
@@ -647,7 +600,6 @@ enum OpCode {
647
600
  OP_END_LINE,
648
601
  OP_SEMI_END_BUF,
649
602
  OP_BEGIN_POSITION,
650
- OP_BEGIN_POS_OR_LINE, /* used for implicit anchor optimization */
651
603
 
652
604
  OP_BACKREF1,
653
605
  OP_BACKREF2,
@@ -692,6 +644,9 @@ enum OpCode {
692
644
  OP_LOOK_BEHIND, /* (?<=...) start (no needs end opcode) */
693
645
  OP_PUSH_LOOK_BEHIND_NOT, /* (?<!...) start */
694
646
  OP_FAIL_LOOK_BEHIND_NOT, /* (?<!...) end */
647
+ OP_PUSH_ABSENT_POS, /* (?~...) start */
648
+ OP_ABSENT, /* (?~...) start of inner loop */
649
+ OP_ABSENT_END, /* (?~...) end */
695
650
 
696
651
  OP_CALL, /* \g<name> */
697
652
  OP_RETURN,
@@ -779,12 +734,15 @@ typedef void* PointerType;
779
734
  #define SIZE_OP_CALL (SIZE_OPCODE + SIZE_ABSADDR)
780
735
  #define SIZE_OP_RETURN SIZE_OPCODE
781
736
  #define SIZE_OP_CONDITION (SIZE_OPCODE + SIZE_MEMNUM + SIZE_RELADDR)
737
+ #define SIZE_OP_PUSH_ABSENT_POS SIZE_OPCODE
738
+ #define SIZE_OP_ABSENT (SIZE_OPCODE + SIZE_RELADDR)
739
+ #define SIZE_OP_ABSENT_END SIZE_OPCODE
782
740
 
783
741
  #ifdef USE_COMBINATION_EXPLOSION_CHECK
784
- #define SIZE_OP_STATE_CHECK (SIZE_OPCODE + SIZE_STATE_CHECK_NUM)
785
- #define SIZE_OP_STATE_CHECK_PUSH (SIZE_OPCODE + SIZE_STATE_CHECK_NUM + SIZE_RELADDR)
786
- #define SIZE_OP_STATE_CHECK_PUSH_OR_JUMP (SIZE_OPCODE + SIZE_STATE_CHECK_NUM + SIZE_RELADDR)
787
- #define SIZE_OP_STATE_CHECK_ANYCHAR_STAR (SIZE_OPCODE + SIZE_STATE_CHECK_NUM)
742
+ # define SIZE_OP_STATE_CHECK (SIZE_OPCODE + SIZE_STATE_CHECK_NUM)
743
+ # define SIZE_OP_STATE_CHECK_PUSH (SIZE_OPCODE + SIZE_STATE_CHECK_NUM + SIZE_RELADDR)
744
+ # define SIZE_OP_STATE_CHECK_PUSH_OR_JUMP (SIZE_OPCODE + SIZE_STATE_CHECK_NUM + SIZE_RELADDR)
745
+ # define SIZE_OP_STATE_CHECK_ANYCHAR_STAR (SIZE_OPCODE + SIZE_STATE_CHECK_NUM)
788
746
  #endif
789
747
 
790
748
  #define MC_ESC(syn) (syn)->meta_char_table.esc
@@ -832,13 +790,10 @@ typedef void* PointerType;
832
790
 
833
791
  /* cclass node */
834
792
  #define FLAG_NCCLASS_NOT (1<<0)
835
- #define FLAG_NCCLASS_SHARE (1<<1)
836
793
 
837
794
  #define NCCLASS_SET_NOT(nd) NCCLASS_FLAG_SET(nd, FLAG_NCCLASS_NOT)
838
- #define NCCLASS_SET_SHARE(nd) NCCLASS_FLAG_SET(nd, FLAG_NCCLASS_SHARE)
839
795
  #define NCCLASS_CLEAR_NOT(nd) NCCLASS_FLAG_CLEAR(nd, FLAG_NCCLASS_NOT)
840
796
  #define IS_NCCLASS_NOT(nd) IS_NCCLASS_FLAG_ON(nd, FLAG_NCCLASS_NOT)
841
- #define IS_NCCLASS_SHARE(nd) IS_NCCLASS_FLAG_ON(nd, FLAG_NCCLASS_SHARE)
842
797
 
843
798
  typedef struct {
844
799
  int type;
@@ -893,6 +848,10 @@ typedef struct _OnigStackType {
893
848
  UChar *pstr; /* string position */
894
849
  } call_frame;
895
850
  #endif
851
+ struct {
852
+ UChar *abs_pstr; /* absent start position */
853
+ const UChar *end_pstr; /* end position */
854
+ } absent_pos;
896
855
  } u;
897
856
  } OnigStackType;
898
857
 
@@ -936,60 +895,44 @@ typedef struct {
936
895
  extern OnigOpInfoType OnigOpInfo[];
937
896
 
938
897
 
939
- extern void onig_print_compiled_byte_code P_((FILE* f, UChar* bp, UChar* bpend, UChar** nextp, OnigEncoding enc));
898
+ extern void onig_print_compiled_byte_code(FILE* f, UChar* bp, UChar* bpend, UChar** nextp, OnigEncoding enc);
940
899
 
941
- #ifdef ONIG_DEBUG_STATISTICS
942
- extern void onig_statistics_init P_((void));
943
- extern void onig_print_statistics P_((FILE* f));
944
- #endif
900
+ # ifdef ONIG_DEBUG_STATISTICS
901
+ extern void onig_statistics_init(void);
902
+ extern void onig_print_statistics(FILE* f);
903
+ # endif
945
904
  #endif
946
905
 
947
- extern UChar* onig_error_code_to_format P_((OnigPosition code));
948
- extern void onig_snprintf_with_pattern PV_((UChar buf[], int bufsize, OnigEncoding enc, UChar* pat, UChar* pat_end, const UChar *fmt, ...));
949
- extern int onig_bbuf_init P_((BBuf* buf, OnigDistance size));
950
- extern int onig_compile P_((regex_t* reg, const UChar* pattern, const UChar* pattern_end, OnigErrorInfo* einfo, const char *sourcefile, int sourceline));
951
- extern void onig_chain_reduce P_((regex_t* reg));
952
- extern void onig_chain_link_add P_((regex_t* to, regex_t* add));
953
- extern void onig_transfer P_((regex_t* to, regex_t* from));
954
- extern int onig_is_code_in_cc P_((OnigEncoding enc, OnigCodePoint code, CClassNode* cc));
955
- extern int onig_is_code_in_cc_len P_((int enclen, OnigCodePoint code, CClassNode* cc));
906
+ extern UChar* onig_error_code_to_format(OnigPosition code);
907
+ extern void onig_vsnprintf_with_pattern(UChar buf[], int bufsize, OnigEncoding enc, UChar* pat, UChar* pat_end, const UChar *fmt, va_list args);
908
+ extern void onig_snprintf_with_pattern(UChar buf[], int bufsize, OnigEncoding enc, UChar* pat, UChar* pat_end, const UChar *fmt, ...);
909
+ extern int onig_bbuf_init(BBuf* buf, OnigDistance size);
910
+ extern int onig_compile(regex_t* reg, const UChar* pattern, const UChar* pattern_end, OnigErrorInfo* einfo);
911
+ #ifdef RUBY
912
+ extern int onig_compile_ruby(regex_t* reg, const UChar* pattern, const UChar* pattern_end, OnigErrorInfo* einfo, const char *sourcefile, int sourceline);
913
+ #endif
914
+ extern void onig_transfer(regex_t* to, regex_t* from);
915
+ extern int onig_is_code_in_cc(OnigEncoding enc, OnigCodePoint code, CClassNode* cc);
916
+ extern int onig_is_code_in_cc_len(int enclen, OnigCodePoint code, CClassNode* cc);
956
917
 
957
918
  /* strend hash */
958
919
  typedef void hash_table_type;
959
920
  #ifdef RUBY
960
- #include "ruby/st.h"
961
- typedef st_data_t hash_data_type;
921
+ # include "ruby/st.h"
962
922
  #else
963
- #include "st.h"
964
- typedef uintptr_t hash_data_type;
923
+ # include "st.h"
965
924
  #endif
925
+ typedef st_data_t hash_data_type;
966
926
 
967
- extern hash_table_type* onig_st_init_strend_table_with_size P_((st_index_t size));
968
- extern int onig_st_lookup_strend P_((hash_table_type* table, const UChar* str_key, const UChar* end_key, hash_data_type *value));
969
- extern int onig_st_insert_strend P_((hash_table_type* table, const UChar* str_key, const UChar* end_key, hash_data_type value));
970
-
971
- /* encoding property management */
972
- #define PROPERTY_LIST_ADD_PROP(Name, CR) \
973
- r = onigenc_property_list_add_property((UChar* )Name, CR,\
974
- &PropertyNameTable, &PropertyList, &PropertyListNum,\
975
- &PropertyListSize);\
976
- if (r != 0) goto end
977
-
978
- #define PROPERTY_LIST_INIT_CHECK \
979
- if (PropertyInited == 0) {\
980
- int r = onigenc_property_list_init(init_property_list);\
981
- if (r != 0) return r;\
982
- }
983
-
984
- extern int onigenc_property_list_add_property P_((UChar* name, const OnigCodePoint* prop, hash_table_type **table, const OnigCodePoint*** plist, int *pnum, int *psize));
985
-
986
- typedef int (*ONIGENC_INIT_PROPERTY_LIST_FUNC_TYPE)(void);
987
-
988
- extern int onigenc_property_list_init P_((ONIGENC_INIT_PROPERTY_LIST_FUNC_TYPE));
927
+ extern hash_table_type* onig_st_init_strend_table_with_size(st_index_t size);
928
+ extern int onig_st_lookup_strend(hash_table_type* table, const UChar* str_key, const UChar* end_key, hash_data_type *value);
929
+ extern int onig_st_insert_strend(hash_table_type* table, const UChar* str_key, const UChar* end_key, hash_data_type value);
989
930
 
990
- extern size_t onig_memsize P_((const regex_t *reg));
991
- extern size_t onig_region_memsize P_((const struct re_registers *regs));
931
+ #ifdef RUBY
932
+ extern size_t onig_memsize(const regex_t *reg);
933
+ extern size_t onig_region_memsize(const struct re_registers *regs);
934
+ #endif
992
935
 
993
936
  RUBY_SYMBOL_EXPORT_END
994
937
 
995
- #endif /* ONIGURUMA_REGINT_H */
938
+ #endif /* ONIGMO_REGINT_H */