esruby 0.0.0 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (385) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +6 -6
  3. data/bin/esruby +9 -0
  4. data/lib/esruby.rb +8 -0
  5. data/resources/mruby/build_config.rb +0 -1
  6. data/resources/mruby/mrbgems/mruby-print/mrblib/print.rb +1 -1
  7. data/resources/project_template/app/app.rb +2 -0
  8. data/resources/project_template/config.rb +35 -0
  9. data/resources/project_template/www/index.html +17 -0
  10. metadata +6 -377
  11. data/resources/mruby/bin/mirb +0 -0
  12. data/resources/mruby/bin/mrbc +0 -0
  13. data/resources/mruby/bin/mruby +0 -0
  14. data/resources/mruby/bin/mruby-strip +0 -0
  15. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/README.md +0 -82
  16. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/mrbgem.rake +0 -63
  17. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/mrblib/regexp_pcre.rb +0 -232
  18. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/mrblib/string_pcre.rb +0 -333
  19. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/132html +0 -313
  20. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/AUTHORS +0 -45
  21. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/CMakeLists.txt +0 -959
  22. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/COPYING +0 -5
  23. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/ChangeLog +0 -4981
  24. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/CheckMan +0 -67
  25. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/CleanTxt +0 -113
  26. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/Detrail +0 -35
  27. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/HACKING +0 -473
  28. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/INSTALL +0 -370
  29. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/LICENCE +0 -92
  30. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/Makefile.am +0 -877
  31. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/Makefile.in +0 -2917
  32. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/NEWS +0 -611
  33. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/NON-AUTOTOOLS-BUILD +0 -639
  34. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/NON-UNIX-USE +0 -7
  35. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/PrepareRelease +0 -253
  36. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/README +0 -935
  37. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/RunGrepTest +0 -551
  38. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/RunTest +0 -1015
  39. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/RunTest.bat +0 -616
  40. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/aclocal.m4 +0 -1230
  41. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/autom4te.cache/output.0 +0 -21280
  42. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/autom4te.cache/output.1 +0 -21280
  43. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/autom4te.cache/requests +0 -273
  44. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/autom4te.cache/traces.0 +0 -2421
  45. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/autom4te.cache/traces.1 +0 -1144
  46. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/cmake/COPYING-CMAKE-SCRIPTS +0 -22
  47. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/cmake/FindEditline.cmake +0 -17
  48. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/cmake/FindPackageHandleStandardArgs.cmake +0 -58
  49. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/cmake/FindReadline.cmake +0 -29
  50. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/compile +0 -343
  51. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/config-cmake.h.in +0 -54
  52. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/config.guess +0 -1552
  53. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/config.h +0 -392
  54. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/config.h.generic +0 -392
  55. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/config.h.in +0 -343
  56. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/config.sub +0 -1804
  57. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/configure +0 -21280
  58. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/configure.ac +0 -1082
  59. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/depcomp +0 -708
  60. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/dftables.c +0 -212
  61. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/index.html +0 -180
  62. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre-config.html +0 -109
  63. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre.html +0 -204
  64. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre16.html +0 -383
  65. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_assign_jit_stack.html +0 -76
  66. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_compile.html +0 -108
  67. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_compile2.html +0 -112
  68. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_config.html +0 -91
  69. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_copy_named_substring.html +0 -65
  70. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_copy_substring.html +0 -61
  71. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_dfa_exec.html +0 -128
  72. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_exec.html +0 -110
  73. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_free_study.html +0 -46
  74. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_free_substring.html +0 -46
  75. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_free_substring_list.html +0 -46
  76. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_fullinfo.html +0 -108
  77. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_get_named_substring.html +0 -68
  78. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_get_stringnumber.html +0 -57
  79. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_get_stringtable_entries.html +0 -60
  80. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_get_substring.html +0 -64
  81. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_get_substring_list.html +0 -61
  82. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_jit_exec.html +0 -108
  83. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_jit_stack_alloc.html +0 -55
  84. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_jit_stack_free.html +0 -48
  85. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_maketables.html +0 -48
  86. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_pattern_to_host_byte_order.html +0 -58
  87. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_refcount.html +0 -51
  88. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_study.html +0 -68
  89. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_utf16_to_host_byte_order.html +0 -57
  90. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_version.html +0 -46
  91. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcreapi.html +0 -2786
  92. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrebuild.html +0 -517
  93. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrecallout.html +0 -243
  94. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrecompat.html +0 -216
  95. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrecpp.html +0 -368
  96. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcredemo.html +0 -426
  97. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcregrep.html +0 -757
  98. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrejit.html +0 -458
  99. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrelimits.html +0 -86
  100. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrematching.html +0 -233
  101. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrepartial.html +0 -474
  102. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrepattern.html +0 -2953
  103. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcreperform.html +0 -195
  104. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcreposix.html +0 -292
  105. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcreprecompile.html +0 -158
  106. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcresample.html +0 -110
  107. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrestack.html +0 -225
  108. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcresyntax.html +0 -521
  109. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcretest.html +0 -1082
  110. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcreunicode.html +0 -270
  111. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/index.html.src +0 -180
  112. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre-config.1 +0 -92
  113. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre-config.txt +0 -86
  114. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre.3 +0 -202
  115. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre.txt +0 -9909
  116. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre16.3 +0 -390
  117. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre32.3 +0 -389
  118. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_assign_jit_stack.3 +0 -61
  119. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_compile.3 +0 -98
  120. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_compile2.3 +0 -106
  121. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_config.3 +0 -76
  122. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_copy_named_substring.3 +0 -59
  123. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_copy_substring.3 +0 -52
  124. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_dfa_exec.3 +0 -125
  125. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_exec.3 +0 -103
  126. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_free_study.3 +0 -31
  127. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_free_substring.3 +0 -31
  128. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_free_substring_list.3 +0 -31
  129. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_fullinfo.3 +0 -95
  130. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_get_named_substring.3 +0 -62
  131. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_get_stringnumber.3 +0 -45
  132. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_get_stringtable_entries.3 +0 -48
  133. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_get_substring.3 +0 -55
  134. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_get_substring_list.3 +0 -49
  135. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_jit_exec.3 +0 -104
  136. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_jit_stack_alloc.3 +0 -45
  137. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_jit_stack_free.3 +0 -35
  138. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_maketables.3 +0 -33
  139. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_pattern_to_host_byte_order.3 +0 -46
  140. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_refcount.3 +0 -36
  141. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_study.3 +0 -56
  142. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_utf16_to_host_byte_order.3 +0 -46
  143. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_utf32_to_host_byte_order.3 +0 -46
  144. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_version.3 +0 -31
  145. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcreapi.3 +0 -2823
  146. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrebuild.3 +0 -520
  147. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrecallout.3 +0 -214
  148. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrecompat.3 +0 -185
  149. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrecpp.3 +0 -348
  150. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcregrep.1 +0 -679
  151. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcregrep.txt +0 -740
  152. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrejit.3 +0 -437
  153. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrelimits.3 +0 -67
  154. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrematching.3 +0 -206
  155. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrepartial.3 +0 -445
  156. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrepattern.3 +0 -2983
  157. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcreperform.3 +0 -177
  158. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcreposix.3 +0 -270
  159. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcreprecompile.3 +0 -151
  160. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcresample.3 +0 -99
  161. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrestack.3 +0 -215
  162. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcresyntax.3 +0 -496
  163. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcretest.1 +0 -1079
  164. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcretest.txt +0 -1012
  165. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcreunicode.3 +0 -255
  166. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/perltest.txt +0 -42
  167. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/install-sh +0 -527
  168. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/libpcre.pc.in +0 -12
  169. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/libpcre16.pc.in +0 -12
  170. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/libpcre32.pc.in +0 -12
  171. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/libpcrecpp.pc.in +0 -12
  172. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/libpcreposix.pc.in +0 -13
  173. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/ltmain.sh +0 -9636
  174. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/ax_pthread.m4 +0 -309
  175. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/libtool.m4 +0 -7844
  176. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/ltoptions.m4 +0 -369
  177. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/ltsugar.m4 +0 -123
  178. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/ltversion.m4 +0 -23
  179. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/lt~obsolete.m4 +0 -98
  180. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/pcre_visibility.m4 +0 -89
  181. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/makevp.bat +0 -66
  182. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/makevp_c.txt +0 -20
  183. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/makevp_l.txt +0 -20
  184. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/missing +0 -331
  185. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre-config.in +0 -133
  186. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre.h +0 -653
  187. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre.h.generic +0 -653
  188. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre.h.in +0 -653
  189. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_byte_order.c +0 -45
  190. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_chartables.c +0 -45
  191. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_compile.c +0 -45
  192. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_config.c +0 -45
  193. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_dfa_exec.c +0 -45
  194. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_exec.c +0 -45
  195. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_fullinfo.c +0 -45
  196. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_get.c +0 -45
  197. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_globals.c +0 -45
  198. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_jit_compile.c +0 -45
  199. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_maketables.c +0 -45
  200. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_newline.c +0 -45
  201. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_ord2utf16.c +0 -90
  202. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_printint.c +0 -45
  203. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_refcount.c +0 -45
  204. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_string_utils.c +0 -45
  205. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_study.c +0 -45
  206. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_tables.c +0 -45
  207. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_ucd.c +0 -45
  208. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_utf16_utils.c +0 -130
  209. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_valid_utf16.c +0 -156
  210. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_version.c +0 -45
  211. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_xclass.c +0 -45
  212. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_byte_order.c +0 -45
  213. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_chartables.c +0 -45
  214. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_compile.c +0 -45
  215. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_config.c +0 -45
  216. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_dfa_exec.c +0 -45
  217. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_exec.c +0 -45
  218. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_fullinfo.c +0 -45
  219. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_get.c +0 -45
  220. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_globals.c +0 -45
  221. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_jit_compile.c +0 -45
  222. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_maketables.c +0 -45
  223. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_newline.c +0 -45
  224. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_ord2utf32.c +0 -82
  225. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_printint.c +0 -45
  226. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_refcount.c +0 -45
  227. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_string_utils.c +0 -45
  228. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_study.c +0 -45
  229. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_tables.c +0 -45
  230. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_ucd.c +0 -45
  231. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_utf32_utils.c +0 -141
  232. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_valid_utf32.c +0 -131
  233. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_version.c +0 -45
  234. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_xclass.c +0 -45
  235. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_byte_order.c +0 -318
  236. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_chartables.c +0 -198
  237. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_chartables.c.dist +0 -198
  238. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_compile.c +0 -8386
  239. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_config.c +0 -186
  240. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_dfa_exec.c +0 -3582
  241. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_exec.c +0 -7049
  242. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_fullinfo.c +0 -231
  243. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_get.c +0 -662
  244. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_globals.c +0 -84
  245. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_internal.h +0 -2744
  246. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_jit_compile.c +0 -8560
  247. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_jit_test.c +0 -1614
  248. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_maketables.c +0 -151
  249. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_newline.c +0 -210
  250. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_ord2utf8.c +0 -94
  251. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_printint.c +0 -766
  252. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_refcount.c +0 -92
  253. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_scanner.cc +0 -199
  254. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_scanner.h +0 -172
  255. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_scanner_unittest.cc +0 -159
  256. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_string_utils.c +0 -211
  257. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_stringpiece.cc +0 -43
  258. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_stringpiece.h.in +0 -179
  259. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_stringpiece_unittest.cc +0 -150
  260. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_study.c +0 -1562
  261. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_tables.c +0 -655
  262. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_ucd.c +0 -3298
  263. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_valid_utf8.c +0 -312
  264. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_version.c +0 -98
  265. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_xclass.c +0 -198
  266. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcrecpp.cc +0 -922
  267. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcrecpp.h +0 -710
  268. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcrecpp_internal.h +0 -71
  269. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcrecpp_unittest.cc +0 -1291
  270. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcrecpparg.h.in +0 -174
  271. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcredemo.c +0 -406
  272. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcregexp.pas +0 -845
  273. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcregrep.c +0 -3180
  274. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcreposix.c +0 -419
  275. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcreposix.h +0 -146
  276. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcretest.c +0 -5488
  277. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/perltest.pl +0 -237
  278. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitConfig.h +0 -110
  279. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitConfigInternal.h +0 -484
  280. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitExecAllocator.c +0 -289
  281. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitLir.c +0 -1766
  282. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitLir.h +0 -985
  283. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeARM_Thumb2.c +0 -2008
  284. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeARM_v5.c +0 -2515
  285. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeMIPS_32.c +0 -404
  286. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeMIPS_common.c +0 -1881
  287. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativePPC_32.c +0 -269
  288. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativePPC_64.c +0 -421
  289. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativePPC_common.c +0 -2014
  290. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeSPARC_32.c +0 -164
  291. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeSPARC_common.c +0 -1348
  292. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeX86_32.c +0 -547
  293. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeX86_64.c +0 -810
  294. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeX86_common.c +0 -2836
  295. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitUtils.c +0 -332
  296. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepbinary +0 -0
  297. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepfilelist +0 -3
  298. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepinput +0 -611
  299. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepinput3 +0 -15
  300. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepinput8 +0 -11
  301. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepinputv +0 -4
  302. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepinputx +0 -43
  303. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/greplist +0 -7
  304. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepoutput +0 -707
  305. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepoutput8 +0 -12
  306. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepoutputN +0 -17
  307. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/greppatN4 +0 -2
  308. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved16 +0 -0
  309. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved16BE-1 +0 -0
  310. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved16BE-2 +0 -0
  311. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved16LE-1 +0 -0
  312. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved16LE-2 +0 -0
  313. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved32 +0 -0
  314. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved32BE-1 +0 -0
  315. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved32BE-2 +0 -0
  316. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved32LE-1 +0 -0
  317. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved32LE-2 +0 -0
  318. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved8 +0 -0
  319. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput1 +0 -5306
  320. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput10 +0 -1337
  321. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput11 +0 -135
  322. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput12 +0 -89
  323. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput13 +0 -9
  324. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput14 +0 -329
  325. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput15 +0 -430
  326. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput16 +0 -35
  327. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput17 +0 -296
  328. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput18 +0 -296
  329. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput19 +0 -22
  330. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput2 +0 -3813
  331. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput20 +0 -19
  332. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput21 +0 -16
  333. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput22 +0 -13
  334. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput23 +0 -16
  335. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput24 +0 -77
  336. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput25 +0 -32
  337. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput26 +0 -80
  338. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput3 +0 -95
  339. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput4 +0 -624
  340. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput5 +0 -772
  341. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput6 +0 -1319
  342. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput7 +0 -672
  343. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput8 +0 -4801
  344. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput9 +0 -717
  345. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinputEBC +0 -121
  346. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput1 +0 -8798
  347. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput10 +0 -2726
  348. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput11-16 +0 -713
  349. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput11-32 +0 -713
  350. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput11-8 +0 -713
  351. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput12 +0 -181
  352. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput13 +0 -21
  353. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput14 +0 -476
  354. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput15 +0 -1269
  355. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput16 +0 -121
  356. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput17 +0 -505
  357. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput18-16 +0 -1022
  358. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput18-32 +0 -1019
  359. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput19 +0 -88
  360. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput2 +0 -12484
  361. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput20 +0 -27
  362. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput21-16 +0 -90
  363. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput21-32 +0 -90
  364. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput22-16 +0 -71
  365. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput22-32 +0 -71
  366. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput23 +0 -42
  367. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput24 +0 -145
  368. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput25 +0 -79
  369. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput26 +0 -148
  370. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput3 +0 -169
  371. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput4 +0 -1094
  372. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput5 +0 -1849
  373. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput6 +0 -2137
  374. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput7 +0 -1473
  375. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput8 +0 -8019
  376. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput9 +0 -1371
  377. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutputEBC +0 -182
  378. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/wintestinput3 +0 -91
  379. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/wintestoutput3 +0 -166
  380. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/ucp.h +0 -197
  381. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/run_test.rb +0 -23
  382. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/src/mruby_regexp_pcre.c +0 -364
  383. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/test/matchdata.rb +0 -94
  384. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/test/regexp.rb +0 -264
  385. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/test/string.rb +0 -201
