tpy-lang 0.3.0.dev0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. tpy_lang-0.3.0.dev0.dist-info/METADATA +151 -0
  2. tpy_lang-0.3.0.dev0.dist-info/RECORD +333 -0
  3. tpy_lang-0.3.0.dev0.dist-info/WHEEL +4 -0
  4. tpy_lang-0.3.0.dev0.dist-info/entry_points.txt +3 -0
  5. tpyc/__init__.py +104 -0
  6. tpyc/__main__.py +6 -0
  7. tpyc/_buildinfo.py +1 -0
  8. tpyc/_data/docs/LANGUAGE_FEATURES.md +6278 -0
  9. tpyc/_data/docs/STDLIB_ROADMAP.md +1258 -0
  10. tpyc/_data/docs/TPY_FOR_AGENTS.md +556 -0
  11. tpyc/_data/lib/tpy/_bindings/__init__.py +6 -0
  12. tpyc/_data/lib/tpy/_bindings/pcre2.py +173 -0
  13. tpyc/_data/lib/tpy/_bindings/posix_socket.py +161 -0
  14. tpyc/_data/lib/tpy/_functools_macros.py +80 -0
  15. tpyc/_data/lib/tpy/_macro_helpers.py +161 -0
  16. tpyc/_data/lib/tpy/argparse.py +2062 -0
  17. tpyc/_data/lib/tpy/asyncio/__init__.py +744 -0
  18. tpyc/_data/lib/tpy/asyncio/_executor.py +515 -0
  19. tpyc/_data/lib/tpy/base64.py +410 -0
  20. tpyc/_data/lib/tpy/bisect.py +39 -0
  21. tpyc/_data/lib/tpy/builtins.py +38 -0
  22. tpyc/_data/lib/tpy/dataclasses.py +354 -0
  23. tpyc/_data/lib/tpy/enum.py +23 -0
  24. tpyc/_data/lib/tpy/functools.py +33 -0
  25. tpyc/_data/lib/tpy/hashlib.py +206 -0
  26. tpyc/_data/lib/tpy/heapq.py +118 -0
  27. tpyc/_data/lib/tpy/io.py +395 -0
  28. tpyc/_data/lib/tpy/json.py +221 -0
  29. tpyc/_data/lib/tpy/math.py +406 -0
  30. tpyc/_data/lib/tpy/random.py +597 -0
  31. tpyc/_data/lib/tpy/re.py +467 -0
  32. tpyc/_data/lib/tpy/socket.py +379 -0
  33. tpyc/_data/lib/tpy/struct.py +178 -0
  34. tpyc/_data/lib/tpy/sys.py +40 -0
  35. tpyc/_data/lib/tpy/time.py +39 -0
  36. tpyc/_data/lib/tpy/tpy/__init__.py +78 -0
  37. tpyc/_data/lib/tpy/tpy/_bootstrap/__init__.py +10 -0
  38. tpyc/_data/lib/tpy/tpy/_bootstrap/_decorators.py +37 -0
  39. tpyc/_data/lib/tpy/tpy/_bootstrap/_extern.py +64 -0
  40. tpyc/_data/lib/tpy/tpy/_builtins/__init__.py +11 -0
  41. tpyc/_data/lib/tpy/tpy/_builtins/_bytes.py +378 -0
  42. tpyc/_data/lib/tpy/tpy/_builtins/_dict.py +151 -0
  43. tpyc/_data/lib/tpy/tpy/_builtins/_exceptions.py +125 -0
  44. tpyc/_data/lib/tpy/tpy/_builtins/_funcs.py +681 -0
  45. tpyc/_data/lib/tpy/tpy/_builtins/_io.py +97 -0
  46. tpyc/_data/lib/tpy/tpy/_builtins/_list.py +127 -0
  47. tpyc/_data/lib/tpy/tpy/_builtins/_range.py +52 -0
  48. tpyc/_data/lib/tpy/tpy/_builtins/_set.py +139 -0
  49. tpyc/_data/lib/tpy/tpy/_builtins/_super.py +11 -0
  50. tpyc/_data/lib/tpy/tpy/_builtins/_types.py +661 -0
  51. tpyc/_data/lib/tpy/tpy/_core/__init__.py +23 -0
  52. tpyc/_data/lib/tpy/tpy/_core/_bytes_view.py +129 -0
  53. tpyc/_data/lib/tpy/tpy/_core/_containers.py +137 -0
  54. tpyc/_data/lib/tpy/tpy/_core/_functions.py +40 -0
  55. tpyc/_data/lib/tpy/tpy/_core/_types.py +2061 -0
  56. tpyc/_data/lib/tpy/tpy/_typing/__init__.py +77 -0
  57. tpyc/_data/lib/tpy/tpy/_version.py +29 -0
  58. tpyc/_data/lib/tpy/tpy/bits.py +28 -0
  59. tpyc/_data/lib/tpy/tpy/coro/__init__.py +127 -0
  60. tpyc/_data/lib/tpy/tpy/extern.py +8 -0
  61. tpyc/_data/lib/tpy/tpy/mem.py +49 -0
  62. tpyc/_data/lib/tpy/tpy/unsafe.py +195 -0
  63. tpyc/_data/lib/tpy/tpy/version.py +21 -0
  64. tpyc/_data/lib/tpy/typing.py +13 -0
  65. tpyc/_data/runtime/cpp/include/tpy/any.hpp +461 -0
  66. tpyc/_data/runtime/cpp/include/tpy/as_ostream.hpp +117 -0
  67. tpyc/_data/runtime/cpp/include/tpy/async.hpp +76 -0
  68. tpyc/_data/runtime/cpp/include/tpy/bigint.hpp +1343 -0
  69. tpyc/_data/runtime/cpp/include/tpy/builtins.hpp +400 -0
  70. tpyc/_data/runtime/cpp/include/tpy/bytes_ops.hpp +469 -0
  71. tpyc/_data/runtime/cpp/include/tpy/container_ops.hpp +487 -0
  72. tpyc/_data/runtime/cpp/include/tpy/copy_iter.hpp +82 -0
  73. tpyc/_data/runtime/cpp/include/tpy/core.hpp +558 -0
  74. tpyc/_data/runtime/cpp/include/tpy/dict_ops.hpp +289 -0
  75. tpyc/_data/runtime/cpp/include/tpy/dunder.hpp +750 -0
  76. tpyc/_data/runtime/cpp/include/tpy/dynamic.hpp +44 -0
  77. tpyc/_data/runtime/cpp/include/tpy/enum.hpp +40 -0
  78. tpyc/_data/runtime/cpp/include/tpy/file.hpp +245 -0
  79. tpyc/_data/runtime/cpp/include/tpy/fixed_int.hpp +317 -0
  80. tpyc/_data/runtime/cpp/include/tpy/format.hpp +954 -0
  81. tpyc/_data/runtime/cpp/include/tpy/frame_slot.hpp +120 -0
  82. tpyc/_data/runtime/cpp/include/tpy/generator.hpp +47 -0
  83. tpyc/_data/runtime/cpp/include/tpy/iterable_ops.hpp +122 -0
  84. tpyc/_data/runtime/cpp/include/tpy/itertools.hpp +749 -0
  85. tpyc/_data/runtime/cpp/include/tpy/next_iter.hpp +82 -0
  86. tpyc/_data/runtime/cpp/include/tpy/ordered_map.hpp +518 -0
  87. tpyc/_data/runtime/cpp/include/tpy/ordered_set.hpp +337 -0
  88. tpyc/_data/runtime/cpp/include/tpy/own_iter.hpp +54 -0
  89. tpyc/_data/runtime/cpp/include/tpy/pascal_graph_sdl.hpp +192 -0
  90. tpyc/_data/runtime/cpp/include/tpy/printing.hpp +302 -0
  91. tpyc/_data/runtime/cpp/include/tpy/protocols.hpp +61 -0
  92. tpyc/_data/runtime/cpp/include/tpy/range.hpp +115 -0
  93. tpyc/_data/runtime/cpp/include/tpy/ranges.hpp +212 -0
  94. tpyc/_data/runtime/cpp/include/tpy/set_ops.hpp +265 -0
  95. tpyc/_data/runtime/cpp/include/tpy/slice.hpp +47 -0
  96. tpyc/_data/runtime/cpp/include/tpy/span_iter.hpp +42 -0
  97. tpyc/_data/runtime/cpp/include/tpy/stdlib/math.hpp +41 -0
  98. tpyc/_data/runtime/cpp/include/tpy/stdlib/pcre2_h.hpp +96 -0
  99. tpyc/_data/runtime/cpp/include/tpy/stdlib/random.hpp +25 -0
  100. tpyc/_data/runtime/cpp/include/tpy/stdlib/socket_h.hpp +145 -0
  101. tpyc/_data/runtime/cpp/include/tpy/stdlib/time.hpp +62 -0
  102. tpyc/_data/runtime/cpp/include/tpy/system.hpp +121 -0
  103. tpyc/_data/runtime/cpp/include/tpy/throwable.hpp +55 -0
  104. tpyc/_data/runtime/cpp/include/tpy/tpy.hpp +156 -0
  105. tpyc/_data/runtime/cpp/include/tpy/type_name.hpp +77 -0
  106. tpyc/_data/runtime/cpp/include/tpy/type_traits.hpp +240 -0
  107. tpyc/_data/runtime/cpp/include/tpy/uninit_array_storage.hpp +250 -0
  108. tpyc/_data/runtime/cpp/include/tpy/uninit_heap_storage.hpp +277 -0
  109. tpyc/_data/runtime/cpp/include/tpy/varargs.hpp +174 -0
  110. tpyc/_data/runtime/cpp/include/tpy/variant_ref.hpp +118 -0
  111. tpyc/_data/runtime/cpp/src/stdlib/socket_impl.cpp +104 -0
  112. tpyc/_data/runtime/cpp/third_party/README.md +58 -0
  113. tpyc/_data/runtime/cpp/third_party/pcre2/AUTHORS +36 -0
  114. tpyc/_data/runtime/cpp/third_party/pcre2/CMakeLists.txt +1233 -0
  115. tpyc/_data/runtime/cpp/third_party/pcre2/COPYING +5 -0
  116. tpyc/_data/runtime/cpp/third_party/pcre2/ChangeLog +3097 -0
  117. tpyc/_data/runtime/cpp/third_party/pcre2/HACKING +853 -0
  118. tpyc/_data/runtime/cpp/third_party/pcre2/INSTALL +368 -0
  119. tpyc/_data/runtime/cpp/third_party/pcre2/LICENCE +94 -0
  120. tpyc/_data/runtime/cpp/third_party/pcre2/NEWS +492 -0
  121. tpyc/_data/runtime/cpp/third_party/pcre2/NON-AUTOTOOLS-BUILD +430 -0
  122. tpyc/_data/runtime/cpp/third_party/pcre2/README +956 -0
  123. tpyc/_data/runtime/cpp/third_party/pcre2/cmake/COPYING-CMAKE-SCRIPTS +22 -0
  124. tpyc/_data/runtime/cpp/third_party/pcre2/cmake/FindEditline.cmake +16 -0
  125. tpyc/_data/runtime/cpp/third_party/pcre2/cmake/FindPackageHandleStandardArgs.cmake +58 -0
  126. tpyc/_data/runtime/cpp/third_party/pcre2/cmake/FindReadline.cmake +29 -0
  127. tpyc/_data/runtime/cpp/third_party/pcre2/cmake/pcre2-config-version.cmake.in +15 -0
  128. tpyc/_data/runtime/cpp/third_party/pcre2/cmake/pcre2-config.cmake.in +148 -0
  129. tpyc/_data/runtime/cpp/third_party/pcre2/config-cmake.h.in +56 -0
  130. tpyc/_data/runtime/cpp/third_party/pcre2/libpcre2-16.pc.in +13 -0
  131. tpyc/_data/runtime/cpp/third_party/pcre2/libpcre2-32.pc.in +13 -0
  132. tpyc/_data/runtime/cpp/third_party/pcre2/libpcre2-8.pc.in +13 -0
  133. tpyc/_data/runtime/cpp/third_party/pcre2/libpcre2-posix.pc.in +13 -0
  134. tpyc/_data/runtime/cpp/third_party/pcre2/pcre2-config.in +121 -0
  135. tpyc/_data/runtime/cpp/third_party/pcre2/src/config.h +483 -0
  136. tpyc/_data/runtime/cpp/third_party/pcre2/src/config.h.generic +483 -0
  137. tpyc/_data/runtime/cpp/third_party/pcre2/src/config.h.in +460 -0
  138. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2.h +1010 -0
  139. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2.h.generic +1010 -0
  140. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2.h.in +1010 -0
  141. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_auto_possess.c +1371 -0
  142. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_chartables.c +196 -0
  143. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_chartables.c.dist +196 -0
  144. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_chkdint.c +96 -0
  145. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_compile.c +11001 -0
  146. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_config.c +252 -0
  147. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_context.c +510 -0
  148. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_convert.c +1189 -0
  149. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_dfa_match.c +4119 -0
  150. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_dftables.c +297 -0
  151. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_error.c +345 -0
  152. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_extuni.c +162 -0
  153. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_find_bracket.c +219 -0
  154. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_fuzzsupport.c +792 -0
  155. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_internal.h +2084 -0
  156. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_intmodedep.h +940 -0
  157. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_compile.c +14972 -0
  158. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_match.c +200 -0
  159. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_misc.c +234 -0
  160. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_neon_inc.h +354 -0
  161. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_simd_inc.h +2355 -0
  162. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_test.c +2528 -0
  163. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_maketables.c +165 -0
  164. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_match.c +7777 -0
  165. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_match_data.c +185 -0
  166. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_newline.c +243 -0
  167. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_ord2utf.c +120 -0
  168. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_pattern_info.c +432 -0
  169. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_printint.c +886 -0
  170. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_script_run.c +344 -0
  171. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_serialize.c +286 -0
  172. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_string_utils.c +237 -0
  173. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_study.c +1915 -0
  174. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_substitute.c +1009 -0
  175. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_substring.c +550 -0
  176. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_tables.c +234 -0
  177. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_ucd.c +5460 -0
  178. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_ucp.h +396 -0
  179. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_ucptables.c +1533 -0
  180. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_valid_utf.c +398 -0
  181. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_xclass.c +308 -0
  182. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2demo.c +497 -0
  183. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2grep.c +4606 -0
  184. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2posix.c +425 -0
  185. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2posix.h +187 -0
  186. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2posix_test.c +209 -0
  187. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2test.c +9708 -0
  188. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorApple.c +137 -0
  189. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorCore.c +327 -0
  190. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorFreeBSD.c +89 -0
  191. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorPosix.c +62 -0
  192. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorWindows.c +40 -0
  193. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitProtExecAllocatorNetBSD.c +72 -0
  194. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitProtExecAllocatorPosix.c +172 -0
  195. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitWXExecAllocatorPosix.c +141 -0
  196. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitWXExecAllocatorWindows.c +102 -0
  197. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitConfig.h +142 -0
  198. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitConfigCPU.h +188 -0
  199. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitConfigInternal.h +907 -0
  200. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitLir.c +3561 -0
  201. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitLir.h +2466 -0
  202. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeARM_32.c +4636 -0
  203. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeARM_64.c +3491 -0
  204. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeARM_T2_32.c +4302 -0
  205. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeLOONGARCH_64.c +3765 -0
  206. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeMIPS_32.c +472 -0
  207. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeMIPS_64.c +387 -0
  208. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeMIPS_common.c +4259 -0
  209. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativePPC_32.c +485 -0
  210. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativePPC_64.c +719 -0
  211. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativePPC_common.c +3161 -0
  212. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeRISCV_32.c +142 -0
  213. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeRISCV_64.c +222 -0
  214. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeRISCV_common.c +3121 -0
  215. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeS390X.c +4526 -0
  216. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeX86_32.c +1685 -0
  217. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeX86_64.c +1398 -0
  218. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeX86_common.c +5001 -0
  219. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitSerialize.c +516 -0
  220. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitUtils.c +344 -0
  221. tpyc/_data/runtime/cpp/third_party/pcre2.sources.txt +54 -0
  222. tpyc/_data/runtime/cpp/third_party/pcre2.vendor.json +7 -0
  223. tpyc/build/__init__.py +7 -0
  224. tpyc/build/pcre2.py +122 -0
  225. tpyc/build/third_party.py +413 -0
  226. tpyc/cli.py +822 -0
  227. tpyc/codegen_cpp/__init__.py +18 -0
  228. tpyc/codegen_cpp/builtins.py +484 -0
  229. tpyc/codegen_cpp/context.py +2064 -0
  230. tpyc/codegen_cpp/expressions.py +5940 -0
  231. tpyc/codegen_cpp/functions.py +1913 -0
  232. tpyc/codegen_cpp/gen_async.py +3258 -0
  233. tpyc/codegen_cpp/gen_generators.py +657 -0
  234. tpyc/codegen_cpp/generator.py +2258 -0
  235. tpyc/codegen_cpp/match.py +1997 -0
  236. tpyc/codegen_cpp/param_const.py +172 -0
  237. tpyc/codegen_cpp/protocols.py +907 -0
  238. tpyc/codegen_cpp/records.py +1654 -0
  239. tpyc/codegen_cpp/resumable_cfg.py +1651 -0
  240. tpyc/codegen_cpp/statements.py +4963 -0
  241. tpyc/codegen_cpp/string_dispatch.py +76 -0
  242. tpyc/codegen_cpp/test_context.py +46 -0
  243. tpyc/codegen_cpp/test_param_const.py +113 -0
  244. tpyc/codegen_cpp/test_resumable_cfg.py +182 -0
  245. tpyc/codegen_cpp/type_resolution.py +53 -0
  246. tpyc/codegen_cpp/types.py +436 -0
  247. tpyc/codegen_cpp/variant_access.py +135 -0
  248. tpyc/coercions.py +749 -0
  249. tpyc/compilation_context.py +57 -0
  250. tpyc/compiler.py +3945 -0
  251. tpyc/cycle_detection.py +358 -0
  252. tpyc/diagnostics.py +135 -0
  253. tpyc/dump_types.py +353 -0
  254. tpyc/frontend_diagnostics.py +47 -0
  255. tpyc/frontend_ir/__init__.py +140 -0
  256. tpyc/frontend_ir/lower.py +1098 -0
  257. tpyc/frontend_ir/nodes.py +718 -0
  258. tpyc/frontend_ir/resolver_adapter.py +151 -0
  259. tpyc/frontend_plugin.py +209 -0
  260. tpyc/install_docs.py +81 -0
  261. tpyc/liveness.py +756 -0
  262. tpyc/macro_api.py +1724 -0
  263. tpyc/macro_loader.py +497 -0
  264. tpyc/module_names.py +64 -0
  265. tpyc/modules/__init__.py +31 -0
  266. tpyc/modules/defs.py +89 -0
  267. tpyc/modules/registry.py +36 -0
  268. tpyc/modules/resolver.py +192 -0
  269. tpyc/modules/type_resolution.py +629 -0
  270. tpyc/namespace.py +172 -0
  271. tpyc/parse/__init__.py +84 -0
  272. tpyc/parse/imports.py +490 -0
  273. tpyc/parse/nodes.py +1732 -0
  274. tpyc/parse/parser.py +4043 -0
  275. tpyc/parse/resolve_refs.py +466 -0
  276. tpyc/parse/type_resolver.py +1060 -0
  277. tpyc/prescan.py +254 -0
  278. tpyc/qnames.py +149 -0
  279. tpyc/repl.py +529 -0
  280. tpyc/repl_backends.py +848 -0
  281. tpyc/sema/__init__.py +21 -0
  282. tpyc/sema/analyzer.py +3625 -0
  283. tpyc/sema/bound_check.py +72 -0
  284. tpyc/sema/builder_trace.py +684 -0
  285. tpyc/sema/calls.py +5406 -0
  286. tpyc/sema/compatibility.py +2107 -0
  287. tpyc/sema/context.py +1243 -0
  288. tpyc/sema/expressions.py +3737 -0
  289. tpyc/sema/flow_facts.py +199 -0
  290. tpyc/sema/init_tracker.py +150 -0
  291. tpyc/sema/list_literals.py +69 -0
  292. tpyc/sema/literal_utils.py +27 -0
  293. tpyc/sema/local_deduction.py +1088 -0
  294. tpyc/sema/macros.py +179 -0
  295. tpyc/sema/match.py +1177 -0
  296. tpyc/sema/method_expansion.py +347 -0
  297. tpyc/sema/methods.py +2197 -0
  298. tpyc/sema/mutation_propagation.py +268 -0
  299. tpyc/sema/narrowing.py +857 -0
  300. tpyc/sema/numeric_lattice.py +160 -0
  301. tpyc/sema/operators.py +402 -0
  302. tpyc/sema/overloads.py +841 -0
  303. tpyc/sema/protocols.py +1209 -0
  304. tpyc/sema/reach_analysis.py +202 -0
  305. tpyc/sema/registration.py +3156 -0
  306. tpyc/sema/scope_tracker.py +193 -0
  307. tpyc/sema/statements.py +4426 -0
  308. tpyc/sema/type_ops.py +1879 -0
  309. tpyc/sema/value_range.py +181 -0
  310. tpyc/symbol_binding.py +259 -0
  311. tpyc/test_c3_mro.py +208 -0
  312. tpyc/test_cli_argv.py +52 -0
  313. tpyc/test_compiler.py +559 -0
  314. tpyc/test_contains_type_param.py +101 -0
  315. tpyc/test_cycle_detection.py +221 -0
  316. tpyc/test_dump_types.py +225 -0
  317. tpyc/test_install_docs.py +65 -0
  318. tpyc/test_local_cpp_form.py +135 -0
  319. tpyc/test_macro_loader.py +76 -0
  320. tpyc/test_method_expansion.py +254 -0
  321. tpyc/test_nominal_identity.py +182 -0
  322. tpyc/test_overloads.py +410 -0
  323. tpyc/test_parse.py +303 -0
  324. tpyc/test_parse_type_ref.py +506 -0
  325. tpyc/test_parse_version_info.py +58 -0
  326. tpyc/test_reach_analysis.py +72 -0
  327. tpyc/test_ref_type.py +216 -0
  328. tpyc/test_send_sync_substitution.py +276 -0
  329. tpyc/test_tuple_mutation_propagation.py +206 -0
  330. tpyc/test_type_def_registry.py +1729 -0
  331. tpyc/test_union_types.py +195 -0
  332. tpyc/type_def_registry.py +975 -0
  333. tpyc/typesys.py +5104 -0
