Mxx_ru 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. data/COPYING +26 -0
  2. data/NEWS +52 -0
  3. data/README +21 -0
  4. data/Rakefile +32 -0
  5. data/examples/exe_and_lib/main.cpp +15 -0
  6. data/examples/exe_and_lib/prj.rb +11 -0
  7. data/examples/exe_and_lib/say.cpp +13 -0
  8. data/examples/exe_and_lib/say.hpp +11 -0
  9. data/examples/exe_and_lib/say.rb +7 -0
  10. data/examples/exe_dll_lib/inout.cpp +15 -0
  11. data/examples/exe_dll_lib/inout.hpp +26 -0
  12. data/examples/exe_dll_lib/inout.rb +18 -0
  13. data/examples/exe_dll_lib/main.cpp +23 -0
  14. data/examples/exe_dll_lib/prj.rb +11 -0
  15. data/examples/exe_dll_lib/say.cpp +13 -0
  16. data/examples/exe_dll_lib/say.hpp +12 -0
  17. data/examples/exe_dll_lib/say.rb +9 -0
  18. data/examples/exe_dll_lib_2/build.rb +7 -0
  19. data/examples/exe_dll_lib_2/inout/inout.cpp +15 -0
  20. data/examples/exe_dll_lib_2/inout/inout.hpp +26 -0
  21. data/examples/exe_dll_lib_2/inout/prj.rb +16 -0
  22. data/examples/exe_dll_lib_2/main/main.cpp +23 -0
  23. data/examples/exe_dll_lib_2/main/prj.rb +9 -0
  24. data/examples/exe_dll_lib_2/say/prj.rb +8 -0
  25. data/examples/exe_dll_lib_2/say/say.cpp +13 -0
  26. data/examples/exe_dll_lib_2/say/say.hpp +12 -0
  27. data/examples/simple_exe/main.cpp +26 -0
  28. data/examples/simple_exe/prj.rb +7 -0
  29. data/lib/mxx_ru/abstract_target.rb +283 -0
  30. data/lib/mxx_ru/binary_target.rb +89 -0
  31. data/lib/mxx_ru/binary_unittest.rb +130 -0
  32. data/lib/mxx_ru/cpp/analyzer.rb +230 -0
  33. data/lib/mxx_ru/cpp/composite.rb +106 -0
  34. data/lib/mxx_ru/cpp/detect_toolset.rb +122 -0
  35. data/lib/mxx_ru/cpp/mode.rb +85 -0
  36. data/lib/mxx_ru/cpp/obj_placement.rb +321 -0
  37. data/lib/mxx_ru/cpp/qt.rb +333 -0
  38. data/lib/mxx_ru/cpp/rucodegen.rb +114 -0
  39. data/lib/mxx_ru/cpp/source_file.rb +71 -0
  40. data/lib/mxx_ru/cpp/target.rb +1371 -0
  41. data/lib/mxx_ru/cpp/toolset.rb +1029 -0
  42. data/lib/mxx_ru/cpp/toolsets/bcc_win32_5.rb +52 -0
  43. data/lib/mxx_ru/cpp/toolsets/bcc_win32_family.rb +451 -0
  44. data/lib/mxx_ru/cpp/toolsets/c89_etk_nsk.rb +56 -0
  45. data/lib/mxx_ru/cpp/toolsets/c89_nsk.rb +56 -0
  46. data/lib/mxx_ru/cpp/toolsets/c89_nsk_family.rb +273 -0
  47. data/lib/mxx_ru/cpp/toolsets/gcc_cygwin.rb +54 -0
  48. data/lib/mxx_ru/cpp/toolsets/gcc_family.rb +382 -0
  49. data/lib/mxx_ru/cpp/toolsets/gcc_linux.rb +60 -0
  50. data/lib/mxx_ru/cpp/toolsets/gcc_mingw.rb +144 -0
  51. data/lib/mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb +87 -0
  52. data/lib/mxx_ru/cpp/toolsets/vc7.rb +62 -0
  53. data/lib/mxx_ru/cpp/toolsets/vc8.rb +452 -0
  54. data/lib/mxx_ru/cpp/toolsets/vc_family.rb +428 -0
  55. data/lib/mxx_ru/cpp.rb +36 -0
  56. data/lib/mxx_ru/ex.rb +134 -0
  57. data/lib/mxx_ru/makestyle_generator.rb +138 -0
  58. data/lib/mxx_ru/textfile_unittest.rb +284 -0
  59. data/lib/mxx_ru/util.rb +258 -0
  60. data/tests/c/pcre/chartables.c +183 -0
  61. data/tests/c/pcre/config.h +99 -0
  62. data/tests/c/pcre/dftables.c +167 -0
  63. data/tests/c/pcre/get.c +349 -0
  64. data/tests/c/pcre/internal.h +677 -0
  65. data/tests/c/pcre/maketables.c +140 -0
  66. data/tests/c/pcre/pcre.c +8304 -0
  67. data/tests/c/pcre/pcre.h +193 -0
  68. data/tests/c/pcre/pcre.rb +14 -0
  69. data/tests/c/pcre/pcredemo.c +316 -0
  70. data/tests/c/pcre/pcregrep.c +642 -0
  71. data/tests/c/pcre/pcreposix.c +305 -0
  72. data/tests/c/pcre/pcreposix.h +88 -0
  73. data/tests/c/pcre/pcretest.c +1483 -0
  74. data/tests/c/pcre/perltest +211 -0
  75. data/tests/c/pcre/printint.c +360 -0
  76. data/tests/c/pcre/study.c +472 -0
  77. data/tests/cpp/mswin_res_dll/build.rb +14 -0
  78. data/tests/cpp/mswin_res_dll/dll.cpp +17 -0
  79. data/tests/cpp/mswin_res_dll/dll.rb +30 -0
  80. data/tests/cpp/mswin_res_dll/dll.rc +48 -0
  81. data/tests/cpp/mswin_res_dll/h/dll.hpp +8 -0
  82. data/tests/cpp/mswin_res_dll/h/res.h +3 -0
  83. data/tests/cpp/mswin_res_dll/main.cpp +13 -0
  84. data/tests/cpp/mswin_res_dll/main.rb +20 -0
  85. data/tests/cpp/mswin_res_dll/res/tree_fol.bmp +0 -0
  86. data/tests/cpp/mswin_res_dll/res/tree_state_1.bmp +0 -0
  87. data/tests/cpp/mswin_res_dll/res/tree_state_2.bmp +0 -0
  88. data/tests/cpp/mswin_res_exe/build.rb +23 -0
  89. data/tests/cpp/mswin_res_exe/h/res.h +3 -0
  90. data/tests/cpp/mswin_res_exe/main.cpp +17 -0
  91. data/tests/cpp/mswin_res_exe/main.rc +48 -0
  92. data/tests/cpp/mswin_res_exe/res/tree_fol.bmp +0 -0
  93. data/tests/cpp/mswin_res_exe/res/tree_state_1.bmp +0 -0
  94. data/tests/cpp/mswin_res_exe/res/tree_state_2.bmp +0 -0
  95. data/tests/cpp/rucodegen/host_config.cpp +20 -0
  96. data/tests/cpp/rucodegen/host_config.rb +14 -0
  97. data/tests/cpp/rucodegen/impl/conn_params.cpp +7 -0
  98. data/tests/cpp/rucodegen/impl/conn_params.rb +14 -0
  99. data/tests/cpp/rucodegen/impl/h/conn_params.hpp +10 -0
  100. data/tests/cpp/rucodegen/prj.rb +17 -0
  101. data/tests/cpp/textfile_unittest/build.rb +8 -0
  102. data/tests/cpp/textfile_unittest/etalons/out_0.txt +0 -0
  103. data/tests/cpp/textfile_unittest/etalons/out_1.txt +1 -0
  104. data/tests/cpp/textfile_unittest/etalons/out_128.txt +128 -0
  105. data/tests/cpp/textfile_unittest/main.cpp +89 -0
  106. data/tests/cpp/textfile_unittest/prj.rb +8 -0
  107. data/tests/cpp/textfile_unittest/prj.ut.rb +18 -0
  108. data/tests/cpp/toolset_name.rb +6 -0
  109. data/tests/cpp/vc_cleanup/cout.log +72 -0
  110. data/tests/cpp/vc_cleanup/dll_hi.cpp +5 -0
  111. data/tests/cpp/vc_cleanup/exe_hi.cpp +10 -0
  112. data/tests/cpp/vc_cleanup/lib_hi.cpp +5 -0
  113. data/tests/cpp/vc_cleanup/prj_dll_no_implib.rb +10 -0
  114. data/tests/cpp/vc_cleanup/prj_dll_no_implib_simple_target_root.rb +11 -0
  115. data/tests/cpp/vc_cleanup/prj_dll_with_implib.rb +11 -0
  116. data/tests/cpp/vc_cleanup/prj_dll_with_implib_simple_target_root.rb +14 -0
  117. data/tests/cpp/vc_cleanup/prj_exe_no_implib.rb +10 -0
  118. data/tests/cpp/vc_cleanup/prj_exe_no_implib_simple_target_root.rb +11 -0
  119. data/tests/cpp/vc_cleanup/prj_lib.rb +10 -0
  120. data/tests/cpp/vc_cleanup/prj_lib_with_simple_target_root.rb +11 -0
  121. data/tests/cpp/vc_cleanup/tc_vc_cleanup.rb +60 -0
  122. data/tests/mxx_ru/change_default_value/ignoring_by_build_root/build.rb +8 -0
  123. data/tests/mxx_ru/change_default_value/ignoring_by_build_root/child_1.rb +5 -0
  124. data/tests/mxx_ru/change_default_value/ignoring_by_child_1/build.rb +7 -0
  125. data/tests/mxx_ru/change_default_value/ignoring_by_child_1/child_1.rb +5 -0
  126. data/tests/mxx_ru/change_default_value/ignoring_by_child_1/child_2.rb +5 -0
  127. data/tests/mxx_ru/change_default_value/ok/build.rb +8 -0
  128. data/tests/mxx_ru/change_default_value/ok/child_1.rb +8 -0
  129. data/tests/mxx_ru/tc_makestyle_generator.rb +117 -0
  130. data/tests/mxx_ru/vc8/tc_actual_manifest.rb +230 -0
  131. data/tests/mxx_ru/vc8/tc_append_mt_commands.rb +104 -0
  132. data/tests/mxx_ru/vc8/tc_default_manifest.rb +17 -0
  133. data/tests/mxx_ru/vc8/tc_define_manifest.rb +173 -0
  134. data/tests/mxx_ru/vc8/tc_drop_default_manifest.rb +16 -0
  135. data/tests/mxx_ru/vc8/tc_invalid_params.rb +81 -0
  136. data/tests/mxx_ru/vc8/ts_vc8.rb +10 -0
  137. data/tests/qt/aclock/aclock.cpp +148 -0
  138. data/tests/qt/aclock/aclock.h +45 -0
  139. data/tests/qt/aclock/main.cpp +28 -0
  140. data/tests/qt/aclock/prj.rb +21 -0
  141. data/tests/qt/iconview/main.cpp +76 -0
  142. data/tests/qt/iconview/prj.rb +21 -0
  143. data/tests/qt/toplevel/main.cpp +9 -0
  144. data/tests/qt/toplevel/options.ui +587 -0
  145. data/tests/qt/toplevel/options.ui.h +98 -0
  146. data/tests/qt/toplevel/prj.rb +21 -0
  147. metadata +241 -0