@@ -1,67 +0,0 @@
1
- #! /usr/bin/perl
2
-
3
- # A script to scan PCRE's man pages to check for typos in the control
4
- # sequences. I use only a small set of the available repertoire, so it is
5
- # straightforward to check that nothing else has slipped in by mistake. This
6
- # script should be called in the doc directory.
7
-
8
- $yield = 0;
9
-
10
- while (scalar(@ARGV) > 0)
11
- {
12
- $line = 0;
13
- $file = shift @ARGV;
14
-
15
- open (IN, $file) || die "Failed to open $file\n";
16
-
17
- while (<IN>)
18
- {
19
- $line++;
20
- if (/^\s*$/)
21
- {
22
- printf "Empty line $line of $file\n";
23
- $yield = 1;
24
- }
25
- elsif (/^\./)
26
- {
27
- if (!/^\.\s*$|
28
- ^\.B\s+\S|
29
- ^\.TH\s\S|
30
- ^\.SH\s\S|
31
- ^\.SS\s\S|
32
- ^\.TP(?:\s\d+)?\s*$|
33
- ^\.ti\s\S|
34
- ^\.SM\s*$|
35
- ^\.rs\s*$|
36
- ^\.sp\s*$|
37
- ^\.nf\s*$|
38
- ^\.fi\s*$|
39
- ^\.P\s*$|
40
- ^\.PP\s*$|
41
- ^\.\\"(?:\ HREF)?\s*$|
42
- ^\.\\"\sHTML\s<a\shref="[^"]+?">\s*$|
43
- ^\.\\"\sHTML\s<a\sname="[^"]+?"><\/a>\s*$|
44
- ^\.\\"\s<\/a>\s*$|
45
- ^\.\\"\sJOINSH\s*$|
46
- ^\.\\"\sJOIN\s*$/x
47
- )
48
- {
49
- printf "Bad control line $line of $file\n";
50
- $yield = 1;
51
- }
52
- }
53
- else
54
- {
55
- if (/\\[^ef]|\\f[^IBP]/)
56
- {
57
- printf "Bad backslash in line $line of $file\n";
58
- $yield = 1;
59
- }
60
- }
61
- }
62
-
63
- close(IN);
64
- }
65
-
66
- exit $yield;
67
- # End
@@ -1,113 +0,0 @@
1
- #! /usr/bin/perl -w
2
-
3
- # Script to take the output of nroff -man and remove all the backspacing and
4
- # the page footers and the screen commands etc so that it is more usefully
5
- # readable online. In fact, in the latest nroff, intermediate footers don't
6
- # seem to be generated any more.
7
-
8
- $blankcount = 0;
9
- $lastwascut = 0;
10
- $firstheader = 1;
11
-
12
- # Input on STDIN; output to STDOUT.
13
-
14
- while (<STDIN>)
15
- {
16
- s/\x1b\[\d+m//g; # Remove screen controls "ESC [ number m"
17
- s/.\x8//g; # Remove "char, backspace"
18
-
19
- # Handle header lines. Retain only the first one we encounter, but remove
20
- # the blank line that follows. Any others (e.g. at end of document) and the
21
- # following blank line are dropped.
22
-
23
- if (/^PCRE(\w*)\(([13])\)\s+PCRE\1\(\2\)$/)
24
- {
25
- if ($firstheader)
26
- {
27
- $firstheader = 0;
28
- print;
29
- $lastprinted = $_;
30
- $lastwascut = 0;
31
- }
32
- $_=<STDIN>; # Remove a blank that follows
33
- next;
34
- }
35
-
36
- # Count runs of empty lines
37
-
38
- if (/^\s*$/)
39
- {
40
- $blankcount++;
41
- $lastwascut = 0;
42
- next;
43
- }
44
-
45
- # If a chunk of lines has been cut out (page footer) and the next line
46
- # has a different indentation, put back one blank line.
47
-
48
- if ($lastwascut && $blankcount < 1 && defined($lastprinted))
49
- {
50
- ($a) = $lastprinted =~ /^(\s*)/;
51
- ($b) = $_ =~ /^(\s*)/;
52
- $blankcount++ if ($a ne $b);
53
- }
54
-
55
- # We get here only when we have a non-blank line in hand. If it was preceded
56
- # by 3 or more blank lines, read the next 3 lines and see if they are blank.
57
- # If so, remove all 7 lines, and remember that we have just done a cut.
58
-
59
- if ($blankcount >= 3)
60
- {
61
- for ($i = 0; $i < 3; $i++)
62
- {
63
- $next[$i] = <STDIN>;
64
- $next[$i] = "" if !defined $next[$i];
65
- $next[$i] =~ s/\x1b\[\d+m//g; # Remove screen controls "ESC [ number m"
66
- $next[$i] =~ s/.\x8//g; # Remove "char, backspace"
67
- }
68
-
69
- # Cut out chunks of the form <3 blanks><non-blank><3 blanks>
70
-
71
- if ($next[0] =~ /^\s*$/ &&
72
- $next[1] =~ /^\s*$/ &&
73
- $next[2] =~ /^\s*$/)
74
- {
75
- $blankcount -= 3;
76
- $lastwascut = 1;
77
- }
78
-
79
- # Otherwise output the saved blanks, the current, and the next three
80
- # lines. Remember the last printed line.
81
-
82
- else
83
- {
84
- for ($i = 0; $i < $blankcount; $i++) { print "\n"; }
85
- print;
86
- for ($i = 0; $i < 3; $i++)
87
- {
88
- $next[$i] =~ s/.\x8//g;
89
- print $next[$i];
90
- $lastprinted = $_;
91
- }
92
- $lastwascut = 0;
93
- $blankcount = 0;
94
- }
95
- }
96
-
97
- # This non-blank line is not preceded by 3 or more blank lines. Output
98
- # any blanks there are, and the line. Remember it. Force two blank lines
99
- # before headings.
100
-
101
- else
102
- {
103
- $blankcount = 2 if /^\S/ && !/^Last updated/ && !/^Copyright/ &&
104
- defined($lastprinted);
105
- for ($i = 0; $i < $blankcount; $i++) { print "\n"; }
106
- print;
107
- $lastprinted = $_;
108
- $lastwascut = 0;
109
- $blankcount = 0;
110
- }
111
- }
112
-
113
- # End
@@ -1,35 +0,0 @@
1
- #!/usr/bin/perl
2
-
3
- # This is a script for removing trailing whitespace from lines in files that
4
- # are listed on the command line.
5
-
6
- # This subroutine does the work for one file.
7
-
8
- sub detrail {
9
- my($file) = $_[0];
10
- my($changed) = 0;
11
- open(IN, "$file") || die "Can't open $file for input";
12
- @lines = <IN>;
13
- close(IN);
14
- foreach (@lines)
15
- {
16
- if (/\s+\n$/)
17
- {
18
- s/\s+\n$/\n/;
19
- $changed = 1;
20
- }
21
- }
22
- if ($changed)
23
- {
24
- open(OUT, ">$file") || die "Can't open $file for output";
25
- print OUT @lines;
26
- close(OUT);
27
- }
28
- }
29
-
30
- # This is the main program
31
-
32
- $, = ""; # Output field separator
33
- for ($i = 0; $i < @ARGV; $i++) { &detrail($ARGV[$i]); }
34
-
35
- # End
@@ -1,473 +0,0 @@
1
- Technical Notes about PCRE
2
- --------------------------
3
-
4
- These are very rough technical notes that record potentially useful information
5
- about PCRE internals. For information about testing PCRE, see the pcretest
6
- documentation and the comment at the head of the RunTest file.
7
-
8
-
9
- Historical note 1
10
- -----------------
11
-
12
- Many years ago I implemented some regular expression functions to an algorithm
13
- suggested by Martin Richards. These were not Unix-like in form, and were quite
14
- restricted in what they could do by comparison with Perl. The interesting part
15
- about the algorithm was that the amount of space required to hold the compiled
16
- form of an expression was known in advance. The code to apply an expression did
17
- not operate by backtracking, as the original Henry Spencer code and current
18
- Perl code does, but instead checked all possibilities simultaneously by keeping
19
- a list of current states and checking all of them as it advanced through the
20
- subject string. In the terminology of Jeffrey Friedl's book, it was a "DFA
21
- algorithm", though it was not a traditional Finite State Machine (FSM). When
22
- the pattern was all used up, all remaining states were possible matches, and
23
- the one matching the longest subset of the subject string was chosen. This did
24
- not necessarily maximize the individual wild portions of the pattern, as is
25
- expected in Unix and Perl-style regular expressions.
26
-
27
-
28
- Historical note 2
29
- -----------------
30
-
31
- By contrast, the code originally written by Henry Spencer (which was
32
- subsequently heavily modified for Perl) compiles the expression twice: once in
33
- a dummy mode in order to find out how much store will be needed, and then for
34
- real. (The Perl version probably doesn't do this any more; I'm talking about
35
- the original library.) The execution function operates by backtracking and
36
- maximizing (or, optionally, minimizing in Perl) the amount of the subject that
37
- matches individual wild portions of the pattern. This is an "NFA algorithm" in
38
- Friedl's terminology.
39
-
40
-
41
- OK, here's the real stuff
42
- -------------------------
43
-
44
- For the set of functions that form the "basic" PCRE library (which are
45
- unrelated to those mentioned above), I tried at first to invent an algorithm
46
- that used an amount of store bounded by a multiple of the number of characters
47
- in the pattern, to save on compiling time. However, because of the greater
48
- complexity in Perl regular expressions, I couldn't do this. In any case, a
49
- first pass through the pattern is helpful for other reasons.
50
-
51
-
52
- Support for 16-bit and 32-bit data strings
53
- -------------------------------------------
54
-
55
- From release 8.30, PCRE supports 16-bit as well as 8-bit data strings; and from
56
- release 8.32, PCRE supports 32-bit data strings. The library can be compiled
57
- in any combination of 8-bit, 16-bit or 32-bit modes, creating different
58
- libraries. In the description that follows, the word "short" is
59
- used for a 16-bit data quantity, and the word "unit" is used for a quantity
60
- that is a byte in 8-bit mode, a short in 16-bit mode and a 32-bit unsigned
61
- integer in 32-bit mode. However, so as not to over-complicate the text, the
62
- names of PCRE functions are given in 8-bit form only.
63
-
64
-
65
- Computing the memory requirement: how it was
66
- --------------------------------------------
67
-
68
- Up to and including release 6.7, PCRE worked by running a very degenerate first
69
- pass to calculate a maximum store size, and then a second pass to do the real
70
- compile - which might use a bit less than the predicted amount of memory. The
71
- idea was that this would turn out faster than the Henry Spencer code because
72
- the first pass is degenerate and the second pass can just store stuff straight
73
- into the vector, which it knows is big enough.
74
-
75
-
76
- Computing the memory requirement: how it is
77
- -------------------------------------------
78
-
79
- By the time I was working on a potential 6.8 release, the degenerate first pass
80
- had become very complicated and hard to maintain. Indeed one of the early
81
- things I did for 6.8 was to fix Yet Another Bug in the memory computation. Then
82
- I had a flash of inspiration as to how I could run the real compile function in
83
- a "fake" mode that enables it to compute how much memory it would need, while
84
- actually only ever using a few hundred bytes of working memory, and without too
85
- many tests of the mode that might slow it down. So I refactored the compiling
86
- functions to work this way. This got rid of about 600 lines of source. It
87
- should make future maintenance and development easier. As this was such a major
88
- change, I never released 6.8, instead upping the number to 7.0 (other quite
89
- major changes were also present in the 7.0 release).
90
-
91
- A side effect of this work was that the previous limit of 200 on the nesting
92
- depth of parentheses was removed. However, there is a downside: pcre_compile()
93
- runs more slowly than before (30% or more, depending on the pattern) because it
94
- is doing a full analysis of the pattern. My hope was that this would not be a
95
- big issue, and in the event, nobody has commented on it.
96
-
97
-
98
- Traditional matching function
99
- -----------------------------
100
-
101
- The "traditional", and original, matching function is called pcre_exec(), and
102
- it implements an NFA algorithm, similar to the original Henry Spencer algorithm
103
- and the way that Perl works. This is not surprising, since it is intended to be
104
- as compatible with Perl as possible. This is the function most users of PCRE
105
- will use most of the time. From release 8.20, if PCRE is compiled with
106
- just-in-time (JIT) support, and studying a compiled pattern with JIT is
107
- successful, the JIT code is run instead of the normal pcre_exec() code, but the
108
- result is the same.
109
-
110
-
111
- Supplementary matching function
112
- -------------------------------
113
-
114
- From PCRE 6.0, there is also a supplementary matching function called
115
- pcre_dfa_exec(). This implements a DFA matching algorithm that searches
116
- simultaneously for all possible matches that start at one point in the subject
117
- string. (Going back to my roots: see Historical Note 1 above.) This function
118
- intreprets the same compiled pattern data as pcre_exec(); however, not all the
119
- facilities are available, and those that are do not always work in quite the
120
- same way. See the user documentation for details.
121
-
122
- The algorithm that is used for pcre_dfa_exec() is not a traditional FSM,
123
- because it may have a number of states active at one time. More work would be
124
- needed at compile time to produce a traditional FSM where only one state is
125
- ever active at once. I believe some other regex matchers work this way.
126
-
127
-
128
- Changeable options
129
- ------------------
130
-
131
- The /i, /m, or /s options (PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL) may
132
- change in the middle of patterns. From PCRE 8.13, their processing is handled
133
- entirely at compile time by generating different opcodes for the different
134
- settings. The runtime functions do not need to keep track of an options state
135
- any more.
136
-
137
-
138
- Format of compiled patterns
139
- ---------------------------
140
-
141
- The compiled form of a pattern is a vector of units (bytes in 8-bit mode, or
142
- shorts in 16-bit mode, 32-bit unsigned integers in 32-bit mode), containing
143
- items of variable length. The first unit in an item contains an opcode, and
144
- the length of the item is either implicit in the opcode or contained in the
145
- data that follows it.
146
-
147
- In many cases listed below, LINK_SIZE data values are specified for offsets
148
- within the compiled pattern. LINK_SIZE always specifies a number of bytes. The
149
- default value for LINK_SIZE is 2, but PCRE can be compiled to use 3-byte or
150
- 4-byte values for these offsets, although this impairs the performance. (3-byte
151
- LINK_SIZE values are available only in 8-bit mode.) Specifing a LINK_SIZE
152
- larger than 2 is necessary only when patterns whose compiled length is greater
153
- than 64K are going to be processed. In this description, we assume the "normal"
154
- compilation options. Data values that are counts (e.g. for quantifiers) are
155
- always just two bytes long (one short in 16-bit mode).
156
-
157
- Opcodes with no following data
158
- ------------------------------
159
-
160
- These items are all just one unit long
161
-
162
- OP_END end of pattern
163
- OP_ANY match any one character other than newline
164
- OP_ALLANY match any one character, including newline
165
- OP_ANYBYTE match any single byte, even in UTF-8 mode
166
- OP_SOD match start of data: \A
167
- OP_SOM, start of match (subject + offset): \G
168
- OP_SET_SOM, set start of match (\K)
169
- OP_CIRC ^ (start of data)
170
- OP_CIRCM ^ multiline mode (start of data or after newline)
171
- OP_NOT_WORD_BOUNDARY \W
172
- OP_WORD_BOUNDARY \w
173
- OP_NOT_DIGIT \D
174
- OP_DIGIT \d
175
- OP_NOT_HSPACE \H
176
- OP_HSPACE \h
177
- OP_NOT_WHITESPACE \S
178
- OP_WHITESPACE \s
179
- OP_NOT_VSPACE \V
180
- OP_VSPACE \v
181
- OP_NOT_WORDCHAR \W
182
- OP_WORDCHAR \w
183
- OP_EODN match end of data or \n at end: \Z
184
- OP_EOD match end of data: \z
185
- OP_DOLL $ (end of data, or before final newline)
186
- OP_DOLLM $ multiline mode (end of data or before newline)
187
- OP_EXTUNI match an extended Unicode character
188
- OP_ANYNL match any Unicode newline sequence
189
-
190
- OP_ACCEPT ) These are Perl 5.10's "backtracking control
191
- OP_COMMIT ) verbs". If OP_ACCEPT is inside capturing
192
- OP_FAIL ) parentheses, it may be preceded by one or more
193
- OP_PRUNE ) OP_CLOSE, followed by a 2-byte number,
194
- OP_SKIP ) indicating which parentheses must be closed.
195
-
196
-
197
- Backtracking control verbs with (optional) data
198
- -----------------------------------------------
199
-
200
- (*THEN) without an argument generates the opcode OP_THEN and no following data.
201
- OP_MARK is followed by the mark name, preceded by a one-unit length, and
202
- followed by a binary zero. For (*PRUNE), (*SKIP), and (*THEN) with arguments,
203
- the opcodes OP_PRUNE_ARG, OP_SKIP_ARG, and OP_THEN_ARG are used, with the name
204
- following in the same format.
205
-
206
-
207
- Matching literal characters
208
- ---------------------------
209
-
210
- The OP_CHAR opcode is followed by a single character that is to be matched
211
- casefully. For caseless matching, OP_CHARI is used. In UTF-8 or UTF-16 modes,
212
- the character may be more than one unit long. In UTF-32 mode, characters
213
- are always exactly one unit long.
214
-
215
-
216
- Repeating single characters
217
- ---------------------------
218
-
219
- The common repeats (*, +, ?), when applied to a single character, use the
220
- following opcodes, which come in caseful and caseless versions:
221
-
222
- Caseful Caseless
223
- OP_STAR OP_STARI
224
- OP_MINSTAR OP_MINSTARI
225
- OP_POSSTAR OP_POSSTARI
226
- OP_PLUS OP_PLUSI
227
- OP_MINPLUS OP_MINPLUSI
228
- OP_POSPLUS OP_POSPLUSI
229
- OP_QUERY OP_QUERYI
230
- OP_MINQUERY OP_MINQUERYI
231
- OP_POSQUERY OP_POSQUERYI
232
-
233
- Each opcode is followed by the character that is to be repeated. In ASCII mode,
234
- these are two-unit items; in UTF-8 or UTF-16 modes, the length is variable; in
235
- UTF-32 mode these are one-unit items.
236
- Those with "MIN" in their names are the minimizing versions. Those with "POS"
237
- in their names are possessive versions. Other repeats make use of these
238
- opcodes:
239
-
240
- Caseful Caseless
241
- OP_UPTO OP_UPTOI
242
- OP_MINUPTO OP_MINUPTOI
243
- OP_POSUPTO OP_POSUPTOI
244
- OP_EXACT OP_EXACTI
245
-
246
- Each of these is followed by a two-byte (one short) count (most significant
247
- byte first in 8-bit mode) and then the repeated character. OP_UPTO matches from
248
- 0 to the given number. A repeat with a non-zero minimum and a fixed maximum is
249
- coded as an OP_EXACT followed by an OP_UPTO (or OP_MINUPTO or OPT_POSUPTO).
250
-
251
-
252
- Repeating character types
253
- -------------------------
254
-
255
- Repeats of things like \d are done exactly as for single characters, except
256
- that instead of a character, the opcode for the type is stored in the data
257
- unit. The opcodes are:
258
-
259
- OP_TYPESTAR
260
- OP_TYPEMINSTAR
261
- OP_TYPEPOSSTAR
262
- OP_TYPEPLUS
263
- OP_TYPEMINPLUS
264
- OP_TYPEPOSPLUS
265
- OP_TYPEQUERY
266
- OP_TYPEMINQUERY
267
- OP_TYPEPOSQUERY
268
- OP_TYPEUPTO
269
- OP_TYPEMINUPTO
270
- OP_TYPEPOSUPTO
271
- OP_TYPEEXACT
272
-
273
-
274
- Match by Unicode property
275
- -------------------------
276
-
277
- OP_PROP and OP_NOTPROP are used for positive and negative matches of a
278
- character by testing its Unicode property (the \p and \P escape sequences).
279
- Each is followed by two units that encode the desired property as a type and a
280
- value.
281
-
282
- Repeats of these items use the OP_TYPESTAR etc. set of opcodes, followed by
283
- three units: OP_PROP or OP_NOTPROP, and then the desired property type and
284
- value.
285
-
286
-
287
- Character classes
288
- -----------------
289
-
290
- If there is only one character in the class, OP_CHAR or OP_CHARI is used for a
291
- positive class, and OP_NOT or OP_NOTI for a negative one (that is, for
292
- something like [^a]).
293
-
294
- Another set of 13 repeating opcodes (called OP_NOTSTAR etc.) are used for
295
- repeated, negated, single-character classes. The normal single-character
296
- opcodes (OP_STAR, etc.) are used for repeated positive single-character
297
- classes.
298
-
299
- When there is more than one character in a class and all the characters are
300
- less than 256, OP_CLASS is used for a positive class, and OP_NCLASS for a
301
- negative one. In either case, the opcode is followed by a 32-byte (16-short)
302
- bit map containing a 1 bit for every character that is acceptable. The bits are
303
- counted from the least significant end of each unit. In caseless mode, bits for
304
- both cases are set.
305
-
306
- The reason for having both OP_CLASS and OP_NCLASS is so that, in UTF-8/16/32 mode,
307
- subject characters with values greater than 255 can be handled correctly. For
308
- OP_CLASS they do not match, whereas for OP_NCLASS they do.
309
-
310
- For classes containing characters with values greater than 255, OP_XCLASS is
311
- used. It optionally uses a bit map (if any characters lie within it), followed
312
- by a list of pairs (for a range) and single characters. In caseless mode, both
313
- cases are explicitly listed. There is a flag character than indicates whether
314
- it is a positive or a negative class.
315
-
316
-
317
- Back references
318
- ---------------
319
-
320
- OP_REF (caseful) or OP_REFI (caseless) is followed by two bytes (one short)
321
- containing the reference number.
322
-
323
-
324
- Repeating character classes and back references
325
- -----------------------------------------------
326
-
327
- Single-character classes are handled specially (see above). This section
328
- applies to OP_CLASS and OP_REF[I]. In both cases, the repeat information
329
- follows the base item. The matching code looks at the following opcode to see
330
- if it is one of
331
-
332
- OP_CRSTAR
333
- OP_CRMINSTAR
334
- OP_CRPLUS
335
- OP_CRMINPLUS
336
- OP_CRQUERY
337
- OP_CRMINQUERY
338
- OP_CRRANGE
339
- OP_CRMINRANGE
340
-
341
- All but the last two are just single-unit items. The others are followed by
342
- four bytes (two shorts) of data, comprising the minimum and maximum repeat
343
- counts. There are no special possessive opcodes for these repeats; a possessive
344
- repeat is compiled into an atomic group.
345
-
346
-
347
- Brackets and alternation
348
- ------------------------
349
-
350
- A pair of non-capturing (round) brackets is wrapped round each expression at
351
- compile time, so alternation always happens in the context of brackets.
352
-
353
- [Note for North Americans: "bracket" to some English speakers, including
354
- myself, can be round, square, curly, or pointy. Hence this usage rather than
355
- "parentheses".]
356
-
357
- Non-capturing brackets use the opcode OP_BRA. Originally PCRE was limited to 99
358
- capturing brackets and it used a different opcode for each one. From release
359
- 3.5, the limit was removed by putting the bracket number into the data for
360
- higher-numbered brackets. From release 7.0 all capturing brackets are handled
361
- this way, using the single opcode OP_CBRA.
362
-
363
- A bracket opcode is followed by LINK_SIZE bytes which give the offset to the
364
- next alternative OP_ALT or, if there aren't any branches, to the matching
365
- OP_KET opcode. Each OP_ALT is followed by LINK_SIZE bytes giving the offset to
366
- the next one, or to the OP_KET opcode. For capturing brackets, the bracket
367
- number immediately follows the offset, always as a 2-byte (one short) item.
368
-
369
- OP_KET is used for subpatterns that do not repeat indefinitely, and
370
- OP_KETRMIN and OP_KETRMAX are used for indefinite repetitions, minimally or
371
- maximally respectively (see below for possessive repetitions). All three are
372
- followed by LINK_SIZE bytes giving (as a positive number) the offset back to
373
- the matching bracket opcode.
374
-
375
- If a subpattern is quantified such that it is permitted to match zero times, it
376
- is preceded by one of OP_BRAZERO, OP_BRAMINZERO, or OP_SKIPZERO. These are
377
- single-unit opcodes that tell the matcher that skipping the following
378
- subpattern entirely is a valid branch. In the case of the first two, not
379
- skipping the pattern is also valid (greedy and non-greedy). The third is used
380
- when a pattern has the quantifier {0,0}. It cannot be entirely discarded,
381
- because it may be called as a subroutine from elsewhere in the regex.
382
-
383
- A subpattern with an indefinite maximum repetition is replicated in the
384
- compiled data its minimum number of times (or once with OP_BRAZERO if the
385
- minimum is zero), with the final copy terminating with OP_KETRMIN or OP_KETRMAX
386
- as appropriate.
387
-
388
- A subpattern with a bounded maximum repetition is replicated in a nested
389
- fashion up to the maximum number of times, with OP_BRAZERO or OP_BRAMINZERO
390
- before each replication after the minimum, so that, for example, (abc){2,5} is
391
- compiled as (abc)(abc)((abc)((abc)(abc)?)?)?, except that each bracketed group
392
- has the same number.
393
-
394
- When a repeated subpattern has an unbounded upper limit, it is checked to see
395
- whether it could match an empty string. If this is the case, the opcode in the
396
- final replication is changed to OP_SBRA or OP_SCBRA. This tells the matcher
397
- that it needs to check for matching an empty string when it hits OP_KETRMIN or
398
- OP_KETRMAX, and if so, to break the loop.
399
-
400
- Possessive brackets
401
- -------------------
402
-
403
- When a repeated group (capturing or non-capturing) is marked as possessive by
404
- the "+" notation, e.g. (abc)++, different opcodes are used. Their names all
405
- have POS on the end, e.g. OP_BRAPOS instead of OP_BRA and OP_SCPBRPOS instead
406
- of OP_SCBRA. The end of such a group is marked by OP_KETRPOS. If the minimum
407
- repetition is zero, the group is preceded by OP_BRAPOSZERO.
408
-
409
-
410
- Assertions
411
- ----------
412
-
413
- Forward assertions are just like other subpatterns, but starting with one of
414
- the opcodes OP_ASSERT or OP_ASSERT_NOT. Backward assertions use the opcodes
415
- OP_ASSERTBACK and OP_ASSERTBACK_NOT, and the first opcode inside the assertion
416
- is OP_REVERSE, followed by a two byte (one short) count of the number of
417
- characters to move back the pointer in the subject string. In ASCII mode, the
418
- count is a number of units, but in UTF-8/16 mode each character may occupy more
419
- than one unit; in UTF-32 mode each character occupies exactly one unit.
420
- A separate count is present in each alternative of a lookbehind
421
- assertion, allowing them to have different fixed lengths.
422
-
423
-
424
- Once-only (atomic) subpatterns
425
- ------------------------------
426
-
427
- These are also just like other subpatterns, but they start with the opcode
428
- OP_ONCE. The check for matching an empty string in an unbounded repeat is
429
- handled entirely at runtime, so there is just this one opcode.
430
-
431
-
432
- Conditional subpatterns
433
- -----------------------
434
-
435
- These are like other subpatterns, but they start with the opcode OP_COND, or
436
- OP_SCOND for one that might match an empty string in an unbounded repeat. If
437
- the condition is a back reference, this is stored at the start of the
438
- subpattern using the opcode OP_CREF followed by two bytes (one short)
439
- containing the reference number. OP_NCREF is used instead if the reference was
440
- generated by name (so that the runtime code knows to check for duplicate
441
- names).
442
-
443
- If the condition is "in recursion" (coded as "(?(R)"), or "in recursion of
444
- group x" (coded as "(?(Rx)"), the group number is stored at the start of the
445
- subpattern using the opcode OP_RREF or OP_NRREF (cf OP_NCREF), and a value of
446
- zero for "the whole pattern". For a DEFINE condition, just the single unit
447
- OP_DEF is used (it has no associated data). Otherwise, a conditional subpattern
448
- always starts with one of the assertions.
449
-
450
-
451
- Recursion
452
- ---------
453
-
454
- Recursion either matches the current regex, or some subexpression. The opcode
455
- OP_RECURSE is followed by an value which is the offset to the starting bracket
456
- from the start of the whole pattern. From release 6.5, OP_RECURSE is
457
- automatically wrapped inside OP_ONCE brackets (because otherwise some patterns
458
- broke it). OP_RECURSE is also used for "subroutine" calls, even though they
459
- are not strictly a recursion.
460
-
461
-
462
- Callout
463
- -------
464
-
465
- OP_CALLOUT is followed by one unit of data that holds a callout number in the
466
- range 0 to 254 for manual callouts, or 255 for an automatic callout. In both
467
- cases there follows a two-byte (one short) value giving the offset in the
468
- pattern to the start of the following item, and another two-byte (one short)
469
- item giving the length of the next item.
470
-
471
-
472
- Philip Hazel
473
- February 2012