pygments.rb-jruby 0.5.4

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 (473) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/CHANGELOG.md +71 -0
  4. data/Gemfile +2 -0
  5. data/LICENSE +17 -0
  6. data/README.md +118 -0
  7. data/Rakefile +66 -0
  8. data/bench.rb +22 -0
  9. data/cache-lexers.rb +8 -0
  10. data/lexers +0 -0
  11. data/lib/pygments.rb +8 -0
  12. data/lib/pygments/lexer.rb +148 -0
  13. data/lib/pygments/mentos.py +351 -0
  14. data/lib/pygments/popen.rb +404 -0
  15. data/lib/pygments/version.rb +3 -0
  16. data/pygments.rb.gemspec +24 -0
  17. data/test/test_data.c +2581 -0
  18. data/test/test_data.py +514 -0
  19. data/test/test_data_generated +2582 -0
  20. data/test/test_pygments.rb +287 -0
  21. data/vendor/custom_lexers/github.py +565 -0
  22. data/vendor/pygments-main/AUTHORS +153 -0
  23. data/vendor/pygments-main/CHANGES +889 -0
  24. data/vendor/pygments-main/LICENSE +25 -0
  25. data/vendor/pygments-main/MANIFEST.in +6 -0
  26. data/vendor/pygments-main/Makefile +59 -0
  27. data/vendor/pygments-main/REVISION +1 -0
  28. data/vendor/pygments-main/TODO +15 -0
  29. data/vendor/pygments-main/docs/generate.py +472 -0
  30. data/vendor/pygments-main/docs/pygmentize.1 +94 -0
  31. data/vendor/pygments-main/docs/src/api.txt +270 -0
  32. data/vendor/pygments-main/docs/src/authors.txt +5 -0
  33. data/vendor/pygments-main/docs/src/changelog.txt +5 -0
  34. data/vendor/pygments-main/docs/src/cmdline.txt +147 -0
  35. data/vendor/pygments-main/docs/src/filterdevelopment.txt +70 -0
  36. data/vendor/pygments-main/docs/src/filters.txt +42 -0
  37. data/vendor/pygments-main/docs/src/formatterdevelopment.txt +169 -0
  38. data/vendor/pygments-main/docs/src/formatters.txt +48 -0
  39. data/vendor/pygments-main/docs/src/index.txt +69 -0
  40. data/vendor/pygments-main/docs/src/installation.txt +71 -0
  41. data/vendor/pygments-main/docs/src/integrate.txt +48 -0
  42. data/vendor/pygments-main/docs/src/java.txt +70 -0
  43. data/vendor/pygments-main/docs/src/lexerdevelopment.txt +603 -0
  44. data/vendor/pygments-main/docs/src/lexers.txt +67 -0
  45. data/vendor/pygments-main/docs/src/moinmoin.txt +39 -0
  46. data/vendor/pygments-main/docs/src/plugins.txt +93 -0
  47. data/vendor/pygments-main/docs/src/quickstart.txt +202 -0
  48. data/vendor/pygments-main/docs/src/rstdirective.txt +22 -0
  49. data/vendor/pygments-main/docs/src/styles.txt +143 -0
  50. data/vendor/pygments-main/docs/src/tokens.txt +349 -0
  51. data/vendor/pygments-main/docs/src/unicode.txt +49 -0
  52. data/vendor/pygments-main/external/autopygmentize +64 -0
  53. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +144 -0
  54. data/vendor/pygments-main/external/markdown-processor.py +67 -0
  55. data/vendor/pygments-main/external/moin-parser.py +112 -0
  56. data/vendor/pygments-main/external/pygments.bashcomp +38 -0
  57. data/vendor/pygments-main/external/rst-directive-old.py +77 -0
  58. data/vendor/pygments-main/external/rst-directive.py +83 -0
  59. data/vendor/pygments-main/ez_setup.py +276 -0
  60. data/vendor/pygments-main/pygmentize +7 -0
  61. data/vendor/pygments-main/pygments/__init__.py +91 -0
  62. data/vendor/pygments-main/pygments/cmdline.py +441 -0
  63. data/vendor/pygments-main/pygments/console.py +74 -0
  64. data/vendor/pygments-main/pygments/filter.py +74 -0
  65. data/vendor/pygments-main/pygments/filters/__init__.py +356 -0
  66. data/vendor/pygments-main/pygments/formatter.py +95 -0
  67. data/vendor/pygments-main/pygments/formatters/__init__.py +68 -0
  68. data/vendor/pygments-main/pygments/formatters/_mapping.py +92 -0
  69. data/vendor/pygments-main/pygments/formatters/bbcode.py +109 -0
  70. data/vendor/pygments-main/pygments/formatters/html.py +821 -0
  71. data/vendor/pygments-main/pygments/formatters/img.py +553 -0
  72. data/vendor/pygments-main/pygments/formatters/latex.py +378 -0
  73. data/vendor/pygments-main/pygments/formatters/other.py +115 -0
  74. data/vendor/pygments-main/pygments/formatters/rtf.py +136 -0
  75. data/vendor/pygments-main/pygments/formatters/svg.py +154 -0
  76. data/vendor/pygments-main/pygments/formatters/terminal.py +112 -0
  77. data/vendor/pygments-main/pygments/formatters/terminal256.py +222 -0
  78. data/vendor/pygments-main/pygments/lexer.py +765 -0
  79. data/vendor/pygments-main/pygments/lexers/__init__.py +240 -0
  80. data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1645 -0
  81. data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +232 -0
  82. data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +5172 -0
  83. data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +249 -0
  84. data/vendor/pygments-main/pygments/lexers/_mapping.py +354 -0
  85. data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +562 -0
  86. data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +3787 -0
  87. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +233 -0
  88. data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +557 -0
  89. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +40 -0
  90. data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +1072 -0
  91. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +360 -0
  92. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +13 -0
  93. data/vendor/pygments-main/pygments/lexers/agile.py +2290 -0
  94. data/vendor/pygments-main/pygments/lexers/asm.py +398 -0
  95. data/vendor/pygments-main/pygments/lexers/compiled.py +3723 -0
  96. data/vendor/pygments-main/pygments/lexers/dalvik.py +104 -0
  97. data/vendor/pygments-main/pygments/lexers/dotnet.py +671 -0
  98. data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
  99. data/vendor/pygments-main/pygments/lexers/functional.py +2731 -0
  100. data/vendor/pygments-main/pygments/lexers/github.py +565 -0
  101. data/vendor/pygments-main/pygments/lexers/hdl.py +356 -0
  102. data/vendor/pygments-main/pygments/lexers/jvm.py +1112 -0
  103. data/vendor/pygments-main/pygments/lexers/math.py +1918 -0
  104. data/vendor/pygments-main/pygments/lexers/other.py +3778 -0
  105. data/vendor/pygments-main/pygments/lexers/parsers.py +778 -0
  106. data/vendor/pygments-main/pygments/lexers/shell.py +424 -0
  107. data/vendor/pygments-main/pygments/lexers/special.py +100 -0
  108. data/vendor/pygments-main/pygments/lexers/sql.py +559 -0
  109. data/vendor/pygments-main/pygments/lexers/templates.py +1742 -0
  110. data/vendor/pygments-main/pygments/lexers/text.py +1893 -0
  111. data/vendor/pygments-main/pygments/lexers/web.py +4045 -0
  112. data/vendor/pygments-main/pygments/modeline.py +40 -0
  113. data/vendor/pygments-main/pygments/plugin.py +74 -0
  114. data/vendor/pygments-main/pygments/scanner.py +104 -0
  115. data/vendor/pygments-main/pygments/style.py +117 -0
  116. data/vendor/pygments-main/pygments/styles/__init__.py +70 -0
  117. data/vendor/pygments-main/pygments/styles/autumn.py +65 -0
  118. data/vendor/pygments-main/pygments/styles/borland.py +51 -0
  119. data/vendor/pygments-main/pygments/styles/bw.py +49 -0
  120. data/vendor/pygments-main/pygments/styles/colorful.py +81 -0
  121. data/vendor/pygments-main/pygments/styles/default.py +73 -0
  122. data/vendor/pygments-main/pygments/styles/emacs.py +72 -0
  123. data/vendor/pygments-main/pygments/styles/friendly.py +72 -0
  124. data/vendor/pygments-main/pygments/styles/fruity.py +42 -0
  125. data/vendor/pygments-main/pygments/styles/manni.py +75 -0
  126. data/vendor/pygments-main/pygments/styles/monokai.py +106 -0
  127. data/vendor/pygments-main/pygments/styles/murphy.py +80 -0
  128. data/vendor/pygments-main/pygments/styles/native.py +65 -0
  129. data/vendor/pygments-main/pygments/styles/pastie.py +75 -0
  130. data/vendor/pygments-main/pygments/styles/perldoc.py +69 -0
  131. data/vendor/pygments-main/pygments/styles/rrt.py +33 -0
  132. data/vendor/pygments-main/pygments/styles/tango.py +141 -0
  133. data/vendor/pygments-main/pygments/styles/trac.py +63 -0
  134. data/vendor/pygments-main/pygments/styles/vim.py +63 -0
  135. data/vendor/pygments-main/pygments/styles/vs.py +38 -0
  136. data/vendor/pygments-main/pygments/token.py +195 -0
  137. data/vendor/pygments-main/pygments/unistring.py +140 -0
  138. data/vendor/pygments-main/pygments/util.py +277 -0
  139. data/vendor/pygments-main/scripts/check_sources.py +242 -0
  140. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +32 -0
  141. data/vendor/pygments-main/scripts/epydoc.css +280 -0
  142. data/vendor/pygments-main/scripts/find_codetags.py +205 -0
  143. data/vendor/pygments-main/scripts/find_error.py +170 -0
  144. data/vendor/pygments-main/scripts/get_vimkw.py +43 -0
  145. data/vendor/pygments-main/scripts/pylintrc +301 -0
  146. data/vendor/pygments-main/scripts/reindent.py +291 -0
  147. data/vendor/pygments-main/scripts/vim2pygments.py +933 -0
  148. data/vendor/pygments-main/setup.cfg +7 -0
  149. data/vendor/pygments-main/setup.py +90 -0
  150. data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +37 -0
  151. data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +869 -0
  152. data/vendor/pygments-main/tests/dtds/HTML4.dcl +88 -0
  153. data/vendor/pygments-main/tests/dtds/HTML4.dtd +1092 -0
  154. data/vendor/pygments-main/tests/dtds/HTML4.soc +9 -0
  155. data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +195 -0
  156. data/vendor/pygments-main/tests/dtds/HTMLspec.ent +77 -0
  157. data/vendor/pygments-main/tests/dtds/HTMLsym.ent +241 -0
  158. data/vendor/pygments-main/tests/examplefiles/ANTLRv3.g +608 -0
  159. data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +209 -0
  160. data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +102 -0
  161. data/vendor/pygments-main/tests/examplefiles/BOM.js +1 -0
  162. data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +611 -0
  163. data/vendor/pygments-main/tests/examplefiles/Config.in.cache +1973 -0
  164. data/vendor/pygments-main/tests/examplefiles/Constants.mo +158 -0
  165. data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +411 -0
  166. data/vendor/pygments-main/tests/examplefiles/Deflate.fs +578 -0
  167. data/vendor/pygments-main/tests/examplefiles/Errors.scala +18 -0
  168. data/vendor/pygments-main/tests/examplefiles/File.hy +174 -0
  169. data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +66 -0
  170. data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +104 -0
  171. data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +671 -0
  172. data/vendor/pygments-main/tests/examplefiles/Intro.java +1660 -0
  173. data/vendor/pygments-main/tests/examplefiles/Makefile +1131 -0
  174. data/vendor/pygments-main/tests/examplefiles/Object.st +4394 -0
  175. data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +584 -0
  176. data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +23 -0
  177. data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +378 -0
  178. data/vendor/pygments-main/tests/examplefiles/Sorting.mod +470 -0
  179. data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +382 -0
  180. data/vendor/pygments-main/tests/examplefiles/addressbook.proto +30 -0
  181. data/vendor/pygments-main/tests/examplefiles/antlr_throws +1 -0
  182. data/vendor/pygments-main/tests/examplefiles/apache2.conf +393 -0
  183. data/vendor/pygments-main/tests/examplefiles/as3_test.as +143 -0
  184. data/vendor/pygments-main/tests/examplefiles/as3_test2.as +46 -0
  185. data/vendor/pygments-main/tests/examplefiles/as3_test3.as +3 -0
  186. data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +27 -0
  187. data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +25 -0
  188. data/vendor/pygments-main/tests/examplefiles/badcase.java +2 -0
  189. data/vendor/pygments-main/tests/examplefiles/batchfile.bat +49 -0
  190. data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +308 -0
  191. data/vendor/pygments-main/tests/examplefiles/boot-9.scm +1557 -0
  192. data/vendor/pygments-main/tests/examplefiles/ca65_example +284 -0
  193. data/vendor/pygments-main/tests/examplefiles/cbmbas_example +9 -0
  194. data/vendor/pygments-main/tests/examplefiles/cells.ps +515 -0
  195. data/vendor/pygments-main/tests/examplefiles/ceval.c +2604 -0
  196. data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +13 -0
  197. data/vendor/pygments-main/tests/examplefiles/classes.dylan +125 -0
  198. data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +10 -0
  199. data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +447 -0
  200. data/vendor/pygments-main/tests/examplefiles/database.pytb +20 -0
  201. data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +2461 -0
  202. data/vendor/pygments-main/tests/examplefiles/demo.ahk +181 -0
  203. data/vendor/pygments-main/tests/examplefiles/demo.cfm +38 -0
  204. data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +68 -0
  205. data/vendor/pygments-main/tests/examplefiles/dwarf.cw +17 -0
  206. data/vendor/pygments-main/tests/examplefiles/erl_session +10 -0
  207. data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +1 -0
  208. data/vendor/pygments-main/tests/examplefiles/evil_regex.js +48 -0
  209. data/vendor/pygments-main/tests/examplefiles/example.Rd +78 -0
  210. data/vendor/pygments-main/tests/examplefiles/example.bug +54 -0
  211. data/vendor/pygments-main/tests/examplefiles/example.c +2080 -0
  212. data/vendor/pygments-main/tests/examplefiles/example.ceylon +52 -0
  213. data/vendor/pygments-main/tests/examplefiles/example.clay +33 -0
  214. data/vendor/pygments-main/tests/examplefiles/example.cls +15 -0
  215. data/vendor/pygments-main/tests/examplefiles/example.cob +3556 -0
  216. data/vendor/pygments-main/tests/examplefiles/example.cpp +2363 -0
  217. data/vendor/pygments-main/tests/examplefiles/example.gs +106 -0
  218. data/vendor/pygments-main/tests/examplefiles/example.gst +7 -0
  219. data/vendor/pygments-main/tests/examplefiles/example.hx +142 -0
  220. data/vendor/pygments-main/tests/examplefiles/example.jag +48 -0
  221. data/vendor/pygments-main/tests/examplefiles/example.kt +47 -0
  222. data/vendor/pygments-main/tests/examplefiles/example.lagda +19 -0
  223. data/vendor/pygments-main/tests/examplefiles/example.lua +250 -0
  224. data/vendor/pygments-main/tests/examplefiles/example.monkey +152 -0
  225. data/vendor/pygments-main/tests/examplefiles/example.moo +26 -0
  226. data/vendor/pygments-main/tests/examplefiles/example.moon +629 -0
  227. data/vendor/pygments-main/tests/examplefiles/example.msc +43 -0
  228. data/vendor/pygments-main/tests/examplefiles/example.nim +1010 -0
  229. data/vendor/pygments-main/tests/examplefiles/example.ns2 +69 -0
  230. data/vendor/pygments-main/tests/examplefiles/example.p +34 -0
  231. data/vendor/pygments-main/tests/examplefiles/example.pas +2708 -0
  232. data/vendor/pygments-main/tests/examplefiles/example.prg +161 -0
  233. data/vendor/pygments-main/tests/examplefiles/example.rb +1852 -0
  234. data/vendor/pygments-main/tests/examplefiles/example.reg +19 -0
  235. data/vendor/pygments-main/tests/examplefiles/example.rexx +50 -0
  236. data/vendor/pygments-main/tests/examplefiles/example.rhtml +561 -0
  237. data/vendor/pygments-main/tests/examplefiles/example.rkt +95 -0
  238. data/vendor/pygments-main/tests/examplefiles/example.rpf +4 -0
  239. data/vendor/pygments-main/tests/examplefiles/example.sh-session +19 -0
  240. data/vendor/pygments-main/tests/examplefiles/example.shell-session +45 -0
  241. data/vendor/pygments-main/tests/examplefiles/example.sml +156 -0
  242. data/vendor/pygments-main/tests/examplefiles/example.snobol +15 -0
  243. data/vendor/pygments-main/tests/examplefiles/example.stan +108 -0
  244. data/vendor/pygments-main/tests/examplefiles/example.tea +34 -0
  245. data/vendor/pygments-main/tests/examplefiles/example.ts +28 -0
  246. data/vendor/pygments-main/tests/examplefiles/example.u +548 -0
  247. data/vendor/pygments-main/tests/examplefiles/example.weechatlog +9 -0
  248. data/vendor/pygments-main/tests/examplefiles/example.xhtml +376 -0
  249. data/vendor/pygments-main/tests/examplefiles/example.xtend +34 -0
  250. data/vendor/pygments-main/tests/examplefiles/example.yaml +302 -0
  251. data/vendor/pygments-main/tests/examplefiles/example2.aspx +29 -0
  252. data/vendor/pygments-main/tests/examplefiles/example2.msc +79 -0
  253. data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +363 -0
  254. data/vendor/pygments-main/tests/examplefiles/example_file.fy +128 -0
  255. data/vendor/pygments-main/tests/examplefiles/firefox.mak +586 -0
  256. data/vendor/pygments-main/tests/examplefiles/flipflop.sv +19 -0
  257. data/vendor/pygments-main/tests/examplefiles/foo.sce +6 -0
  258. data/vendor/pygments-main/tests/examplefiles/format.ml +1213 -0
  259. data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +77 -0
  260. data/vendor/pygments-main/tests/examplefiles/function.mu +1 -0
  261. data/vendor/pygments-main/tests/examplefiles/functional.rst +1472 -0
  262. data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +133 -0
  263. data/vendor/pygments-main/tests/examplefiles/genclass.clj +510 -0
  264. data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +193 -0
  265. data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +33 -0
  266. data/vendor/pygments-main/tests/examplefiles/glsl.frag +7 -0
  267. data/vendor/pygments-main/tests/examplefiles/glsl.vert +13 -0
  268. data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +22 -0
  269. data/vendor/pygments-main/tests/examplefiles/hello.smali +40 -0
  270. data/vendor/pygments-main/tests/examplefiles/hello.sp +9 -0
  271. data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +1 -0
  272. data/vendor/pygments-main/tests/examplefiles/http_request_example +15 -0
  273. data/vendor/pygments-main/tests/examplefiles/http_response_example +29 -0
  274. data/vendor/pygments-main/tests/examplefiles/import.hs +4 -0
  275. data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +71 -0
  276. data/vendor/pygments-main/tests/examplefiles/intro.ik +24 -0
  277. data/vendor/pygments-main/tests/examplefiles/ints.php +10 -0
  278. data/vendor/pygments-main/tests/examplefiles/intsyn.fun +675 -0
  279. data/vendor/pygments-main/tests/examplefiles/intsyn.sig +286 -0
  280. data/vendor/pygments-main/tests/examplefiles/irb_heredoc +8 -0
  281. data/vendor/pygments-main/tests/examplefiles/irc.lsp +214 -0
  282. data/vendor/pygments-main/tests/examplefiles/java.properties +16 -0
  283. data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +28 -0
  284. data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +45 -0
  285. data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +713 -0
  286. data/vendor/pygments-main/tests/examplefiles/json.lasso +301 -0
  287. data/vendor/pygments-main/tests/examplefiles/json.lasso9 +213 -0
  288. data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +13 -0
  289. data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +47 -0
  290. data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +41 -0
  291. data/vendor/pygments-main/tests/examplefiles/logos_example.xm +28 -0
  292. data/vendor/pygments-main/tests/examplefiles/ltmain.sh +2849 -0
  293. data/vendor/pygments-main/tests/examplefiles/main.cmake +42 -0
  294. data/vendor/pygments-main/tests/examplefiles/markdown.lsp +679 -0
  295. data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +3 -0
  296. data/vendor/pygments-main/tests/examplefiles/matlab_sample +30 -0
  297. data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +37 -0
  298. data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +455 -0
  299. data/vendor/pygments-main/tests/examplefiles/mg_sample.pro +73 -0
  300. data/vendor/pygments-main/tests/examplefiles/minehunt.qml +112 -0
  301. data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +4 -0
  302. data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +340 -0
  303. data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +38 -0
  304. data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +95 -0
  305. data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +96 -0
  306. data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +30 -0
  307. data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +87 -0
  308. data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +118 -0
  309. data/vendor/pygments-main/tests/examplefiles/numbers.c +12 -0
  310. data/vendor/pygments-main/tests/examplefiles/objc_example.m +32 -0
  311. data/vendor/pygments-main/tests/examplefiles/objc_example2.m +24 -0
  312. data/vendor/pygments-main/tests/examplefiles/perl_misc +62 -0
  313. data/vendor/pygments-main/tests/examplefiles/perl_perl5db +998 -0
  314. data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +120 -0
  315. data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +856 -0
  316. data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +163 -0
  317. data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +567 -0
  318. data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +1223 -0
  319. data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +47 -0
  320. data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +10 -0
  321. data/vendor/pygments-main/tests/examplefiles/psql_session.txt +122 -0
  322. data/vendor/pygments-main/tests/examplefiles/py3_test.txt +2 -0
  323. data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +4 -0
  324. data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +14 -0
  325. data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +2 -0
  326. data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +4 -0
  327. data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +234 -0
  328. data/vendor/pygments-main/tests/examplefiles/qsort.prolog +13 -0
  329. data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +38 -0
  330. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +280 -0
  331. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +2 -0
  332. data/vendor/pygments-main/tests/examplefiles/regex.js +22 -0
  333. data/vendor/pygments-main/tests/examplefiles/reversi.lsp +427 -0
  334. data/vendor/pygments-main/tests/examplefiles/robotframework.txt +39 -0
  335. data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +11 -0
  336. data/vendor/pygments-main/tests/examplefiles/rust_example.rs +233 -0
  337. data/vendor/pygments-main/tests/examplefiles/scilab.sci +30 -0
  338. data/vendor/pygments-main/tests/examplefiles/session.dylan-console +9 -0
  339. data/vendor/pygments-main/tests/examplefiles/sibling.prolog +19 -0
  340. data/vendor/pygments-main/tests/examplefiles/simple.md +747 -0
  341. data/vendor/pygments-main/tests/examplefiles/smarty_example.html +209 -0
  342. data/vendor/pygments-main/tests/examplefiles/source.lgt +343 -0
  343. data/vendor/pygments-main/tests/examplefiles/sources.list +62 -0
  344. data/vendor/pygments-main/tests/examplefiles/sphere.pov +18 -0
  345. data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +27 -0
  346. data/vendor/pygments-main/tests/examplefiles/squid.conf +30 -0
  347. data/vendor/pygments-main/tests/examplefiles/string.jl +1031 -0
  348. data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +21 -0
  349. data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +3 -0
  350. data/vendor/pygments-main/tests/examplefiles/swig_java.swg +1329 -0
  351. data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +225 -0
  352. data/vendor/pygments-main/tests/examplefiles/test.R +153 -0
  353. data/vendor/pygments-main/tests/examplefiles/test.adb +211 -0
  354. data/vendor/pygments-main/tests/examplefiles/test.agda +102 -0
  355. data/vendor/pygments-main/tests/examplefiles/test.asy +131 -0
  356. data/vendor/pygments-main/tests/examplefiles/test.awk +121 -0
  357. data/vendor/pygments-main/tests/examplefiles/test.bas +29 -0
  358. data/vendor/pygments-main/tests/examplefiles/test.bb +95 -0
  359. data/vendor/pygments-main/tests/examplefiles/test.bmx +145 -0
  360. data/vendor/pygments-main/tests/examplefiles/test.boo +39 -0
  361. data/vendor/pygments-main/tests/examplefiles/test.bro +250 -0
  362. data/vendor/pygments-main/tests/examplefiles/test.cs +374 -0
  363. data/vendor/pygments-main/tests/examplefiles/test.css +54 -0
  364. data/vendor/pygments-main/tests/examplefiles/test.cu +36 -0
  365. data/vendor/pygments-main/tests/examplefiles/test.d +135 -0
  366. data/vendor/pygments-main/tests/examplefiles/test.dart +23 -0
  367. data/vendor/pygments-main/tests/examplefiles/test.dtd +89 -0
  368. data/vendor/pygments-main/tests/examplefiles/test.ebnf +31 -0
  369. data/vendor/pygments-main/tests/examplefiles/test.ec +605 -0
  370. data/vendor/pygments-main/tests/examplefiles/test.ecl +58 -0
  371. data/vendor/pygments-main/tests/examplefiles/test.eh +315 -0
  372. data/vendor/pygments-main/tests/examplefiles/test.erl +169 -0
  373. data/vendor/pygments-main/tests/examplefiles/test.evoque +33 -0
  374. data/vendor/pygments-main/tests/examplefiles/test.fan +818 -0
  375. data/vendor/pygments-main/tests/examplefiles/test.flx +57 -0
  376. data/vendor/pygments-main/tests/examplefiles/test.gdc +13 -0
  377. data/vendor/pygments-main/tests/examplefiles/test.groovy +97 -0
  378. data/vendor/pygments-main/tests/examplefiles/test.html +339 -0
  379. data/vendor/pygments-main/tests/examplefiles/test.ini +10 -0
  380. data/vendor/pygments-main/tests/examplefiles/test.java +653 -0
  381. data/vendor/pygments-main/tests/examplefiles/test.jsp +24 -0
  382. data/vendor/pygments-main/tests/examplefiles/test.maql +45 -0
  383. data/vendor/pygments-main/tests/examplefiles/test.mod +374 -0
  384. data/vendor/pygments-main/tests/examplefiles/test.moo +51 -0
  385. data/vendor/pygments-main/tests/examplefiles/test.myt +166 -0
  386. data/vendor/pygments-main/tests/examplefiles/test.nim +93 -0
  387. data/vendor/pygments-main/tests/examplefiles/test.opa +10 -0
  388. data/vendor/pygments-main/tests/examplefiles/test.p6 +252 -0
  389. data/vendor/pygments-main/tests/examplefiles/test.pas +743 -0
  390. data/vendor/pygments-main/tests/examplefiles/test.php +505 -0
  391. data/vendor/pygments-main/tests/examplefiles/test.plot +333 -0
  392. data/vendor/pygments-main/tests/examplefiles/test.ps1 +108 -0
  393. data/vendor/pygments-main/tests/examplefiles/test.pypylog +1839 -0
  394. data/vendor/pygments-main/tests/examplefiles/test.r3 +94 -0
  395. data/vendor/pygments-main/tests/examplefiles/test.rb +177 -0
  396. data/vendor/pygments-main/tests/examplefiles/test.rhtml +43 -0
  397. data/vendor/pygments-main/tests/examplefiles/test.scaml +8 -0
  398. data/vendor/pygments-main/tests/examplefiles/test.ssp +12 -0
  399. data/vendor/pygments-main/tests/examplefiles/test.tcsh +830 -0
  400. data/vendor/pygments-main/tests/examplefiles/test.vb +407 -0
  401. data/vendor/pygments-main/tests/examplefiles/test.vhdl +161 -0
  402. data/vendor/pygments-main/tests/examplefiles/test.xqy +138 -0
  403. data/vendor/pygments-main/tests/examplefiles/test.xsl +23 -0
  404. data/vendor/pygments-main/tests/examplefiles/test2.pypylog +120 -0
  405. data/vendor/pygments-main/tests/examplefiles/truncated.pytb +15 -0
  406. data/vendor/pygments-main/tests/examplefiles/type.lisp +1218 -0
  407. data/vendor/pygments-main/tests/examplefiles/underscore.coffee +603 -0
  408. data/vendor/pygments-main/tests/examplefiles/unicode.applescript +5 -0
  409. data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +11 -0
  410. data/vendor/pygments-main/tests/examplefiles/unix-io.lid +37 -0
  411. data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +3 -0
  412. data/vendor/pygments-main/tests/examplefiles/while.pov +13 -0
  413. data/vendor/pygments-main/tests/examplefiles/wiki.factor +384 -0
  414. data/vendor/pygments-main/tests/examplefiles/xml_example +1897 -0
  415. data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +798 -0
  416. data/vendor/pygments-main/tests/old_run.py +138 -0
  417. data/vendor/pygments-main/tests/run.py +49 -0
  418. data/vendor/pygments-main/tests/support.py +15 -0
  419. data/vendor/pygments-main/tests/support/tags +36 -0
  420. data/vendor/pygments-main/tests/test_basic_api.py +295 -0
  421. data/vendor/pygments-main/tests/test_clexer.py +31 -0
  422. data/vendor/pygments-main/tests/test_cmdline.py +105 -0
  423. data/vendor/pygments-main/tests/test_examplefiles.py +99 -0
  424. data/vendor/pygments-main/tests/test_html_formatter.py +178 -0
  425. data/vendor/pygments-main/tests/test_latex_formatter.py +55 -0
  426. data/vendor/pygments-main/tests/test_lexers_other.py +68 -0
  427. data/vendor/pygments-main/tests/test_perllexer.py +137 -0
  428. data/vendor/pygments-main/tests/test_regexlexer.py +47 -0
  429. data/vendor/pygments-main/tests/test_token.py +46 -0
  430. data/vendor/pygments-main/tests/test_using_api.py +40 -0
  431. data/vendor/pygments-main/tests/test_util.py +135 -0
  432. data/vendor/simplejson/.gitignore +10 -0
  433. data/vendor/simplejson/.travis.yml +5 -0
  434. data/vendor/simplejson/CHANGES.txt +291 -0
  435. data/vendor/simplejson/LICENSE.txt +19 -0
  436. data/vendor/simplejson/MANIFEST.in +5 -0
  437. data/vendor/simplejson/README.rst +19 -0
  438. data/vendor/simplejson/conf.py +179 -0
  439. data/vendor/simplejson/index.rst +628 -0
  440. data/vendor/simplejson/scripts/make_docs.py +18 -0
  441. data/vendor/simplejson/setup.py +104 -0
  442. data/vendor/simplejson/simplejson/__init__.py +510 -0
  443. data/vendor/simplejson/simplejson/_speedups.c +2745 -0
  444. data/vendor/simplejson/simplejson/decoder.py +425 -0
  445. data/vendor/simplejson/simplejson/encoder.py +567 -0
  446. data/vendor/simplejson/simplejson/ordered_dict.py +119 -0
  447. data/vendor/simplejson/simplejson/scanner.py +77 -0
  448. data/vendor/simplejson/simplejson/tests/__init__.py +67 -0
  449. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +55 -0
  450. data/vendor/simplejson/simplejson/tests/test_check_circular.py +30 -0
  451. data/vendor/simplejson/simplejson/tests/test_decimal.py +66 -0
  452. data/vendor/simplejson/simplejson/tests/test_decode.py +83 -0
  453. data/vendor/simplejson/simplejson/tests/test_default.py +9 -0
  454. data/vendor/simplejson/simplejson/tests/test_dump.py +67 -0
  455. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +46 -0
  456. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +32 -0
  457. data/vendor/simplejson/simplejson/tests/test_errors.py +34 -0
  458. data/vendor/simplejson/simplejson/tests/test_fail.py +91 -0
  459. data/vendor/simplejson/simplejson/tests/test_float.py +19 -0
  460. data/vendor/simplejson/simplejson/tests/test_indent.py +86 -0
  461. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +20 -0
  462. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +121 -0
  463. data/vendor/simplejson/simplejson/tests/test_pass1.py +76 -0
  464. data/vendor/simplejson/simplejson/tests/test_pass2.py +14 -0
  465. data/vendor/simplejson/simplejson/tests/test_pass3.py +20 -0
  466. data/vendor/simplejson/simplejson/tests/test_recursion.py +67 -0
  467. data/vendor/simplejson/simplejson/tests/test_scanstring.py +117 -0
  468. data/vendor/simplejson/simplejson/tests/test_separators.py +42 -0
  469. data/vendor/simplejson/simplejson/tests/test_speedups.py +20 -0
  470. data/vendor/simplejson/simplejson/tests/test_tuple.py +49 -0
  471. data/vendor/simplejson/simplejson/tests/test_unicode.py +109 -0
  472. data/vendor/simplejson/simplejson/tool.py +39 -0
  473. metadata +557 -0
