pygments.rb 0.5.4 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (267) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +3 -0
  4. data/lexers +0 -0
  5. data/lib/pygments/popen.rb +3 -2
  6. data/lib/pygments/version.rb +1 -1
  7. data/pygments.rb.gemspec +2 -1
  8. data/vendor/pygments-main/AUTHORS +20 -1
  9. data/vendor/pygments-main/CHANGES +55 -3
  10. data/vendor/pygments-main/LICENSE +1 -1
  11. data/vendor/pygments-main/MANIFEST.in +1 -1
  12. data/vendor/pygments-main/Makefile +5 -8
  13. data/vendor/pygments-main/REVISION +1 -1
  14. data/vendor/pygments-main/doc/Makefile +153 -0
  15. data/vendor/pygments-main/doc/_static/favicon.ico +0 -0
  16. data/vendor/pygments-main/doc/_static/logo_new.png +0 -0
  17. data/vendor/pygments-main/doc/_static/logo_only.png +0 -0
  18. data/vendor/pygments-main/doc/_templates/docssidebar.html +3 -0
  19. data/vendor/pygments-main/doc/_templates/indexsidebar.html +25 -0
  20. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +98 -0
  21. data/vendor/pygments-main/doc/_themes/pygments14/static/bodybg.png +0 -0
  22. data/vendor/pygments-main/doc/_themes/pygments14/static/docbg.png +0 -0
  23. data/vendor/pygments-main/doc/_themes/pygments14/static/listitem.png +0 -0
  24. data/vendor/pygments-main/doc/_themes/pygments14/static/logo.png +0 -0
  25. data/vendor/pygments-main/doc/_themes/pygments14/static/pocoo.png +0 -0
  26. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +401 -0
  27. data/vendor/pygments-main/doc/_themes/pygments14/theme.conf +15 -0
  28. data/vendor/pygments-main/doc/conf.py +249 -0
  29. data/vendor/pygments-main/doc/docs/api.rst +316 -0
  30. data/vendor/pygments-main/doc/docs/authors.rst +4 -0
  31. data/vendor/pygments-main/doc/docs/changelog.rst +1 -0
  32. data/vendor/pygments-main/{docs/src/cmdline.txt → doc/docs/cmdline.rst} +9 -11
  33. data/vendor/pygments-main/{docs/src/filterdevelopment.txt → doc/docs/filterdevelopment.rst} +1 -1
  34. data/vendor/pygments-main/{docs/src/filters.txt → doc/docs/filters.rst} +4 -5
  35. data/vendor/pygments-main/{docs/src/formatterdevelopment.txt → doc/docs/formatterdevelopment.rst} +1 -1
  36. data/vendor/pygments-main/{docs/src/formatters.txt → doc/docs/formatters.rst} +6 -6
  37. data/vendor/pygments-main/doc/docs/index.rst +66 -0
  38. data/vendor/pygments-main/{docs/src/integrate.txt → doc/docs/integrate.rst} +3 -7
  39. data/vendor/pygments-main/{docs/src/java.txt → doc/docs/java.rst} +0 -0
  40. data/vendor/pygments-main/{docs/src/lexerdevelopment.txt → doc/docs/lexerdevelopment.rst} +13 -14
  41. data/vendor/pygments-main/{docs/src/lexers.txt → doc/docs/lexers.rst} +7 -5
  42. data/vendor/pygments-main/{docs/src/moinmoin.txt → doc/docs/moinmoin.rst} +0 -0
  43. data/vendor/pygments-main/{docs/src/plugins.txt → doc/docs/plugins.rst} +0 -0
  44. data/vendor/pygments-main/{docs/src/quickstart.txt → doc/docs/quickstart.rst} +22 -19
  45. data/vendor/pygments-main/{docs/src/rstdirective.txt → doc/docs/rstdirective.rst} +0 -0
  46. data/vendor/pygments-main/{docs/src/styles.txt → doc/docs/styles.rst} +2 -2
  47. data/vendor/pygments-main/{docs/src/tokens.txt → doc/docs/tokens.rst} +10 -7
  48. data/vendor/pygments-main/{docs/src/unicode.txt → doc/docs/unicode.rst} +8 -7
  49. data/vendor/pygments-main/doc/download.rst +41 -0
  50. data/vendor/pygments-main/doc/faq.rst +143 -0
  51. data/vendor/pygments-main/doc/index.rst +53 -0
  52. data/vendor/pygments-main/doc/languages.rst +151 -0
  53. data/vendor/pygments-main/doc/make.bat +190 -0
  54. data/vendor/pygments-main/{docs → doc}/pygmentize.1 +0 -0
  55. data/vendor/pygments-main/external/autopygmentize +65 -48
  56. data/vendor/pygments-main/external/markdown-processor.py +15 -15
  57. data/vendor/pygments-main/external/moin-parser.py +1 -1
  58. data/vendor/pygments-main/external/rst-directive.py +2 -3
  59. data/vendor/pygments-main/ez_setup.py +340 -234
  60. data/vendor/pygments-main/pygments/__init__.py +4 -4
  61. data/vendor/pygments-main/pygments/cmdline.py +81 -68
  62. data/vendor/pygments-main/pygments/console.py +1 -1
  63. data/vendor/pygments-main/pygments/filter.py +1 -1
  64. data/vendor/pygments-main/pygments/filters/__init__.py +11 -9
  65. data/vendor/pygments-main/pygments/formatter.py +3 -3
  66. data/vendor/pygments-main/pygments/formatters/__init__.py +5 -3
  67. data/vendor/pygments-main/pygments/formatters/_mapping.py +16 -5
  68. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  69. data/vendor/pygments-main/pygments/formatters/html.py +44 -26
  70. data/vendor/pygments-main/pygments/formatters/img.py +21 -14
  71. data/vendor/pygments-main/pygments/formatters/latex.py +104 -12
  72. data/vendor/pygments-main/pygments/formatters/other.py +53 -6
  73. data/vendor/pygments-main/pygments/formatters/rtf.py +30 -16
  74. data/vendor/pygments-main/pygments/formatters/svg.py +2 -2
  75. data/vendor/pygments-main/pygments/formatters/terminal.py +41 -1
  76. data/vendor/pygments-main/pygments/formatters/terminal256.py +2 -2
  77. data/vendor/pygments-main/pygments/lexer.py +59 -39
  78. data/vendor/pygments-main/pygments/lexers/__init__.py +38 -15
  79. data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1 -1
  80. data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +15 -15
  81. data/vendor/pygments-main/pygments/lexers/_cocoabuiltins.py +73 -0
  82. data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +11 -1
  83. data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +14 -8
  84. data/vendor/pygments-main/pygments/lexers/_mapping.py +81 -30
  85. data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +1 -1
  86. data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +1067 -95
  87. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +7 -7
  88. data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +5 -4
  89. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +1 -1
  90. data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +12 -7
  91. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +112 -18
  92. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +1 -1
  93. data/vendor/pygments-main/pygments/lexers/agile.py +644 -382
  94. data/vendor/pygments-main/pygments/lexers/asm.py +66 -29
  95. data/vendor/pygments-main/pygments/lexers/compiled.py +1643 -174
  96. data/vendor/pygments-main/pygments/lexers/dalvik.py +27 -6
  97. data/vendor/pygments-main/pygments/lexers/dotnet.py +45 -33
  98. data/vendor/pygments-main/pygments/lexers/foxpro.py +3 -3
  99. data/vendor/pygments-main/pygments/lexers/functional.py +1510 -570
  100. data/vendor/pygments-main/pygments/lexers/graph.py +81 -0
  101. data/vendor/pygments-main/pygments/lexers/hdl.py +29 -30
  102. data/vendor/pygments-main/pygments/lexers/inferno.py +96 -0
  103. data/vendor/pygments-main/pygments/lexers/jvm.py +622 -207
  104. data/vendor/pygments-main/pygments/lexers/math.py +438 -70
  105. data/vendor/pygments-main/pygments/lexers/other.py +885 -171
  106. data/vendor/pygments-main/pygments/lexers/parsers.py +24 -24
  107. data/vendor/pygments-main/pygments/lexers/qbasic.py +157 -0
  108. data/vendor/pygments-main/pygments/lexers/rdf.py +99 -0
  109. data/vendor/pygments-main/pygments/lexers/shell.py +28 -25
  110. data/vendor/pygments-main/pygments/lexers/special.py +7 -8
  111. data/vendor/pygments-main/pygments/lexers/sql.py +56 -23
  112. data/vendor/pygments-main/pygments/lexers/templates.py +377 -59
  113. data/vendor/pygments-main/pygments/lexers/text.py +208 -46
  114. data/vendor/pygments-main/pygments/lexers/web.py +729 -264
  115. data/vendor/pygments-main/pygments/modeline.py +1 -1
  116. data/vendor/pygments-main/pygments/plugin.py +1 -1
  117. data/vendor/pygments-main/pygments/scanner.py +1 -1
  118. data/vendor/pygments-main/pygments/sphinxext.py +153 -0
  119. data/vendor/pygments-main/pygments/style.py +3 -2
  120. data/vendor/pygments-main/pygments/styles/__init__.py +5 -1
  121. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  122. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  123. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  124. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  125. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  126. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  127. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  128. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  129. data/vendor/pygments-main/pygments/styles/igor.py +29 -0
  130. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  131. data/vendor/pygments-main/pygments/styles/monokai.py +4 -4
  132. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  133. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  134. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +125 -0
  135. data/vendor/pygments-main/pygments/styles/paraiso_light.py +125 -0
  136. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  137. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  138. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  139. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  140. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  141. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  142. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  143. data/vendor/pygments-main/pygments/styles/xcode.py +51 -0
  144. data/vendor/pygments-main/pygments/token.py +4 -1
  145. data/vendor/pygments-main/pygments/unistring.py +6 -5
  146. data/vendor/pygments-main/pygments/util.py +35 -21
  147. data/vendor/pygments-main/scripts/check_sources.py +28 -44
  148. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +5 -4
  149. data/vendor/pygments-main/scripts/find_codetags.py +27 -19
  150. data/vendor/pygments-main/scripts/find_error.py +16 -13
  151. data/vendor/pygments-main/scripts/get_vimkw.py +3 -3
  152. data/vendor/pygments-main/scripts/vim2pygments.py +9 -7
  153. data/vendor/pygments-main/setup.py +19 -19
  154. data/vendor/pygments-main/tests/examplefiles/99_bottles_of_beer.chpl +118 -0
  155. data/vendor/pygments-main/tests/examplefiles/Error.pmod +38 -0
  156. data/vendor/pygments-main/tests/examplefiles/FakeFile.pike +360 -0
  157. data/vendor/pygments-main/tests/examplefiles/{ANTLRv3.g → antlr_ANTLRv3.g} +0 -0
  158. data/vendor/pygments-main/tests/examplefiles/clojure-weird-keywords.clj +5 -0
  159. data/vendor/pygments-main/tests/examplefiles/core.cljs +52 -0
  160. data/vendor/pygments-main/tests/examplefiles/demo.cfm +13 -1
  161. data/vendor/pygments-main/tests/examplefiles/demo.hbs +12 -0
  162. data/vendor/pygments-main/tests/examplefiles/ember.handlebars +33 -0
  163. data/vendor/pygments-main/tests/examplefiles/example.als +217 -0
  164. data/vendor/pygments-main/tests/examplefiles/example.c +1 -1
  165. data/vendor/pygments-main/tests/examplefiles/example.chai +6 -0
  166. data/vendor/pygments-main/tests/examplefiles/example.coffee +27 -0
  167. data/vendor/pygments-main/tests/examplefiles/example.e +124 -0
  168. data/vendor/pygments-main/tests/examplefiles/example.f90 +8 -0
  169. data/vendor/pygments-main/tests/examplefiles/example.feature +16 -0
  170. data/vendor/pygments-main/tests/examplefiles/example.gd +23 -0
  171. data/vendor/pygments-main/tests/examplefiles/example.gi +64 -0
  172. data/vendor/pygments-main/tests/examplefiles/example.groovy +2 -0
  173. data/vendor/pygments-main/tests/examplefiles/example.hs +27 -0
  174. data/vendor/pygments-main/tests/examplefiles/example.hx +44 -1
  175. data/vendor/pygments-main/tests/examplefiles/example.i6t +32 -0
  176. data/vendor/pygments-main/tests/examplefiles/example.i7x +45 -0
  177. data/vendor/pygments-main/tests/examplefiles/example.inf +374 -0
  178. data/vendor/pygments-main/tests/examplefiles/example.j +564 -0
  179. data/vendor/pygments-main/tests/examplefiles/example.java +16 -0
  180. data/vendor/pygments-main/tests/examplefiles/example.kal +75 -0
  181. data/vendor/pygments-main/tests/examplefiles/example.liquid +42 -0
  182. data/vendor/pygments-main/tests/examplefiles/example.ma +8 -0
  183. data/vendor/pygments-main/tests/examplefiles/example.mq4 +187 -0
  184. data/vendor/pygments-main/tests/examplefiles/example.mqh +123 -0
  185. data/vendor/pygments-main/tests/examplefiles/example.ni +57 -0
  186. data/vendor/pygments-main/tests/examplefiles/example.nix +80 -0
  187. data/vendor/pygments-main/tests/examplefiles/example.pp +8 -0
  188. data/vendor/pygments-main/tests/examplefiles/example.red +257 -0
  189. data/vendor/pygments-main/tests/examplefiles/example.reds +150 -0
  190. data/vendor/pygments-main/tests/examplefiles/example.rkt +677 -29
  191. data/vendor/pygments-main/tests/examplefiles/example.sh +22 -0
  192. data/vendor/pygments-main/tests/examplefiles/example.slim +31 -0
  193. data/vendor/pygments-main/tests/examplefiles/example.sls +51 -0
  194. data/vendor/pygments-main/tests/examplefiles/example.stan +2 -0
  195. data/vendor/pygments-main/tests/examplefiles/example.todotxt +9 -0
  196. data/vendor/pygments-main/tests/examplefiles/exampleScript.cfc +241 -0
  197. data/vendor/pygments-main/tests/examplefiles/exampleTag.cfc +18 -0
  198. data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +192 -350
  199. data/vendor/pygments-main/tests/examplefiles/hash_syntax.rb +5 -0
  200. data/vendor/pygments-main/tests/examplefiles/hello.at +6 -0
  201. data/vendor/pygments-main/tests/examplefiles/hello.golo +5 -0
  202. data/vendor/pygments-main/tests/examplefiles/hello.lsl +12 -0
  203. data/vendor/pygments-main/tests/examplefiles/{File.hy → hybris_File.hy} +0 -0
  204. data/vendor/pygments-main/tests/examplefiles/{mg_sample.pro → idl_sample.pro} +0 -0
  205. data/vendor/pygments-main/tests/examplefiles/iex_example +23 -0
  206. data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +24 -24
  207. data/vendor/pygments-main/tests/examplefiles/language.hy +165 -0
  208. data/vendor/pygments-main/tests/examplefiles/limbo.b +456 -0
  209. data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +3 -1
  210. data/vendor/pygments-main/tests/examplefiles/main.cmake +2 -0
  211. data/vendor/pygments-main/tests/examplefiles/objc_example.m +163 -16
  212. data/vendor/pygments-main/tests/examplefiles/{example.p → openedge_example} +0 -0
  213. data/vendor/pygments-main/tests/examplefiles/pawn_example +25 -0
  214. data/vendor/pygments-main/tests/examplefiles/qbasic_example +2 -0
  215. data/vendor/pygments-main/tests/examplefiles/r6rs-comments.scm +23 -0
  216. data/vendor/pygments-main/tests/examplefiles/{robotframework.txt → robotframework_test.txt} +0 -0
  217. data/vendor/pygments-main/tests/examplefiles/rql-queries.rql +34 -0
  218. data/vendor/pygments-main/tests/examplefiles/scope.cirru +43 -0
  219. data/vendor/pygments-main/tests/examplefiles/sparql.rq +23 -0
  220. data/vendor/pygments-main/tests/examplefiles/test.R +37 -5
  221. data/vendor/pygments-main/tests/examplefiles/test.apl +26 -0
  222. data/vendor/pygments-main/tests/examplefiles/test.cyp +123 -0
  223. data/vendor/pygments-main/tests/examplefiles/test.idr +93 -0
  224. data/vendor/pygments-main/tests/examplefiles/test.mask +41 -0
  225. data/vendor/pygments-main/tests/examplefiles/test.pan +54 -0
  226. data/vendor/pygments-main/tests/examplefiles/test.php +3 -1
  227. data/vendor/pygments-main/tests/examplefiles/test.pig +148 -0
  228. data/vendor/pygments-main/tests/examplefiles/test.pwn +253 -0
  229. data/vendor/pygments-main/tests/examplefiles/test.r3 +27 -7
  230. data/vendor/pygments-main/tests/examplefiles/test.rsl +111 -0
  231. data/vendor/pygments-main/tests/examplefiles/test.swift +65 -0
  232. data/vendor/pygments-main/tests/examplefiles/test.zep +33 -0
  233. data/vendor/pygments-main/tests/examplefiles/unicode.go +10 -0
  234. data/vendor/pygments-main/tests/examplefiles/{test.bas → vbnet_test.bas} +0 -0
  235. data/vendor/pygments-main/tests/examplefiles/vctreestatus_hg +4 -0
  236. data/vendor/pygments-main/tests/examplefiles/vimrc +21 -0
  237. data/vendor/pygments-main/tests/run.py +14 -19
  238. data/vendor/pygments-main/tests/string_asserts.py +22 -0
  239. data/vendor/pygments-main/tests/test_basic_api.py +28 -14
  240. data/vendor/pygments-main/tests/test_cfm.py +46 -0
  241. data/vendor/pygments-main/tests/test_clexer.py +208 -3
  242. data/vendor/pygments-main/tests/test_cmdline.py +6 -5
  243. data/vendor/pygments-main/tests/test_examplefiles.py +30 -19
  244. data/vendor/pygments-main/tests/test_html_formatter.py +15 -13
  245. data/vendor/pygments-main/tests/test_latex_formatter.py +4 -2
  246. data/vendor/pygments-main/tests/test_lexers_other.py +11 -11
  247. data/vendor/pygments-main/tests/test_objectiveclexer.py +81 -0
  248. data/vendor/pygments-main/tests/test_perllexer.py +1 -1
  249. data/vendor/pygments-main/tests/test_qbasiclexer.py +43 -0
  250. data/vendor/pygments-main/tests/test_regexlexer.py +8 -1
  251. data/vendor/pygments-main/tests/test_rtf_formatter.py +109 -0
  252. data/vendor/pygments-main/tests/test_string_asserts.py +39 -0
  253. data/vendor/pygments-main/tests/test_token.py +3 -3
  254. data/vendor/pygments-main/tests/test_using_api.py +1 -1
  255. data/vendor/pygments-main/tests/test_util.py +1 -1
  256. metadata +138 -51
  257. data/vendor/pygments-main/docs/generate.py +0 -472
  258. data/vendor/pygments-main/docs/src/api.txt +0 -270
  259. data/vendor/pygments-main/docs/src/authors.txt +0 -5
  260. data/vendor/pygments-main/docs/src/changelog.txt +0 -5
  261. data/vendor/pygments-main/docs/src/index.txt +0 -69
  262. data/vendor/pygments-main/docs/src/installation.txt +0 -71
  263. data/vendor/pygments-main/external/rst-directive-old.py +0 -77
  264. data/vendor/pygments-main/scripts/reindent.py +0 -291
  265. data/vendor/pygments-main/tests/examplefiles/import.hs +0 -4
  266. data/vendor/pygments-main/tests/examplefiles/objc_example2.m +0 -24
  267. data/vendor/pygments-main/tests/old_run.py +0 -138