@@ -0,0 +1,140 @@
1
+ /*************************************************
2
+ * Perl-Compatible Regular Expressions *
3
+ *************************************************/
4
+
5
+ /*
6
+ PCRE is a library of functions to support regular expressions whose syntax
7
+ and semantics are as close as possible to those of the Perl 5 language.
8
+
9
+ Written by: Philip Hazel <ph10@cam.ac.uk>
10
+
11
+ Copyright (c) 1997-2003 University of Cambridge
12
+
13
+ -----------------------------------------------------------------------------
14
+ Permission is granted to anyone to use this software for any purpose on any
15
+ computer system, and to redistribute it freely, subject to the following
16
+ restrictions:
17
+
18
+ 1. This software is distributed in the hope that it will be useful,
19
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21
+
22
+ 2. The origin of this software must not be misrepresented, either by
23
+ explicit claim or by omission.
24
+
25
+ 3. Altered versions must be plainly marked as such, and must not be
26
+ misrepresented as being the original software.
27
+
28
+ 4. If PCRE is embedded in any software that is released under the GNU
29
+ General Purpose Licence (GPL), then the terms of that licence shall
30
+ supersede any condition above with which it is incompatible.
31
+ -----------------------------------------------------------------------------
32
+
33
+ See the file Tech.Notes for some information on the internals.
34
+ */
35
+
36
+
37
+ /* This file is compiled on its own as part of the PCRE library. However,
38
+ it is also included in the compilation of dftables.c, in which case the macro
39
+ DFTABLES is defined. */
40
+
41
+ #ifndef DFTABLES
42
+ #include "internal.h"
43
+ #endif
44
+
45
+
46
+
47
+ /*************************************************
48
+ * Create PCRE character tables *
49
+ *************************************************/
50
+
51
+ /* This function builds a set of character tables for use by PCRE and returns
52
+ a pointer to them. They are build using the ctype functions, and consequently
53
+ their contents will depend upon the current locale setting. When compiled as
54
+ part of the library, the store is obtained via pcre_malloc(), but when compiled
55
+ inside dftables, use malloc().
56
+
57
+ Arguments: none
58
+ Returns: pointer to the contiguous block of data
59
+ */
60
+
61
+ const unsigned char *
62
+ pcre_maketables(void)
63
+ {
64
+ unsigned char *yield, *p;
65
+ int i;
66
+
67
+ #ifndef DFTABLES
68
+ yield = (unsigned char*)(pcre_malloc)(tables_length);
69
+ #else
70
+ yield = (unsigned char*)malloc(tables_length);
71
+ #endif
72
+
73
+ if (yield == NULL) return NULL;
74
+ p = yield;
75
+
76
+ /* First comes the lower casing table */
77
+
78
+ for (i = 0; i < 256; i++) *p++ = tolower(i);
79
+
80
+ /* Next the case-flipping table */
81
+
82
+ for (i = 0; i < 256; i++) *p++ = islower(i)? toupper(i) : tolower(i);
83
+
84
+ /* Then the character class tables. Don't try to be clever and save effort
85
+ on exclusive ones - in some locales things may be different. Note that the
86
+ table for "space" includes everything "isspace" gives, including VT in the
87
+ default locale. This makes it work for the POSIX class [:space:]. */
88
+
89
+ memset(p, 0, cbit_length);
90
+ for (i = 0; i < 256; i++)
91
+ {
92
+ if (isdigit(i))
93
+ {
94
+ p[cbit_digit + i/8] |= 1 << (i&7);
95
+ p[cbit_word + i/8] |= 1 << (i&7);
96
+ }
97
+ if (isupper(i))
98
+ {
99
+ p[cbit_upper + i/8] |= 1 << (i&7);
100
+ p[cbit_word + i/8] |= 1 << (i&7);
101
+ }
102
+ if (islower(i))
103
+ {
104
+ p[cbit_lower + i/8] |= 1 << (i&7);
105
+ p[cbit_word + i/8] |= 1 << (i&7);
106
+ }
107
+ if (i == '_') p[cbit_word + i/8] |= 1 << (i&7);
108
+ if (isspace(i)) p[cbit_space + i/8] |= 1 << (i&7);
109
+ if (isxdigit(i))p[cbit_xdigit + i/8] |= 1 << (i&7);
110
+ if (isgraph(i)) p[cbit_graph + i/8] |= 1 << (i&7);
111
+ if (isprint(i)) p[cbit_print + i/8] |= 1 << (i&7);
112
+ if (ispunct(i)) p[cbit_punct + i/8] |= 1 << (i&7);
113
+ if (iscntrl(i)) p[cbit_cntrl + i/8] |= 1 << (i&7);
114
+ }
115
+ p += cbit_length;
116
+
117
+ /* Finally, the character type table. In this, we exclude VT from the white
118
+ space chars, because Perl doesn't recognize it as such for \s and for comments
119
+ within regexes. */
120
+
121
+ for (i = 0; i < 256; i++)
122
+ {
123
+ int x = 0;
124
+ if (i != 0x0b && isspace(i)) x += ctype_space;
125
+ if (isalpha(i)) x += ctype_letter;
126
+ if (isdigit(i)) x += ctype_digit;
127
+ if (isxdigit(i)) x += ctype_xdigit;
128
+ if (isalnum(i) || i == '_') x += ctype_word;
129
+
130
+ /* Note: strchr includes the terminating zero in the characters it considers.
131
+ In this instance, that is ok because we want binary zero to be flagged as a
132
+ meta-character, which in this sense is any character that terminates a run
133
+ of data characters. */
134
+
135
+ if (strchr("*+?{^.$|()[", i) != 0) x += ctype_meta; *p++ = x; }
136
+
137
+ return yield;
138
+ }
139
+
140
+ /* End of maketables.c */