@@ -0,0 +1,22 @@
1
+ Redistribution and use in source and binary forms, with or without
2
+ modification, are permitted provided that the following conditions
3
+ are met:
4
+
5
+ 1. Redistributions of source code must retain the copyright
6
+ notice, this list of conditions and the following disclaimer.
7
+ 2. Redistributions in binary form must reproduce the copyright
8
+ notice, this list of conditions and the following disclaimer in the
9
+ documentation and/or other materials provided with the distribution.
10
+ 3. The name of the author may not be used to endorse or promote products
11
+ derived from this software without specific prior written permission.
12
+
13
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
14
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
15
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
16
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
17
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
18
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,16 @@
1
+ # Modified from FindReadline.cmake (PH Feb 2012)
2
+
3
+ if(EDITLINE_INCLUDE_DIR AND EDITLINE_LIBRARY)
4
+ set(EDITLINE_FOUND TRUE)
5
+ else(EDITLINE_INCLUDE_DIR AND EDITLINE_LIBRARY)
6
+ FIND_PATH(EDITLINE_INCLUDE_DIR readline.h PATH_SUFFIXES
7
+ editline
8
+ edit/readline
9
+ )
10
+
11
+ FIND_LIBRARY(EDITLINE_LIBRARY NAMES edit)
12
+ include(FindPackageHandleStandardArgs)
13
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(Editline DEFAULT_MSG EDITLINE_INCLUDE_DIR EDITLINE_LIBRARY)
14
+
15
+ MARK_AS_ADVANCED(EDITLINE_INCLUDE_DIR EDITLINE_LIBRARY)
16
+ endif(EDITLINE_INCLUDE_DIR AND EDITLINE_LIBRARY)
@@ -0,0 +1,58 @@
1
+ # FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME (DEFAULT_MSG|"Custom failure message") VAR1 ... )
2
+ # This macro is intended to be used in FindXXX.cmake modules files.
3
+ # It handles the REQUIRED and QUIET argument to FIND_PACKAGE() and
4
+ # it also sets the <UPPERCASED_NAME>_FOUND variable.
5
+ # The package is found if all variables listed are TRUE.
6
+ # Example:
7
+ #
8
+ # FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 DEFAULT_MSG LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
9
+ #
10
+ # LibXml2 is considered to be found, if both LIBXML2_LIBRARIES and
11
+ # LIBXML2_INCLUDE_DIR are valid. Then also LIBXML2_FOUND is set to TRUE.
12
+ # If it is not found and REQUIRED was used, it fails with FATAL_ERROR,
13
+ # independent whether QUIET was used or not.
14
+ # If it is found, the location is reported using the VAR1 argument, so
15
+ # here a message "Found LibXml2: /usr/lib/libxml2.so" will be printed out.
16
+ # If the second argument is DEFAULT_MSG, the message in the failure case will
17
+ # be "Could NOT find LibXml2", if you don't like this message you can specify
18
+ # your own custom failure message there.
19
+
20
+ MACRO(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FAIL_MSG _VAR1 )
21
+
22
+ IF("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
23
+ IF (${_NAME}_FIND_REQUIRED)
24
+ SET(_FAIL_MESSAGE "Could not find REQUIRED package ${_NAME}")
25
+ ELSE (${_NAME}_FIND_REQUIRED)
26
+ SET(_FAIL_MESSAGE "Could not find OPTIONAL package ${_NAME}")
27
+ ENDIF (${_NAME}_FIND_REQUIRED)
28
+ ELSE("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
29
+ SET(_FAIL_MESSAGE "${_FAIL_MSG}")
30
+ ENDIF("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
31
+
32
+ STRING(TOUPPER ${_NAME} _NAME_UPPER)
33
+
34
+ SET(${_NAME_UPPER}_FOUND TRUE)
35
+ IF(NOT ${_VAR1})
36
+ SET(${_NAME_UPPER}_FOUND FALSE)
37
+ ENDIF(NOT ${_VAR1})
38
+
39
+ FOREACH(_CURRENT_VAR ${ARGN})
40
+ IF(NOT ${_CURRENT_VAR})
41
+ SET(${_NAME_UPPER}_FOUND FALSE)
42
+ ENDIF(NOT ${_CURRENT_VAR})
43
+ ENDFOREACH(_CURRENT_VAR)
44
+
45
+ IF (${_NAME_UPPER}_FOUND)
46
+ IF (NOT ${_NAME}_FIND_QUIETLY)
47
+ MESSAGE(STATUS "Found ${_NAME}: ${${_VAR1}}")
48
+ ENDIF (NOT ${_NAME}_FIND_QUIETLY)
49
+ ELSE (${_NAME_UPPER}_FOUND)
50
+ IF (${_NAME}_FIND_REQUIRED)
51
+ MESSAGE(FATAL_ERROR "${_FAIL_MESSAGE}")
52
+ ELSE (${_NAME}_FIND_REQUIRED)
53
+ IF (NOT ${_NAME}_FIND_QUIETLY)
54
+ MESSAGE(STATUS "${_FAIL_MESSAGE}")
55
+ ENDIF (NOT ${_NAME}_FIND_QUIETLY)
56
+ ENDIF (${_NAME}_FIND_REQUIRED)
57
+ ENDIF (${_NAME_UPPER}_FOUND)
58
+ ENDMACRO(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
@@ -0,0 +1,29 @@
1
+ # from http://websvn.kde.org/trunk/KDE/kdeedu/cmake/modules/FindReadline.cmake
2
+ # http://websvn.kde.org/trunk/KDE/kdeedu/cmake/modules/COPYING-CMAKE-SCRIPTS
3
+ # --> BSD licensed
4
+ #
5
+ # GNU Readline library finder
6
+ if(READLINE_INCLUDE_DIR AND READLINE_LIBRARY AND NCURSES_LIBRARY)
7
+ set(READLINE_FOUND TRUE)
8
+ else(READLINE_INCLUDE_DIR AND READLINE_LIBRARY AND NCURSES_LIBRARY)
9
+ FIND_PATH(READLINE_INCLUDE_DIR readline/readline.h
10
+ /usr/include/readline
11
+ )
12
+
13
+ # 2008-04-22 The next clause used to read like this:
14
+ #
15
+ # FIND_LIBRARY(READLINE_LIBRARY NAMES readline)
16
+ # FIND_LIBRARY(NCURSES_LIBRARY NAMES ncurses )
17
+ # include(FindPackageHandleStandardArgs)
18
+ # FIND_PACKAGE_HANDLE_STANDARD_ARGS(Readline DEFAULT_MSG NCURSES_LIBRARY READLINE_INCLUDE_DIR READLINE_LIBRARY )
19
+ #
20
+ # I was advised to modify it such that it will find an ncurses library if
21
+ # required, but not if one was explicitly given, that is, it allows the
22
+ # default to be overridden. PH
23
+
24
+ FIND_LIBRARY(READLINE_LIBRARY NAMES readline)
25
+ include(FindPackageHandleStandardArgs)
26
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(Readline DEFAULT_MSG READLINE_INCLUDE_DIR READLINE_LIBRARY )
27
+
28
+ MARK_AS_ADVANCED(READLINE_INCLUDE_DIR READLINE_LIBRARY)
29
+ endif(READLINE_INCLUDE_DIR AND READLINE_LIBRARY AND NCURSES_LIBRARY)
@@ -0,0 +1,15 @@
1
+ set(PACKAGE_VERSION_MAJOR @PCRE2_MAJOR@)
2
+ set(PACKAGE_VERSION_MINOR @PCRE2_MINOR@)
3
+ set(PACKAGE_VERSION_PATCH 0)
4
+ set(PACKAGE_VERSION @PCRE2_MAJOR@.@PCRE2_MINOR@.0)
5
+
6
+ # Check whether the requested PACKAGE_FIND_VERSION is compatible
7
+ if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION OR
8
+ PACKAGE_VERSION_MAJOR GREATER PACKAGE_FIND_VERSION_MAJOR)
9
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
10
+ else()
11
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
12
+ if(PACKAGE_VERSION VERSION_EQUAL PACKAGE_FIND_VERSION)
13
+ set(PACKAGE_VERSION_EXACT TRUE)
14
+ endif()
15
+ endif()
@@ -0,0 +1,148 @@
1
+ # pcre2-config.cmake
2
+ # ----------------
3
+ #
4
+ # Finds the PCRE2 library, specify the starting search path in PCRE2_ROOT.
5
+ #
6
+ # Static vs. shared
7
+ # -----------------
8
+ # To make use of the static library instead of the shared one, one needs
9
+ # to set the variable PCRE2_USE_STATIC_LIBS to ON before calling find_package.
10
+ # Example:
11
+ # set(PCRE2_USE_STATIC_LIBS ON)
12
+ # find_package(PCRE2 CONFIG COMPONENTS 8BIT)
13
+ #
14
+ # This will define the following variables:
15
+ #
16
+ # PCRE2_FOUND - True if the system has the PCRE2 library.
17
+ # PCRE2_VERSION - The version of the PCRE2 library which was found.
18
+ #
19
+ # and the following imported targets:
20
+ #
21
+ # PCRE2::8BIT - The 8 bit PCRE2 library.
22
+ # PCRE2::16BIT - The 16 bit PCRE2 library.
23
+ # PCRE2::32BIT - The 32 bit PCRE2 library.
24
+ # PCRE2::POSIX - The POSIX PCRE2 library.
25
+
26
+ set(PCRE2_NON_STANDARD_LIB_PREFIX @NON_STANDARD_LIB_PREFIX@)
27
+ set(PCRE2_NON_STANDARD_LIB_SUFFIX @NON_STANDARD_LIB_SUFFIX@)
28
+ set(PCRE2_8BIT_NAME pcre2-8)
29
+ set(PCRE2_16BIT_NAME pcre2-16)
30
+ set(PCRE2_32BIT_NAME pcre2-32)
31
+ set(PCRE2_POSIX_NAME pcre2-posix)
32
+ find_path(PCRE2_INCLUDE_DIR NAMES pcre2.h DOC "PCRE2 include directory")
33
+ if (PCRE2_USE_STATIC_LIBS)
34
+ if (MSVC)
35
+ set(PCRE2_8BIT_NAME pcre2-8-static)
36
+ set(PCRE2_16BIT_NAME pcre2-16-static)
37
+ set(PCRE2_32BIT_NAME pcre2-32-static)
38
+ set(PCRE2_POSIX_NAME pcre2-posix-static)
39
+ endif ()
40
+
41
+ set(PCRE2_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX})
42
+ set(PCRE2_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX})
43
+ else ()
44
+ set(PCRE2_PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX})
45
+ if (MINGW AND PCRE2_NON_STANDARD_LIB_PREFIX)
46
+ set(PCRE2_PREFIX "")
47
+ endif ()
48
+
49
+ set(PCRE2_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
50
+ if (MINGW AND PCRE2_NON_STANDARD_LIB_SUFFIX)
51
+ set(PCRE2_SUFFIX "-0.dll")
52
+ elseif(MSVC)
53
+ set(PCRE2_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX})
54
+ endif ()
55
+ endif ()
56
+ find_library(PCRE2_8BIT_LIBRARY NAMES ${PCRE2_PREFIX}${PCRE2_8BIT_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_8BIT_NAME}d${PCRE2_SUFFIX} DOC "8 bit PCRE2 library")
57
+ find_library(PCRE2_16BIT_LIBRARY NAMES ${PCRE2_PREFIX}${PCRE2_16BIT_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_16BIT_NAME}d${PCRE2_SUFFIX} DOC "16 bit PCRE2 library")
58
+ find_library(PCRE2_32BIT_LIBRARY NAMES ${PCRE2_PREFIX}${PCRE2_32BIT_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_32BIT_NAME}d${PCRE2_SUFFIX} DOC "32 bit PCRE2 library")
59
+ find_library(PCRE2_POSIX_LIBRARY NAMES ${PCRE2_PREFIX}${PCRE2_POSIX_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_POSIX_NAME}d${PCRE2_SUFFIX} DOC "8 bit POSIX PCRE2 library")
60
+ unset(PCRE2_NON_STANDARD_LIB_PREFIX)
61
+ unset(PCRE2_NON_STANDARD_LIB_SUFFIX)
62
+ unset(PCRE2_8BIT_NAME)
63
+ unset(PCRE2_16BIT_NAME)
64
+ unset(PCRE2_32BIT_NAME)
65
+ unset(PCRE2_POSIX_NAME)
66
+
67
+ # Set version
68
+ if (PCRE2_INCLUDE_DIR)
69
+ set(PCRE2_VERSION "@PCRE2_MAJOR@.@PCRE2_MINOR@.0")
70
+ endif ()
71
+
72
+ # Which components have been found.
73
+ if (PCRE2_8BIT_LIBRARY)
74
+ set(PCRE2_8BIT_FOUND TRUE)
75
+ endif ()
76
+ if (PCRE2_16BIT_LIBRARY)
77
+ set(PCRE2_16BIT_FOUND TRUE)
78
+ endif ()
79
+ if (PCRE2_32BIT_LIBRARY)
80
+ set(PCRE2_32BIT_FOUND TRUE)
81
+ endif ()
82
+ if (PCRE2_POSIX_LIBRARY)
83
+ set(PCRE2_POSIX_FOUND TRUE)
84
+ endif ()
85
+
86
+ # Check if at least one component has been specified.
87
+ list(LENGTH PCRE2_FIND_COMPONENTS PCRE2_NCOMPONENTS)
88
+ if (PCRE2_NCOMPONENTS LESS 1)
89
+ message(FATAL_ERROR "No components have been specified. This is not allowed. Please, specify at least one component.")
90
+ endif ()
91
+ unset(PCRE2_NCOMPONENTS)
92
+
93
+ # When POSIX component has been specified make sure that also 8BIT component is specified.
94
+ set(PCRE2_8BIT_COMPONENT FALSE)
95
+ set(PCRE2_POSIX_COMPONENT FALSE)
96
+ foreach(component ${PCRE2_FIND_COMPONENTS})
97
+ if (component STREQUAL "8BIT")
98
+ set(PCRE2_8BIT_COMPONENT TRUE)
99
+ elseif (component STREQUAL "POSIX")
100
+ set(PCRE2_POSIX_COMPONENT TRUE)
101
+ endif ()
102
+ endforeach()
103
+
104
+ if (PCRE2_POSIX_COMPONENT AND NOT PCRE2_8BIT_COMPONENT)
105
+ message(FATAL_ERROR "The component POSIX is specified while the 8BIT one is not. This is not allowed. Please, also specify the 8BIT component.")
106
+ endif()
107
+ unset(PCRE2_8BIT_COMPONENT)
108
+ unset(PCRE2_POSIX_COMPONENT)
109
+
110
+ include(FindPackageHandleStandardArgs)
111
+ set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG "${CMAKE_CURRENT_LIST_FILE}")
112
+ find_package_handle_standard_args(PCRE2
113
+ FOUND_VAR PCRE2_FOUND
114
+ REQUIRED_VARS PCRE2_INCLUDE_DIR
115
+ HANDLE_COMPONENTS
116
+ VERSION_VAR PCRE2_VERSION
117
+ CONFIG_MODE
118
+ )
119
+
120
+ set(PCRE2_LIBRARIES)
121
+ if (PCRE2_FOUND)
122
+ foreach(component ${PCRE2_FIND_COMPONENTS})
123
+ if (PCRE2_USE_STATIC_LIBS)
124
+ add_library(PCRE2::${component} STATIC IMPORTED)
125
+ target_compile_definitions(PCRE2::${component} INTERFACE PCRE2_STATIC)
126
+ else ()
127
+ add_library(PCRE2::${component} SHARED IMPORTED)
128
+ endif ()
129
+ set_target_properties(PCRE2::${component} PROPERTIES
130
+ IMPORTED_LOCATION "${PCRE2_${component}_LIBRARY}"
131
+ IMPORTED_IMPLIB "${PCRE2_${component}_LIBRARY}"
132
+ INTERFACE_INCLUDE_DIRECTORIES "${PCRE2_INCLUDE_DIR}"
133
+ )
134
+ if (component STREQUAL "POSIX")
135
+ set_target_properties(PCRE2::${component} PROPERTIES
136
+ INTERFACE_LINK_LIBRARIES "PCRE2::8BIT"
137
+ LINK_LIBRARIES "PCRE2::8BIT"
138
+ )
139
+ endif ()
140
+
141
+ set(PCRE2_LIBRARIES ${PCRE2_LIBRARIES} ${PCRE2_${component}_LIBRARY})
142
+ mark_as_advanced(PCRE2_${component}_LIBRARY)
143
+ endforeach()
144
+ endif ()
145
+
146
+ mark_as_advanced(
147
+ PCRE2_INCLUDE_DIR
148
+ )
@@ -0,0 +1,56 @@
1
+ /* config.h for CMake builds */
2
+
3
+ #cmakedefine HAVE_BUILTIN_MUL_OVERFLOW 1
4
+ #cmakedefine HAVE_ATTRIBUTE_UNINITIALIZED 1
5
+ #cmakedefine HAVE_DIRENT_H 1
6
+ #cmakedefine HAVE_SYS_STAT_H 1
7
+ #cmakedefine HAVE_SYS_TYPES_H 1
8
+ #cmakedefine HAVE_UNISTD_H 1
9
+ #cmakedefine HAVE_WINDOWS_H 1
10
+
11
+ #cmakedefine HAVE_BCOPY 1
12
+ #cmakedefine HAVE_MEMFD_CREATE 1
13
+ #cmakedefine HAVE_MEMMOVE 1
14
+ #cmakedefine HAVE_SECURE_GETENV 1
15
+ #cmakedefine HAVE_STRERROR 1
16
+
17
+ #cmakedefine SUPPORT_PCRE2_8 1
18
+ #cmakedefine SUPPORT_PCRE2_16 1
19
+ #cmakedefine SUPPORT_PCRE2_32 1
20
+ #cmakedefine PCRE2_DEBUG 1
21
+ #cmakedefine DISABLE_PERCENT_ZT 1
22
+
23
+ #cmakedefine SUPPORT_LIBBZ2 1
24
+ #cmakedefine SUPPORT_LIBEDIT 1
25
+ #cmakedefine SUPPORT_LIBREADLINE 1
26
+ #cmakedefine SUPPORT_LIBZ 1
27
+
28
+ #cmakedefine SUPPORT_JIT 1
29
+ #cmakedefine SLJIT_PROT_EXECUTABLE_ALLOCATOR 1
30
+ #cmakedefine SUPPORT_PCRE2GREP_JIT 1
31
+ #cmakedefine SUPPORT_PCRE2GREP_CALLOUT 1
32
+ #cmakedefine SUPPORT_PCRE2GREP_CALLOUT_FORK 1
33
+ #cmakedefine SUPPORT_UNICODE 1
34
+ #cmakedefine SUPPORT_VALGRIND 1
35
+
36
+ #cmakedefine BSR_ANYCRLF 1
37
+ #cmakedefine EBCDIC 1
38
+ #cmakedefine EBCDIC_NL25 1
39
+ #cmakedefine HEAP_MATCH_RECURSE 1
40
+ #cmakedefine NEVER_BACKSLASH_C 1
41
+
42
+ #define PCRE2_EXPORT @PCRE2_EXPORT@
43
+ #define LINK_SIZE @PCRE2_LINK_SIZE@
44
+ #define HEAP_LIMIT @PCRE2_HEAP_LIMIT@
45
+ #define MATCH_LIMIT @PCRE2_MATCH_LIMIT@
46
+ #define MATCH_LIMIT_DEPTH @PCRE2_MATCH_LIMIT_DEPTH@
47
+ #define MAX_VARLOOKBEHIND @PCRE2_MAX_VARLOOKBEHIND@
48
+ #define NEWLINE_DEFAULT @NEWLINE_DEFAULT@
49
+ #define PARENS_NEST_LIMIT @PCRE2_PARENS_NEST_LIMIT@
50
+ #define PCRE2GREP_BUFSIZE @PCRE2GREP_BUFSIZE@
51
+ #define PCRE2GREP_MAX_BUFSIZE @PCRE2GREP_MAX_BUFSIZE@
52
+
53
+ #define MAX_NAME_SIZE 128
54
+ #define MAX_NAME_COUNT 10000
55
+
56
+ /* end config.h for CMake builds */
@@ -0,0 +1,13 @@
1
+ # Package Information for pkg-config
2
+
3
+ prefix=@prefix@
4
+ exec_prefix=@exec_prefix@
5
+ libdir=@libdir@
6
+ includedir=@includedir@
7
+
8
+ Name: libpcre2-16
9
+ Description: PCRE2 - Perl compatible regular expressions C library (2nd API) with 16 bit character support
10
+ Version: @PACKAGE_VERSION@
11
+ Libs: -L${libdir} -lpcre2-16@LIB_POSTFIX@
12
+ Libs.private: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
13
+ Cflags: -I${includedir} @PCRE2_STATIC_CFLAG@
@@ -0,0 +1,13 @@
1
+ # Package Information for pkg-config
2
+
3
+ prefix=@prefix@
4
+ exec_prefix=@exec_prefix@
5
+ libdir=@libdir@
6
+ includedir=@includedir@
7
+
8
+ Name: libpcre2-32
9
+ Description: PCRE2 - Perl compatible regular expressions C library (2nd API) with 32 bit character support
10
+ Version: @PACKAGE_VERSION@
11
+ Libs: -L${libdir} -lpcre2-32@LIB_POSTFIX@
12
+ Libs.private: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
13
+ Cflags: -I${includedir} @PCRE2_STATIC_CFLAG@
@@ -0,0 +1,13 @@
1
+ # Package Information for pkg-config
2
+
3
+ prefix=@prefix@
4
+ exec_prefix=@exec_prefix@
5
+ libdir=@libdir@
6
+ includedir=@includedir@
7
+
8
+ Name: libpcre2-8
9
+ Description: PCRE2 - Perl compatible regular expressions C library (2nd API) with 8 bit character support
10
+ Version: @PACKAGE_VERSION@
11
+ Libs: -L${libdir} -lpcre2-8@LIB_POSTFIX@
12
+ Libs.private: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
13
+ Cflags: -I${includedir} @PCRE2_STATIC_CFLAG@
@@ -0,0 +1,13 @@
1
+ # Package Information for pkg-config
2
+
3
+ prefix=@prefix@
4
+ exec_prefix=@exec_prefix@
5
+ libdir=@libdir@
6
+ includedir=@includedir@
7
+
8
+ Name: libpcre2-posix
9
+ Description: Posix compatible interface to libpcre2-8
10
+ Version: @PACKAGE_VERSION@
11
+ Libs: -L${libdir} -lpcre2-posix@LIB_POSTFIX@
12
+ Cflags: -I${includedir} @PCRE2POSIX_CFLAG@
13
+ Requires.private: libpcre2-8
@@ -0,0 +1,121 @@
1
+ #!/bin/sh
2
+
3
+ prefix=@prefix@
4
+ exec_prefix=@exec_prefix@
5
+ exec_prefix_set=no
6
+
7
+ cflags="[--cflags]"
8
+ libs=
9
+
10
+ if test @enable_pcre2_16@ = yes ; then
11
+ libs="[--libs16] $libs"
12
+ fi
13
+
14
+ if test @enable_pcre2_32@ = yes ; then
15
+ libs="[--libs32] $libs"
16
+ fi
17
+
18
+ if test @enable_pcre2_8@ = yes ; then
19
+ libs="[--libs8] [--libs-posix] $libs"
20
+ cflags="$cflags [--cflags-posix]"
21
+ fi
22
+
23
+ usage="Usage: pcre2-config [--prefix] [--exec-prefix] [--version] $libs $cflags"
24
+
25
+ if test $# -eq 0; then
26
+ echo "${usage}" 1>&2
27
+ exit 1
28
+ fi
29
+
30
+ libR=
31
+ case `uname -s` in
32
+ *SunOS*)
33
+ libR=" -R@libdir@"
34
+ ;;
35
+ *BSD*)
36
+ libR=" -Wl,-R@libdir@"
37
+ ;;
38
+ esac
39
+
40
+ libS=
41
+ if test @libdir@ != /usr/lib ; then
42
+ libS=-L@libdir@
43
+ fi
44
+
45
+ while test $# -gt 0; do
46
+ case "$1" in
47
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
48
+ *) optarg= ;;
49
+ esac
50
+
51
+ case $1 in
52
+ --prefix=*)
53
+ prefix=$optarg
54
+ if test $exec_prefix_set = no ; then
55
+ exec_prefix=$optarg
56
+ fi
57
+ ;;
58
+ --prefix)
59
+ echo $prefix
60
+ ;;
61
+ --exec-prefix=*)
62
+ exec_prefix=$optarg
63
+ exec_prefix_set=yes
64
+ ;;
65
+ --exec-prefix)
66
+ echo $exec_prefix
67
+ ;;
68
+ --version)
69
+ echo @PACKAGE_VERSION@
70
+ ;;
71
+ --cflags)
72
+ if test @includedir@ != /usr/include ; then
73
+ includes=-I@includedir@
74
+ fi
75
+ echo $includes @PCRE2_STATIC_CFLAG@
76
+ ;;
77
+ --cflags-posix)
78
+ if test @enable_pcre2_8@ = yes ; then
79
+ if test @includedir@ != /usr/include ; then
80
+ includes=-I@includedir@
81
+ fi
82
+ echo $includes @PCRE2POSIX_CFLAG@
83
+ else
84
+ echo "${usage}" 1>&2
85
+ fi
86
+ ;;
87
+ --libs-posix)
88
+ if test @enable_pcre2_8@ = yes ; then
89
+ echo $libS$libR -lpcre2-posix@LIB_POSTFIX@ -lpcre2-8@LIB_POSTFIX@
90
+ else
91
+ echo "${usage}" 1>&2
92
+ fi
93
+ ;;
94
+ --libs8)
95
+ if test @enable_pcre2_8@ = yes ; then
96
+ echo $libS$libR -lpcre2-8@LIB_POSTFIX@
97
+ else
98
+ echo "${usage}" 1>&2
99
+ fi
100
+ ;;
101
+ --libs16)
102
+ if test @enable_pcre2_16@ = yes ; then
103
+ echo $libS$libR -lpcre2-16@LIB_POSTFIX@
104
+ else
105
+ echo "${usage}" 1>&2
106
+ fi
107
+ ;;
108
+ --libs32)
109
+ if test @enable_pcre2_32@ = yes ; then
110
+ echo $libS$libR -lpcre2-32@LIB_POSTFIX@
111
+ else
112
+ echo "${usage}" 1>&2
113
+ fi
114
+ ;;
115
+ *)
116
+ echo "${usage}" 1>&2
117
+ exit 1
118
+ ;;
119
+ esac
120
+ shift
121
+ done