@@ -0,0 +1,225 @@
1
+ //
2
+ // std::vector
3
+ //
4
+
5
+ %include <std_container.i>
6
+
7
+ // Vector
8
+
9
+ %define %std_vector_methods(vector...)
10
+ %std_sequence_methods(vector)
11
+
12
+ void reserve(size_type n);
13
+ size_type capacity() const;
14
+ %enddef
15
+
16
+
17
+ %define %std_vector_methods_val(vector...)
18
+ %std_sequence_methods_val(vector)
19
+
20
+ void reserve(size_type n);
21
+ size_type capacity() const;
22
+ %enddef
23
+
24
+
25
+ // ------------------------------------------------------------------------
26
+ // std::vector
27
+ //
28
+ // The aim of all that follows would be to integrate std::vector with
29
+ // as much as possible, namely, to allow the user to pass and
30
+ // be returned tuples or lists.
31
+ // const declarations are used to guess the intent of the function being
32
+ // exported; therefore, the following rationale is applied:
33
+ //
34
+ // -- f(std::vector<T>), f(const std::vector<T>&):
35
+ // the parameter being read-only, either a sequence or a
36
+ // previously wrapped std::vector<T> can be passed.
37
+ // -- f(std::vector<T>&), f(std::vector<T>*):
38
+ // the parameter may be modified; therefore, only a wrapped std::vector
39
+ // can be passed.
40
+ // -- std::vector<T> f(), const std::vector<T>& f():
41
+ // the vector is returned by copy; therefore, a sequence of T:s
42
+ // is returned which is most easily used in other functions
43
+ // -- std::vector<T>& f(), std::vector<T>* f():
44
+ // the vector is returned by reference; therefore, a wrapped std::vector
45
+ // is returned
46
+ // -- const std::vector<T>* f(), f(const std::vector<T>*):
47
+ // for consistency, they expect and return a plain vector pointer.
48
+ // ------------------------------------------------------------------------
49
+
50
+ %{
51
+ #include <vector>
52
+ %}
53
+
54
+ // exported classes
55
+
56
+
57
+ namespace std {
58
+
59
+ template<class _Tp, class _Alloc = allocator< _Tp > >
60
+ class vector {
61
+ public:
62
+ typedef size_t size_type;
63
+ typedef ptrdiff_t difference_type;
64
+ typedef _Tp value_type;
65
+ typedef value_type* pointer;
66
+ typedef const value_type* const_pointer;
67
+ typedef _Tp& reference;
68
+ typedef const _Tp& const_reference;
69
+ typedef _Alloc allocator_type;
70
+
71
+ %traits_swigtype(_Tp);
72
+ %traits_enum(_Tp);
73
+
74
+ %fragment(SWIG_Traits_frag(std::vector<_Tp, _Alloc >), "header",
75
+ fragment=SWIG_Traits_frag(_Tp),
76
+ fragment="StdVectorTraits") {
77
+ namespace swig {
78
+ template <> struct traits<std::vector<_Tp, _Alloc > > {
79
+ typedef pointer_category category;
80
+ static const char* type_name() {
81
+ return "std::vector<" #_Tp "," #_Alloc " >";
82
+ }
83
+ };
84
+ }
85
+ }
86
+
87
+ %typemap_traits_ptr(SWIG_TYPECHECK_VECTOR, std::vector<_Tp, _Alloc >);
88
+
89
+ #ifdef %swig_vector_methods
90
+ // Add swig/language extra methods
91
+ %swig_vector_methods(std::vector<_Tp, _Alloc >);
92
+ #endif
93
+
94
+ %std_vector_methods(vector);
95
+ };
96
+
97
+ // ***
98
+ // This specialization should disappear or get simplified when
99
+ // a 'const SWIGTYPE*&' can be defined
100
+ // ***
101
+ template<class _Tp, class _Alloc >
102
+ class vector<_Tp*, _Alloc > {
103
+ public:
104
+ typedef size_t size_type;
105
+ typedef ptrdiff_t difference_type;
106
+ typedef _Tp* value_type;
107
+ typedef value_type* pointer;
108
+ typedef const value_type* const_pointer;
109
+ typedef value_type reference;
110
+ typedef value_type const_reference;
111
+ typedef _Alloc allocator_type;
112
+
113
+ %traits_swigtype(_Tp);
114
+
115
+ %fragment(SWIG_Traits_frag(std::vector<_Tp*, _Alloc >), "header",
116
+ fragment=SWIG_Traits_frag(_Tp),
117
+ fragment="StdVectorTraits") {
118
+ namespace swig {
119
+ template <> struct traits<std::vector<_Tp*, _Alloc > > {
120
+ typedef value_category category;
121
+ static const char* type_name() {
122
+ return "std::vector<" #_Tp " *," #_Alloc " >";
123
+ }
124
+ };
125
+ }
126
+ }
127
+
128
+ %typemap_traits_ptr(SWIG_TYPECHECK_VECTOR, std::vector<_Tp*, _Alloc >);
129
+
130
+ #ifdef %swig_vector_methods_val
131
+ // Add swig/language extra methods
132
+ %swig_vector_methods_val(std::vector<_Tp*, _Alloc >);
133
+ #endif
134
+
135
+ %std_vector_methods_val(vector);
136
+ };
137
+
138
+ // ***
139
+ // const pointer specialization
140
+ // ***
141
+ template<class _Tp, class _Alloc >
142
+ class vector<_Tp const *, _Alloc > {
143
+ public:
144
+ typedef size_t size_type;
145
+ typedef ptrdiff_t difference_type;
146
+ typedef _Tp const * value_type;
147
+ typedef value_type* pointer;
148
+ typedef const value_type* const_pointer;
149
+ typedef value_type reference;
150
+ typedef value_type const_reference;
151
+ typedef _Alloc allocator_type;
152
+
153
+ %traits_swigtype(_Tp);
154
+
155
+ %fragment(SWIG_Traits_frag(std::vector<_Tp const*, _Alloc >), "header",
156
+ fragment=SWIG_Traits_frag(_Tp),
157
+ fragment="StdVectorTraits") {
158
+ namespace swig {
159
+ template <> struct traits<std::vector<_Tp const*, _Alloc > > {
160
+ typedef value_category category;
161
+ static const char* type_name() {
162
+ return "std::vector<" #_Tp " const*," #_Alloc " >";
163
+ }
164
+ };
165
+ }
166
+ }
167
+
168
+ %typemap_traits_ptr(SWIG_TYPECHECK_VECTOR, std::vector<_Tp const*, _Alloc >);
169
+
170
+ #ifdef %swig_vector_methods_val
171
+ // Add swig/language extra methods
172
+ %swig_vector_methods_val(std::vector<_Tp const*, _Alloc >);
173
+ #endif
174
+
175
+ %std_vector_methods_val(vector);
176
+ };
177
+
178
+ // ***
179
+ // bool specialization
180
+ // ***
181
+
182
+ template<class _Alloc >
183
+ class vector<bool,_Alloc > {
184
+ public:
185
+ typedef size_t size_type;
186
+ typedef ptrdiff_t difference_type;
187
+ typedef bool value_type;
188
+ typedef value_type* pointer;
189
+ typedef const value_type* const_pointer;
190
+ typedef value_type reference;
191
+ typedef value_type const_reference;
192
+ typedef _Alloc allocator_type;
193
+
194
+ %traits_swigtype(bool);
195
+
196
+ %fragment(SWIG_Traits_frag(std::vector<bool, _Alloc >), "header",
197
+ fragment=SWIG_Traits_frag(bool),
198
+ fragment="StdVectorTraits") {
199
+ namespace swig {
200
+ template <> struct traits<std::vector<bool, _Alloc > > {
201
+ typedef value_category category;
202
+ static const char* type_name() {
203
+ return "std::vector<bool, _Alloc >";
204
+ }
205
+ };
206
+ }
207
+ }
208
+
209
+ %typemap_traits_ptr(SWIG_TYPECHECK_VECTOR, std::vector<bool, _Alloc >);
210
+
211
+
212
+ #ifdef %swig_vector_methods_val
213
+ // Add swig/language extra methods
214
+ %swig_vector_methods_val(std::vector<bool, _Alloc >);
215
+ #endif
216
+
217
+ %std_vector_methods_val(vector);
218
+
219
+ #if defined(SWIG_STD_MODERN_STL) && !defined(SWIG_STD_NOMODERN_STL)
220
+ void flip();
221
+ #endif
222
+
223
+ };
224
+
225
+ }
@@ -0,0 +1,153 @@
1
+ #!/usr/bin/env Rscript
2
+ ### Example R script for syntax highlighting
3
+
4
+ # This is also a comment
5
+
6
+ ## Valid names
7
+ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV0123456789._a <- NULL
8
+ .foo_ <- NULL
9
+ ._foo <- NULL
10
+
11
+ ## Invalid names
12
+ 0abc <- NULL
13
+ .0abc <- NULL
14
+ abc+cde <- NULL
15
+
16
+ ## Reserved Words
17
+ NA
18
+ NA_integer_
19
+ NA_real_
20
+ NA_character_
21
+ NA_complex_
22
+ NULL
23
+ NaN
24
+ Inf
25
+ ## Not reserved
26
+ NULLa <- NULL
27
+ NULL1 <- NULL
28
+ NULL. <- NULL
29
+ NA_foo_ <- NULL
30
+
31
+ ## Numbers
32
+ 12345678901
33
+ 123456.78901
34
+ 123e3
35
+ 123E3
36
+ 1.23e-3
37
+ 1.23e3
38
+ 1.23e-3
39
+ ## integer constants
40
+ 123L
41
+ 1.23L
42
+ ## imaginary numbers
43
+ 123i
44
+ -123i
45
+ 123e4i
46
+ 123e-4i
47
+ ## Hex numbers
48
+ 0xabcdefABCDEF01234
49
+ 0xabcp123
50
+ 0xabcP123
51
+ ## Not hex
52
+ 0xg
53
+
54
+ ## Special operators %xyz%
55
+ ## %xyz%
56
+ 1 %% 2
57
+ diag(2) %*% diag(2)
58
+ 1 %/% 2
59
+ 1 %in% 1:10
60
+ diag(2) %o% diag(2)
61
+ diag(2) %x% diag(2)
62
+ `%foo bar%` <- function(x, y) x + y
63
+ 1 %foo bar% 2
64
+
65
+ ## Control Structures (3.2) and Function
66
+ ## if, else
67
+ if (TRUE) print("foo") else print("bar")
68
+ ## For, in
69
+ for(i in 1:5) {
70
+ print(i)
71
+ }
72
+ ## While, break
73
+ i <- 1
74
+ while (TRUE) {
75
+ i <- i + 1
76
+ if (i > 3) break
77
+ }
78
+ ## Repeat
79
+ repeat {1+1}
80
+ ## Switch
81
+ x <- 3
82
+ switch(x, 2+2, mean(1:10), rnorm(5))
83
+ ## Function, dot-dot-dot, return
84
+ foo <- function(...) {
85
+ return(sum(...))
86
+ }
87
+ # Not keywords
88
+ functiona <- 2 + 2
89
+ function. <- 2 + 2
90
+ function1 <- 2 + 2
91
+
92
+
93
+ ## Grouping Tokens 10.3.7
94
+ ## Parentheses
95
+ 1 + (2 + 3)
96
+ ## brackets
97
+ foo <- function(a) {
98
+ a + 1
99
+ }
100
+
101
+ ## Indexing 10.3.8
102
+ ## []
103
+ bar <- 1:10
104
+ bar[3]
105
+ ## [[]]
106
+ foo <- list(a=1, b=2, c=3)
107
+ foo[["a"]]
108
+ ## $
109
+ foo$a
110
+ foo$"a"
111
+
112
+ ## Operators
113
+ 2 - 2
114
+ 2 + 2
115
+ 2 ~ 2
116
+ ! TRUE
117
+ ?"help"
118
+ 1:2
119
+ 2 * 2
120
+ 2 / 2
121
+ 2^2
122
+ 2 < 2
123
+ 2 > 2
124
+ 2 == 2
125
+ 2 >= 2
126
+ 2 <= 2
127
+ 2 != 2
128
+ TRUE & FALSE
129
+ TRUE && FALSE
130
+ TRUE | FALSE
131
+ TRUE || FALSE
132
+ foo <- 2 + 2
133
+ foo = 2 + 2
134
+ 2 + 2 -> foo
135
+ foo <<- 2 + 2
136
+ 2 + 2 ->> foo
137
+ base:::sum
138
+ base::sum
139
+
140
+ ## Strings
141
+ foo <- "hello, world!"
142
+ foo <- 'hello, world!'
143
+ foo <- "Hello, 'world!"
144
+ foo <- 'Hello, "world!'
145
+ foo <- 'Hello, \'world!\''
146
+ foo <- "Hello, \"world!\""
147
+ foo <- "Hello,
148
+ world!"
149
+ foo <- 'Hello,
150
+ world!'
151
+
152
+ ## Backtick strings
153
+ `foo123 +!"bar'baz` <- 2 + 2
@@ -0,0 +1,211 @@
1
+ -- Model IED Simulator
2
+ -- COL Gene Ressler, 1 December 2007
3
+ with Ada.Text_IO;
4
+
5
+ with Ada.Characters.Latin_1;
6
+ use Ada.Characters.Latin_1;
7
+
8
+ with Ada.Strings.Fixed;
9
+ use Ada.Strings.Fixed;
10
+
11
+ with Ada.Strings;
12
+ with Ada.Strings.Bounded;
13
+
14
+ with Binary_Search;
15
+
16
+ with Ada.Containers.Generic_Array_Sort;
17
+
18
+ package body Scanner is
19
+
20
+ Constant_123 : constant Character := Character'Val (16#00#);
21
+ MAX_KEYWORD_LENGTH_C : constant Natural := 24;
22
+
23
+ New_Constant : constant New_Type
24
+ := 2;
25
+
26
+ KEYWORDS_C : constant Keyword_Array_T :=
27
+ (To_BS("description"),
28
+ To_BS("with"));
29
+
30
+ procedure Blah;
31
+
32
+ procedure blah is
33
+ begin
34
+
35
+ Declaration:
36
+ declare
37
+ Joe : Type_Type := Random;
38
+ begin
39
+ Do_Something;
40
+ end Declaration;
41
+ Loop_ID:
42
+ loop
43
+ Loop_Do;
44
+ exit when 1=2;
45
+ end loop Loop_ID;
46
+ if True or else False then
47
+ Do_This();
48
+ elsif not False and then True then
49
+ Do_That;
50
+ else
51
+ Panic;
52
+ end if;
53
+ end blah;
54
+
55
+ function "*" (Left, Right : in Integer) return Integer is
56
+ begin
57
+ <<Goto_Label>>
58
+ goto Goto_Label;
59
+ return Left + Right;
60
+ end "*";
61
+
62
+ function Function_Specification
63
+ (Param_1 : in Blah;
64
+ Param2, param3 : in access Blah_Type := 0)
65
+ return It_Type;
66
+
67
+ package Rename_Check renames Ada.Text_IO;
68
+
69
+ type New_Float is delta 0.001 digits 12;
70
+
71
+ package Package_Inst is new Ada.Strings.Bounded.Generic_Bounded_Length
72
+ (Max => MAX_KEYWORD_LENGTH_C);
73
+
74
+ type Array_Decl12 is array (Positive range <>) of SB.Bounded_String;
75
+ type Array_Decl3 is array (New_Type range Thing_1 .. Thing_2) of SB.Bounded_String;
76
+
77
+ type Boring_Type is
78
+ (Start,
79
+ End_Error);
80
+
81
+ subtype Sub_Type_check is Character range '0' .. '9';
82
+
83
+ Initialized_Array : constant Transistion_Array_T :=
84
+ (Start =>
85
+ (Letter_Lower | Letter_Upper => Saw_Alpha,
86
+ ' ' | HT | CR | LF => Start,
87
+ others => Begin_Error),
88
+
89
+ End_Error => (others => Start)
90
+
91
+ );
92
+
93
+ type Recorder is record
94
+ Advance : Boolean;
95
+ Return_Token : Token_T;
96
+ end record;
97
+
98
+ for Recorder use 8;
99
+
100
+ type Null_Record is null record;
101
+
102
+ type Discriminated_Record (Size : Natural) is
103
+ record
104
+ A : String (1 .. Size);
105
+ end record;
106
+
107
+ pragma Unchecked_Union (Union);
108
+ pragma Convention (C, Union);
109
+
110
+ type Person is tagged
111
+ record
112
+ Name : String (1 .. 10);
113
+ Gender : Gender_Type;
114
+ end record;
115
+
116
+ type Programmer is new Person with
117
+ record
118
+ Skilled_In : Language_List;
119
+ Favorite_Langauge : Python_Type;
120
+ end record;
121
+
122
+ type Programmer is new Person
123
+ and Printable
124
+ with
125
+ record
126
+ Skilled_In : Language_List;
127
+ Blah : aliased Integer;
128
+ end record;
129
+
130
+ ---------------------
131
+ -- Scan_Next_Token --
132
+ ---------------------
133
+
134
+ task Cyclic_Buffer_Task_Type is
135
+ entry Insert (An_Item : in Item);
136
+ entry Remove (An_Item : out Item);
137
+ end Cyclic_Buffer_Task_Type;
138
+
139
+ task body Cyclic_Buffer_Task_Type is
140
+ Q_Size : constant := 100;
141
+ subtype Q_Range is Positive range 1 .. Q_Size;
142
+ Length : Natural range 0 .. Q_Size := 0;
143
+ Head, Tail : Q_Range := 1;
144
+ Data : array (Q_Range) of Item;
145
+ begin
146
+ loop
147
+ select
148
+ when Length < Q_Size =>
149
+ accept Insert (An_Item : in Item) do
150
+ Data(Tail) := An_Item;
151
+ end Insert;
152
+ Tail := Tail mod Q_Size + 1;
153
+ Length := Length + 1;
154
+ or
155
+ when Length > 0 =>
156
+ accept Remove (An_Item : out Item) do
157
+ An_Item := Data(Head);
158
+ end Remove;
159
+ Head := Head mod Q_Size + 1;
160
+ Length := Length - 1;
161
+ end select;
162
+ end loop;
163
+ end Cyclic_Buffer_Task_Type;
164
+
165
+
166
+
167
+ procedure Scan_Next_Token
168
+ (S : in String;
169
+ Start_Index : out Positive;
170
+ End_Index : in out Natural; -- Tricky comment
171
+ Line_Number : in out Positive;
172
+ Token : out Token_T);
173
+
174
+ procedure Scan_Next_Token
175
+ (S : in String;
176
+ Start_Index : out Positive;
177
+ End_Index : in out Natural; -- Another comment
178
+ Line_Number : in out Positive;
179
+ Token : out Token_T)
180
+ is
181
+ begin
182
+ Scanner_Loop:
183
+ loop
184
+ if New_State = End_Error then
185
+ exit Scanner_Loop;
186
+ end if;
187
+
188
+ if State = Start and New_State /= Start then
189
+ Start_Index := Peek_Index;
190
+ end if;
191
+ end loop Scanner_Loop;
192
+ end Scan_Next_Token;
193
+
194
+ procedure Advance is
195
+ begin
196
+ Peek_Index := Peek_Index + 1;
197
+ end Advance;
198
+
199
+
200
+ -- Eliminate the leading space that Ada puts in front of positive
201
+ -- integer images.
202
+ function Image(N : in Integer) return String is
203
+ S : String := Integer'Image(N);
204
+ begin
205
+ if S(1) = ' ' then
206
+ return S(2 .. S'Last);
207
+ end if;
208
+ return S;
209
+ end Image;
210
+
211
+ end Scanner;