@@ -0,0 +1,253 @@
1
+ #include <core>
2
+
3
+ // Single line comment
4
+ /* Multi line
5
+ comment */
6
+
7
+ /// documentation
8
+ /**
9
+
10
+ documentation multi line
11
+
12
+ **/
13
+
14
+ public OnGameModeInit() {
15
+ printf("Hello, World!");
16
+ }
17
+
18
+ enum info {
19
+ Float:ex;
20
+ exa,
21
+ exam[5],
22
+ }
23
+ new arr[5][info];
24
+
25
+ stock Float:test_func()
26
+ {
27
+ new a = 5, Float:b = 10.3;
28
+ if (a == b) {
29
+
30
+ } else {
31
+
32
+ }
33
+
34
+ for (new i = 0; i < 10; i++) {
35
+ continue;
36
+ }
37
+
38
+ do {
39
+ a--;
40
+ } while (a > 0);
41
+
42
+ while (a < 5) {
43
+ a++;
44
+ break;
45
+ }
46
+
47
+ switch (a) {
48
+ case 0: {
49
+ }
50
+ case 0..4: {
51
+ }
52
+ case 5, 6: {
53
+ }
54
+ }
55
+
56
+ static x;
57
+ new xx = a > 5 ? 5 : 0;
58
+ new array[sizeof arr] = {0};
59
+ tagof a;
60
+ state a;
61
+ goto label;
62
+ new byte[2 char];
63
+ byte{0} = 'a';
64
+
65
+ return (float(a) + b);
66
+ }
67
+
68
+
69
+ // float.inc
70
+ /* Float arithmetic
71
+ *
72
+ * (c) Copyright 1999, Artran, Inc.
73
+ * Written by Greg Garner (gmg@artran.com)
74
+ * Modified in March 2001 to include user defined
75
+ * operators for the floating point functions.
76
+ *
77
+ * This file is provided as is (no warranties).
78
+ */
79
+ #if defined _Float_included
80
+ #endinput
81
+ #endif
82
+ #define _Float_included
83
+ #pragma library Float
84
+
85
+ /* Different methods of rounding */
86
+ enum floatround_method {
87
+ floatround_round,
88
+ floatround_floor,
89
+ floatround_ceil,
90
+ floatround_tozero,
91
+ floatround_unbiased
92
+ }
93
+ enum anglemode {
94
+ radian,
95
+ degrees,
96
+ grades
97
+ }
98
+
99
+ /**************************************************/
100
+ /* Convert an integer into a floating point value */
101
+ native Float:float(value);
102
+
103
+ /**************************************************/
104
+ /* Convert a string into a floating point value */
105
+ native Float:floatstr(const string[]);
106
+
107
+ /**************************************************/
108
+ /* Multiple two floats together */
109
+ native Float:floatmul(Float:oper1, Float:oper2);
110
+
111
+ /**************************************************/
112
+ /* Divide the dividend float by the divisor float */
113
+ native Float:floatdiv(Float:dividend, Float:divisor);
114
+
115
+ /**************************************************/
116
+ /* Add two floats together */
117
+ native Float:floatadd(Float:oper1, Float:oper2);
118
+
119
+ /**************************************************/
120
+ /* Subtract oper2 float from oper1 float */
121
+ native Float:floatsub(Float:oper1, Float:oper2);
122
+
123
+ /**************************************************/
124
+ /* Return the fractional part of a float */
125
+ native Float:floatfract(Float:value);
126
+
127
+ /**************************************************/
128
+ /* Round a float into a integer value */
129
+ native floatround(Float:value, floatround_method:method=floatround_round);
130
+
131
+ /**************************************************/
132
+ /* Compare two integers. If the two elements are equal, return 0.
133
+ If the first argument is greater than the second argument, return 1,
134
+ If the first argument is less than the second argument, return -1. */
135
+ native floatcmp(Float:oper1, Float:oper2);
136
+
137
+ /**************************************************/
138
+ /* Return the square root of the input value, same as floatpower(value, 0.5) */
139
+ native Float:floatsqroot(Float:value);
140
+
141
+ /**************************************************/
142
+ /* Return the value raised to the power of the exponent */
143
+ native Float:floatpower(Float:value, Float:exponent);
144
+
145
+ /**************************************************/
146
+ /* Return the logarithm */
147
+ native Float:floatlog(Float:value, Float:base=10.0);
148
+
149
+ /**************************************************/
150
+ /* Return the sine, cosine or tangent. The input angle may be in radian,
151
+ degrees or grades. */
152
+ native Float:floatsin(Float:value, anglemode:mode=radian);
153
+ native Float:floatcos(Float:value, anglemode:mode=radian);
154
+ native Float:floattan(Float:value, anglemode:mode=radian);
155
+
156
+ /**************************************************/
157
+ /* Return the absolute value */
158
+ native Float:floatabs(Float:value);
159
+
160
+
161
+ /**************************************************/
162
+ #pragma rational Float
163
+
164
+ /* user defined operators */
165
+ native Float:operator*(Float:oper1, Float:oper2) = floatmul;
166
+ native Float:operator/(Float:oper1, Float:oper2) = floatdiv;
167
+ native Float:operator+(Float:oper1, Float:oper2) = floatadd;
168
+ native Float:operator-(Float:oper1, Float:oper2) = floatsub;
169
+ native Float:operator=(oper) = float;
170
+
171
+ stock Float:operator++(Float:oper)
172
+ return oper+1.0;
173
+
174
+ stock Float:operator--(Float:oper)
175
+ return oper-1.0;
176
+
177
+ stock Float:operator-(Float:oper)
178
+ return oper^Float:cellmin; /* IEEE values are sign/magnitude */
179
+
180
+ stock Float:operator*(Float:oper1, oper2)
181
+ return floatmul(oper1, float(oper2)); /* "*" is commutative */
182
+
183
+ stock Float:operator/(Float:oper1, oper2)
184
+ return floatdiv(oper1, float(oper2));
185
+
186
+ stock Float:operator/(oper1, Float:oper2)
187
+ return floatdiv(float(oper1), oper2);
188
+
189
+ stock Float:operator+(Float:oper1, oper2)
190
+ return floatadd(oper1, float(oper2)); /* "+" is commutative */
191
+
192
+ stock Float:operator-(Float:oper1, oper2)
193
+ return floatsub(oper1, float(oper2));
194
+
195
+ stock Float:operator-(oper1, Float:oper2)
196
+ return floatsub(float(oper1), oper2);
197
+
198
+ stock bool:operator==(Float:oper1, Float:oper2)
199
+ return floatcmp(oper1, oper2) == 0;
200
+
201
+ stock bool:operator==(Float:oper1, oper2)
202
+ return floatcmp(oper1, float(oper2)) == 0; /* "==" is commutative */
203
+
204
+ stock bool:operator!=(Float:oper1, Float:oper2)
205
+ return floatcmp(oper1, oper2) != 0;
206
+
207
+ stock bool:operator!=(Float:oper1, oper2)
208
+ return floatcmp(oper1, float(oper2)) != 0; /* "!=" is commutative */
209
+
210
+ stock bool:operator>(Float:oper1, Float:oper2)
211
+ return floatcmp(oper1, oper2) > 0;
212
+
213
+ stock bool:operator>(Float:oper1, oper2)
214
+ return floatcmp(oper1, float(oper2)) > 0;
215
+
216
+ stock bool:operator>(oper1, Float:oper2)
217
+ return floatcmp(float(oper1), oper2) > 0;
218
+
219
+ stock bool:operator>=(Float:oper1, Float:oper2)
220
+ return floatcmp(oper1, oper2) >= 0;
221
+
222
+ stock bool:operator>=(Float:oper1, oper2)
223
+ return floatcmp(oper1, float(oper2)) >= 0;
224
+
225
+ stock bool:operator>=(oper1, Float:oper2)
226
+ return floatcmp(float(oper1), oper2) >= 0;
227
+
228
+ stock bool:operator<(Float:oper1, Float:oper2)
229
+ return floatcmp(oper1, oper2) < 0;
230
+
231
+ stock bool:operator<(Float:oper1, oper2)
232
+ return floatcmp(oper1, float(oper2)) < 0;
233
+
234
+ stock bool:operator<(oper1, Float:oper2)
235
+ return floatcmp(float(oper1), oper2) < 0;
236
+
237
+ stock bool:operator<=(Float:oper1, Float:oper2)
238
+ return floatcmp(oper1, oper2) <= 0;
239
+
240
+ stock bool:operator<=(Float:oper1, oper2)
241
+ return floatcmp(oper1, float(oper2)) <= 0;
242
+
243
+ stock bool:operator<=(oper1, Float:oper2)
244
+ return floatcmp(float(oper1), oper2) <= 0;
245
+
246
+ stock bool:operator!(Float:oper)
247
+ return (_:oper & cellmax) == 0;
248
+
249
+ /* forbidden operations */
250
+ forward operator%(Float:oper1, Float:oper2);
251
+ forward operator%(Float:oper1, oper2);
252
+ forward operator%(oper1, Float:oper2);
253
+
@@ -1,3 +1,9 @@
1
+ preface.... everything what is before header is not evaluated
2
+ so this should not be colorized:
3
+ 1 + 2
4
+
5
+ REBOL [] ;<- this is minimal header, everything behind it must be colorized
6
+
1
7
  ;## String tests ##
2
8
  print "Hello ^"World" ;<- with escaped char
3
9
  multiline-string: {
@@ -52,15 +58,29 @@ type? #ff0000 ;== issue!
52
58
  to integer! (1 + (x / 4.5) * 1E-4)
53
59
 
54
60
  ;## some spec comments
55
- comment now
56
- comment 10
61
+ 1 + 1
62
+ comment "aa"
63
+ 2 + 2
64
+ comment {aa}
65
+ 3 + 3
66
+ comment {a^{}
67
+ 4 + 4
68
+ comment {{}}
69
+ 5 + 5
57
70
  comment {
58
- bla
59
- bla
71
+ foo: 6
60
72
  }
61
- comment [
62
- quit
63
- ]
73
+ 6 + 6
74
+ comment [foo: 6]
75
+ 7 + 7
76
+ comment [foo: "[" ]
77
+ 8 + 8
78
+ comment [foo: {^{} ]
79
+ 9 + 9
80
+ comment [foo: {boo} ]
81
+ 10 + 10
82
+ comment 5-May-2014/11:17:34+2:00
83
+ 5-May-2014/11:17:34+2:00 11 + 11
64
84
 
65
85
  ;## other tests ##
66
86
  ---: 1
@@ -0,0 +1,111 @@
1
+ scheme COMPILER =
2
+ class
3
+ type
4
+ Prog == mk_Prog(stmt : Stmt),
5
+
6
+ Stmt ==
7
+ mk_Asgn(ide : Identifier, expr : Expr) |
8
+ mk_If(cond : Expr, s1 : Stmt, s2 : Stmt) |
9
+ mk_Seq(head : Stmt, last : Stmt),
10
+
11
+ Expr ==
12
+ mk_Const(const : Int) |
13
+ mk_Plus(fst : Expr, snd : Expr) |
14
+ mk_Id(ide : Identifier),
15
+ Identifier = Text
16
+
17
+ type /* storage for program variables */
18
+ `Sigma = Identifier -m-> Int
19
+
20
+ value
21
+ m : Prog -> `Sigma -> `Sigma
22
+ m(p)(`sigma) is m(stmt(p))(`sigma),
23
+
24
+ m : Stmt -> `Sigma -> `Sigma
25
+ m(s)(`sigma) is
26
+ case s of
27
+ mk_Asgn(i, e) -> `sigma !! [i +> m(e)(`sigma)],
28
+ mk_Seq(s1, s2) -> m(s2)(m(s1)(`sigma)),
29
+ mk_If(c, s1, s2) ->
30
+ if m(c)(`sigma) ~= 0 then m(s1)(`sigma) else m(s2)(`sigma) end
31
+ end,
32
+
33
+ m : Expr -> `Sigma -> Int
34
+ m(e)(`sigma) is
35
+ case e of
36
+ mk_Const(n) -> n,
37
+ mk_Plus(e1, e2) -> m(e1)(`sigma) + m(e2)(`sigma),
38
+ mk_Id(id) -> if id isin dom `sigma then `sigma(id) else 0 end
39
+ end
40
+
41
+ type
42
+ MProg = Inst-list,
43
+ Inst ==
44
+ mk_Push(ide1 : Identifier) |
45
+ mk_Pop(Unit) |
46
+ mk_Add(Unit) |
47
+ mk_Cnst(val : Int) |
48
+ mk_Store(ide2 : Identifier) |
49
+ mk_Jumpfalse(off1 : Int) |
50
+ mk_Jump(off2 : Int)
51
+
52
+
53
+ /* An interpreter for SMALL instructions */
54
+
55
+ type Stack = Int-list
56
+ value
57
+ I : MProg >< Int >< Stack -> (`Sigma ->`Sigma)
58
+ I(mp, pc, s)(`sigma) is
59
+ if pc <= 0 \/ pc > len mp then `sigma else
60
+ case mp(pc) of
61
+ mk_Push(x) -> if x isin dom `sigma
62
+ then I(mp, pc + 1, <.`sigma(x).> ^ s)(`sigma)
63
+ else I(mp, pc + 1, <.0.> ^ s)(`sigma) end,
64
+ mk_Pop(()) -> if len s = 0 then `sigma
65
+ else I(mp, pc + 1, tl s)(`sigma) end,
66
+ mk_Cnst(n) -> I(mp, pc + 1, <.n.> ^ s)(`sigma),
67
+ mk_Add(()) -> if len s < 2 then `sigma
68
+ else I(mp, pc + 1,<.s(1) + s(2).> ^ tl tl s)(`sigma) end,
69
+ mk_Store(x) -> if len s = 0 then `sigma
70
+ else I(mp, pc + 1, s)(`sigma !! [x +> s(1)]) end,
71
+ mk_Jumpfalse(n) -> if len s = 0 then `sigma
72
+ elsif hd s ~= 0 then I(mp, pc + 1, s)(`sigma)
73
+ else I(mp, pc + n, s)(`sigma) end,
74
+ mk_Jump(n) -> I(mp, pc + n, s)(`sigma)
75
+ end
76
+ end
77
+
78
+ value
79
+ comp_Prog : Prog -> MProg
80
+ comp_Prog(p) is comp_Stmt(stmt(p)),
81
+
82
+ comp_Stmt : Stmt -> MProg
83
+ comp_Stmt(s) is
84
+ case s of
85
+ mk_Asgn(id, e) -> comp_Expr(e) ^ <. mk_Store(id), mk_Pop() .>,
86
+ mk_Seq(s1, s2) -> comp_Stmt(s1) ^ comp_Stmt(s2),
87
+ mk_If(e, s1, s2) ->
88
+ let
89
+ ce = comp_Expr(e),
90
+ cs1 = comp_Stmt(s1), cs2 = comp_Stmt(s2)
91
+ in
92
+ ce ^
93
+ <. mk_Jumpfalse(len cs1 + 3) .> ^
94
+ <. mk_Pop() .> ^
95
+ cs1 ^
96
+ <. mk_Jump(len cs2 + 2) .> ^
97
+ <. mk_Pop() .> ^
98
+ cs2
99
+ end
100
+ end,
101
+
102
+ comp_Expr : Expr -> MProg
103
+ comp_Expr(e) is
104
+ case e of
105
+ mk_Const(n) -> <. mk_Cnst(n) .>,
106
+ mk_Plus(e1, e2) ->
107
+ comp_Expr(e1) ^ comp_Expr(e2) ^ <. mk_Add() .>,
108
+ mk_Id(id) -> <. mk_Push(id) .>
109
+ end
110
+
111
+ end
@@ -0,0 +1,65 @@
1
+ //
2
+ // test.swift
3
+ // from https://github.com/fullstackio/FlappySwift
4
+ //
5
+ // Created by Nate Murray on 6/2/14.
6
+ // Copyright (c) 2014 Fullstack.io. All rights reserved.
7
+ //
8
+
9
+ import UIKit
10
+ import SpriteKit
11
+
12
+ extension SKNode {
13
+ class func unarchiveFromFile(file : NSString) -> SKNode? {
14
+
15
+ let path = NSBundle.mainBundle().pathForResource(file, ofType: "sks")
16
+
17
+ var sceneData = NSData.dataWithContentsOfFile(path, options: .DataReadingMappedIfSafe, error: nil)
18
+ var archiver = NSKeyedUnarchiver(forReadingWithData: sceneData)
19
+
20
+ archiver.setClass(self.classForKeyedUnarchiver(), forClassName: "SKScene")
21
+ let scene = archiver.decodeObjectForKey(NSKeyedArchiveRootObjectKey) as GameScene
22
+ archiver.finishDecoding()
23
+ return scene
24
+ }
25
+ }
26
+
27
+ class GameViewController: UIViewController {
28
+
29
+ override func viewDidLoad() {
30
+ super.viewDidLoad()
31
+
32
+ if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
33
+ // Configure the view.
34
+ let skView = self.view as SKView
35
+ skView.showsFPS = true
36
+ skView.showsNodeCount = true
37
+
38
+ /* Sprite Kit applies additional optimizations to improve rendering performance */
39
+ skView.ignoresSiblingOrder = true
40
+
41
+ /* Set the scale mode to scale to fit the window */
42
+ scene.scaleMode = .AspectFill
43
+
44
+ skView.presentScene(scene)
45
+ }
46
+ }
47
+
48
+ override func shouldAutorotate() -> Bool {
49
+ return true
50
+ }
51
+
52
+ override func supportedInterfaceOrientations() -> Int {
53
+ if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
54
+ return Int(UIInterfaceOrientationMask.AllButUpsideDown.toRaw())
55
+ } else {
56
+ return Int(UIInterfaceOrientationMask.All.toRaw())
57
+ }
58
+ }
59
+
60
+ override func didReceiveMemoryWarning() {
61
+ super.didReceiveMemoryWarning()
62
+ // Release any cached data, images, etc that aren't in use.
63
+ }
64
+
65
+ }