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,24 @@
1
+ <!-- This page was loaded on <%= (new java.util.Date()).toLocaleString() %> -->
2
+ <%= var x = 1;
3
+ %>
4
+ <%! int i = 0; %>
5
+ <%! int a, b, c; %>
6
+ <%! Circle a = new Circle(2.0); %>
7
+
8
+ <%
9
+ String name = null;
10
+ if (request.getParameter("name") == null) {
11
+ %>
12
+ <%@ include file="error.html" %>
13
+ <%
14
+ } else {
15
+ foo.setName(request.getParameter("name"));
16
+ if (foo.getName().equalsIgnoreCase("integra"))
17
+ name = "acura";
18
+ if (name.equalsIgnoreCase( "acura" )) {
19
+ %>
20
+
21
+ <jsp:useBean id="calendar" scope="page" class="employee.Calendar" />
22
+ <h2>
23
+ Calendar of <jsp:getProperty name="calendar" property="username" />
24
+ </h2>
@@ -0,0 +1,45 @@
1
+ # MAQL script
2
+ CREATE DATASET {dataset.quotes} VISUAL(TITLE "St\\tock Qu\totes Data");
3
+
4
+ # A comment
5
+ CREATE DATASET {dataset.quotes} VISUAL(TITLE "Stock Qu\"otes Data");
6
+
7
+ CREATE DATASET {dataset.quotes} VISUAL(TITLE "Stock Quotes Data");
8
+
9
+ ALTER DATASET {dataset.quotes} ADD {attribute.sector};
10
+
11
+ ALTER DATASET {dataset.quotes} DROP {attribute.symbol};
12
+
13
+ ALTER DATASET {dataset.quotes} VISUAL(TITLE "Internal Quotes Data");
14
+
15
+ CREATE ATTRIBUTE {attr.quotes.symbol}
16
+ VISUAL(TITLE "Symbol", FOLDER {folder.quotes.attr})
17
+ AS {d_quotes_symbol.nm_symbol};
18
+
19
+ ALTER ATTRIBUTE {attr.quotes.symbol}
20
+ ADD LABELS {attr.quotes.company} VISUAL(TITLE "Company")
21
+ AS {d_quotes_symbol.nm_company};
22
+
23
+ CREATE FACT {fact.quotes.open_price}
24
+ VISUAL( TITLE "Open Price", FOLDER {folder.quotes.fact}) AS {f_quotes.f_open_price};
25
+
26
+ ALTER FACT {fact.quotes.open_price} ADD {f_quotes2.f_open_price};
27
+
28
+ CREATE FOLDER {folder.quotes.attr}
29
+ VISUAL ( TITLE "Stock Quotes Data",
30
+ DESCRIPTION "Stock quotes data obtained from John Doe etc." )
31
+ TYPE ATTRIBUTE;
32
+
33
+ ALTER DATATYPE {d_quotes_symbol.nm_symbol} VARCHAR(4),
34
+ {d_quotes_symbol.nm_symbol} VARCHAR(80),
35
+ {f_quotes.f_open_price} DECIMAL(10,2);
36
+
37
+ INCLUDE TEMPLATE "URN:GOODDATA:DATE" MODIFY (IDENTIFIER "my-date", TITLE "quote")
38
+
39
+ ALTER ATTRIBUTE {attr.quotes.symbol} ADD KEYS {d_quotes_symbol.nm_symbol} PRIMARY;
40
+
41
+ ALTER ATTRIBUTE {attr.quotes.symbol} DROP KEYS {d_quotes_symbol.nm_symbol};
42
+
43
+ ALTER FACT {fact.quotes.open_price} ADD {f_quotes2.f_open_price};
44
+
45
+ # Another comment
@@ -0,0 +1,374 @@
1
+ (* LIFO Storage Library
2
+ *
3
+ * @file LIFO.mod
4
+ * LIFO implementation
5
+ *
6
+ * Universal Dynamic Stack
7
+ *
8
+ * Author: Benjamin Kowarsch
9
+ *
10
+ * Copyright (C) 2009 Benjamin Kowarsch. All rights reserved.
11
+ *
12
+ * License:
13
+ *
14
+ * Redistribution and use in source and binary forms, with or without
15
+ * modification, are permitted provided that the following conditions are met
16
+ *
17
+ * 1) NO FEES may be charged for the provision of the software. The software
18
+ * may NOT be published on websites that contain advertising, unless
19
+ * specific prior written permission has been obtained.
20
+ *
21
+ * 2) Redistributions of source code must retain the above copyright notice,
22
+ * this list of conditions and the following disclaimer.
23
+ *
24
+ * 3) Redistributions in binary form must reproduce the above copyright
25
+ * notice, this list of conditions and the following disclaimer in the
26
+ * documentation and other materials provided with the distribution.
27
+ *
28
+ * 4) Neither the author's name nor the names of any contributors may be used
29
+ * to endorse or promote products derived from this software without
30
+ * specific prior written permission.
31
+ *
32
+ * 5) Where this list of conditions or the following disclaimer, in part or
33
+ * as a whole is overruled or nullified by applicable law, no permission
34
+ * is granted to use the software.
35
+ *
36
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
37
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
38
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
39
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
40
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
41
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
42
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
43
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
44
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
45
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
46
+ * POSSIBILITY OF SUCH DAMAGE.
47
+ *
48
+ *)
49
+
50
+
51
+ IMPLEMENTATION (* OF *) MODULE LIFO;
52
+
53
+ FROM SYSTEM IMPORT ADDRESS, ADR, TSIZE;
54
+ FROM Storage IMPORT ALLOCATE, DEALLOCATE;
55
+
56
+
57
+ (* ---------------------------------------------------------------------------
58
+ // Private type : ListEntry
59
+ // ---------------------------------------------------------------------------
60
+ *)
61
+ TYPE ListPtr = POINTER TO ListEntry;
62
+
63
+ TYPE ListEntry = RECORD
64
+ value : DataPtr;
65
+ next : ListPtr
66
+ END; (* ListEntry *)
67
+
68
+
69
+ (* ---------------------------------------------------------------------------
70
+ // Opaque type : LIFO.Stack
71
+ // ---------------------------------------------------------------------------
72
+ // CAUTION: Modula-2 does not support the use of variable length array fields
73
+ // in records. VLAs can only be implemented using pointer arithmetic which
74
+ // means there is no type checking and no boundary checking on the array.
75
+ // It also means that array notation cannot be used on the array which makes
76
+ // the code difficult to read and maintain. As a result, Modula-2 is less
77
+ // safe and less readable than C when it comes to using VLAs. Great care must
78
+ // be taken to make sure that the code accessing VLA fields is safe. Boundary
79
+ // checks must be inserted manually. Size checks must be inserted manually to
80
+ // compensate for the absence of type checks. *)
81
+
82
+ TYPE Stack = POINTER TO StackDescriptor;
83
+
84
+ TYPE StackDescriptor = RECORD
85
+ overflow : ListPtr;
86
+ entryCount : StackSize;
87
+ arraySize : StackSize;
88
+ array : ADDRESS (* ARRAY OF DataPtr *)
89
+ END; (* StackDescriptor *)
90
+
91
+
92
+ (* ---------------------------------------------------------------------------
93
+ // function: LIFO.new( initial_size, status )
94
+ // ---------------------------------------------------------------------------
95
+ //
96
+ // Creates and returns a new LIFO stack object with an initial capacity of
97
+ // <initialSize>. If zero is passed in for <initialSize>, then the stack
98
+ // will be created with an initial capacity of LIFO.defaultStackSize. The
99
+ // function fails if a value greater than LIFO.maximumStackSize is passed
100
+ // in for <initialSize> or if memory could not be allocated.
101
+ //
102
+ // The initial capacity of a stack is the number of entries that can be stored
103
+ // in the stack without enlargement.
104
+ //
105
+ // The status of the operation is passed back in <status>. *)
106
+
107
+ PROCEDURE new ( initialSize : StackSize; VAR status : Status ) : Stack;
108
+
109
+ VAR
110
+ newStack : Stack;
111
+
112
+ BEGIN
113
+
114
+ (* zero size means default *)
115
+ IF initialSize = 0 THEN
116
+ initialSize := defaultStackSize;
117
+ END; (* IF *)
118
+
119
+ (* bail out if initial size is too high *)
120
+ IF initialSize > maximumStackSize THEN
121
+ status := invalidSize;
122
+ RETURN NIL;
123
+ END; (* IF *)
124
+
125
+ (* allocate new stack object *)
126
+ ALLOCATE(newStack, TSIZE(Stack) + TSIZE(DataPtr) * (initialSize - 1));
127
+
128
+ (* bail out if allocation failed *)
129
+ IF newStack = NIL THEN
130
+ status := allocationFailed;
131
+ RETURN NIL;
132
+ END; (* IF *)
133
+
134
+ (* initialise meta data *)
135
+ newStack^.arraySize := initialSize;
136
+ newStack^.entryCount := 0;
137
+ newStack^.overflow := NIL;
138
+
139
+ (* pass status and new stack to caller *)
140
+ status := success;
141
+ RETURN newStack
142
+
143
+ END new;
144
+
145
+
146
+ (* ---------------------------------------------------------------------------
147
+ // function: LIFO.push( stack, value, status )
148
+ // ---------------------------------------------------------------------------
149
+ //
150
+ // Adds a new entry <value> to the top of stack <stack>. The new entry is
151
+ // added by reference, no data is copied. However, no entry is added if the
152
+ // the stack is full, that is when the number of entries stored in the stack
153
+ // has reached LIFO.maximumStackSize. The function fails if NIL is passed in
154
+ // for <stack> or <value>, or if memory could not be allocated.
155
+ //
156
+ // New entries are allocated dynamically if the number of entries exceeds the
157
+ // initial capacity of the stack.
158
+ //
159
+ // The status of the operation is passed back in <status>. *)
160
+
161
+ PROCEDURE push ( VAR stack : Stack; value : DataPtr; VAR status : Status );
162
+ VAR
163
+ newEntry : ListPtr;
164
+ valuePtr : POINTER TO DataPtr;
165
+
166
+ BEGIN
167
+
168
+ (* bail out if stack is NIL *)
169
+ IF stack = NIL THEN
170
+ status := invalidStack;
171
+ RETURN;
172
+ END; (* IF *)
173
+
174
+ (* bail out if value is NIL *)
175
+ IF value = NIL THEN
176
+ status := invalidData;
177
+ RETURN;
178
+ END; (* IF *)
179
+
180
+ (* bail out if stack is full *)
181
+ IF stack^.entryCount >= maximumStackSize THEN
182
+ status := stackFull;
183
+ RETURN;
184
+ END; (* IF *)
185
+
186
+ (* check if index falls within array segment *)
187
+ IF stack^.entryCount < stack^.arraySize THEN
188
+
189
+ (* store value in array segment *)
190
+
191
+ (* stack^.array^[stack^.entryCount] := value; *)
192
+ valuePtr := ADR(stack^.array) + TSIZE(DataPtr) * stack^.entryCount;
193
+ valuePtr^ := value;
194
+
195
+ ELSE (* index falls within overflow segment *)
196
+
197
+ (* allocate new entry slot *)
198
+ NEW(newEntry);
199
+
200
+ (* bail out if allocation failed *)
201
+ IF newEntry = NIL THEN
202
+ status := allocationFailed;
203
+ RETURN;
204
+ END; (* IF *)
205
+
206
+ (* initialise new entry *)
207
+ newEntry^.value := value;
208
+
209
+ (* link new entry into overflow list *)
210
+ newEntry^.next := stack^.overflow;
211
+ stack^.overflow := newEntry;
212
+
213
+ END; (* IF *)
214
+
215
+ (* update entry counter *)
216
+ INC(stack^.entryCount);
217
+
218
+ (* pass status to caller *)
219
+ status := success;
220
+ RETURN
221
+
222
+ END push;
223
+
224
+
225
+ (* ---------------------------------------------------------------------------
226
+ // function: LIFO.pop( stack, status )
227
+ // ---------------------------------------------------------------------------
228
+ //
229
+ // Removes the top most value from stack <stack> and returns it. If the stack
230
+ // is empty, that is when the number of entries stored in the stack has
231
+ // reached zero, then NIL is returned.
232
+ //
233
+ // Entries which were allocated dynamically (above the initial capacity) are
234
+ // deallocated when their values are popped.
235
+ //
236
+ // The status of the operation is passed back in <status>. *)
237
+
238
+ PROCEDURE pop ( VAR stack : Stack; VAR status : Status ) : DataPtr;
239
+
240
+ VAR
241
+ thisValue : DataPtr;
242
+ thisEntry : ListPtr;
243
+ valuePtr : POINTER TO DataPtr;
244
+
245
+ BEGIN
246
+
247
+ (* bail out if stack is NIL *)
248
+ IF stack = NIL THEN
249
+ status := invalidStack;
250
+ RETURN NIL;
251
+ END; (* IF *)
252
+
253
+ (* bail out if stack is empty *)
254
+ IF stack^.entryCount = 0 THEN
255
+ status := stackEmpty;
256
+ RETURN NIL;
257
+ END; (* IF *)
258
+
259
+ DEC(stack^.entryCount);
260
+
261
+ (* check if index falls within array segment *)
262
+ IF stack^.entryCount < stack^.arraySize THEN
263
+
264
+ (* obtain value at index entryCount in array segment *)
265
+
266
+ (* thisValue := stack^.array^[stack^.entryCount]; *)
267
+ valuePtr := ADR(stack^.array) + TSIZE(DataPtr) * stack^.entryCount;
268
+ thisValue := valuePtr^;
269
+
270
+ ELSE (* index falls within overflow segment *)
271
+
272
+ (* obtain value of first entry in overflow list *)
273
+ thisValue := stack^.overflow^.value;
274
+
275
+ (* isolate first entry in overflow list *)
276
+ thisEntry := stack^.overflow;
277
+ stack^.overflow := stack^.overflow^.next;
278
+
279
+ (* remove the entry from overflow list *)
280
+ DISPOSE(thisEntry);
281
+
282
+ END; (* IF *)
283
+
284
+ (* return value and status to caller *)
285
+ status := success;
286
+ RETURN thisValue
287
+
288
+ END pop;
289
+
290
+
291
+ (* ---------------------------------------------------------------------------
292
+ // function: LIFO.stackSize( stack )
293
+ // ---------------------------------------------------------------------------
294
+ //
295
+ // Returns the current capacity of <stack>. The current capacity is the total
296
+ // number of allocated entries. Returns zero if NIL is passed in for <stack>.
297
+ *)
298
+ PROCEDURE stackSize( VAR stack : Stack ) : StackSize;
299
+
300
+ BEGIN
301
+
302
+ (* bail out if stack is NIL *)
303
+ IF stack = NIL THEN
304
+ RETURN 0;
305
+ END; (* IF *)
306
+
307
+ IF stack^.entryCount < stack^.arraySize THEN
308
+ RETURN stack^.arraySize;
309
+ ELSE
310
+ RETURN stack^.entryCount;
311
+ END; (* IF *)
312
+
313
+ END stackSize;
314
+
315
+
316
+ (* ---------------------------------------------------------------------------
317
+ // function: LIFO.stackEntries( stack )
318
+ // ---------------------------------------------------------------------------
319
+ //
320
+ // Returns the number of entries stored in stack <stack>, returns zero if
321
+ // NIL is passed in for <stack>. *)
322
+
323
+ PROCEDURE stackEntries( VAR stack : Stack ) : StackSize;
324
+
325
+ BEGIN
326
+
327
+ (* bail out if stack is NIL *)
328
+ IF stack = NIL THEN
329
+ RETURN 0;
330
+ END; (* IF *)
331
+
332
+ RETURN stack^.entryCount
333
+
334
+ END stackEntries;
335
+
336
+
337
+ (* ---------------------------------------------------------------------------
338
+ // function: LIFO.dispose( stack )
339
+ // ---------------------------------------------------------------------------
340
+ //
341
+ // Disposes of LIFO stack object <stack>. Returns NIL. *)
342
+
343
+ PROCEDURE dispose ( VAR stack : Stack ) : Stack;
344
+
345
+ VAR
346
+ thisEntry : ListPtr;
347
+
348
+ BEGIN
349
+
350
+ (* bail out if stack is NIL *)
351
+ IF stack = NIL THEN
352
+ RETURN NIL;
353
+ END; (* IF *)
354
+
355
+ (* deallocate any entries in stack's overflow list *)
356
+ WHILE stack^.overflow # NIL DO
357
+
358
+ (* isolate first entry in overflow list *)
359
+ thisEntry := stack^.overflow;
360
+ stack^.overflow := stack^.overflow^.next;
361
+
362
+ (* deallocate the entry *)
363
+ DISPOSE(thisEntry);
364
+
365
+ END; (* WHILE *)
366
+
367
+ (* deallocate stack object and pass NIL to caller *)
368
+ DEALLOCATE(stack, TSIZE(Stack) + TSIZE(DataPtr) * (stack^.arraySize - 1));
369
+ RETURN NIL
370
+
371
+ END dispose;
372
+
373
+
374
+ END LIFO.
@@ -0,0 +1,51 @@
1
+ you_lose_msg = "Either that person does not exist, or has a different password.";
2
+ if (!(caller in {#0, this}))
3
+ return E_PERM;
4
+ "...caller isn't :do_login_command...";
5
+ elseif (args && (args[1] == "test"))
6
+ return this:test(@listdelete(args, 1));
7
+ elseif (!(length(args) in {1, 2}))
8
+ notify(player, tostr("Usage: ", verb, " <existing-player-name> <password>"));
9
+ elseif (!valid(candidate = this:_match_player(name = strsub(args[1], " ", "_"))))
10
+ if (name == "guest")
11
+ "must be no guests";
12
+ this:notify_lines(this:registration_text("guest"));
13
+ else
14
+ notify(player, you_lose_msg);
15
+ endif
16
+ "...unknown player...";
17
+ elseif (is_clear_property(candidate, "password") || ((typeof(candidate.password) == STR) && ((length(candidate.password) < 2) || (crypt({@args, ""}[2], candidate.password) != candidate.password))))
18
+ notify(player, you_lose_msg);
19
+ "...bad password...";
20
+ server_log(tostr("FAILED CONNECT: ", args[1], " (", candidate, ") on ", connection_name(player), ($string_utils:connection_hostname(connection_name(player)) in candidate.all_connect_places) ? "" | "******"));
21
+ elseif (((candidate.name == "guest") && this.sitematch_guests) && valid(foreigner = $country_db:get_guest()))
22
+ notify(player, tostr("Okay,... Logging you in as `", foreigner:name(), "'"));
23
+ this:record_connection(foreigner);
24
+ return foreigner;
25
+ elseif ((parent(candidate) == $guest) && (!valid(candidate = candidate:defer())))
26
+ if (candidate == #-3)
27
+ notify(player, "Sorry, guest characters are not allowed from your site right now.");
28
+ elseif (candidate == #-2)
29
+ this:notify_lines(this:registration_text("blacklisted", "Sorry, guest characters are not allowed from your site."));
30
+ elseif (candidate == #-4)
31
+ this:notify_lines(this:registration_text("guest"));
32
+ else
33
+ notify(player, "Sorry, all of our guest characters are in use right now.");
34
+ endif
35
+ else
36
+ if ((!(name in candidate.aliases)) && (name != tostr(candidate)))
37
+ notify(player, tostr("Okay,... ", name, " is in use. Logging you in as `", candidate:name(), "'"));
38
+ endif
39
+ if (this:is_newted(candidate))
40
+ notify(player, "");
41
+ notify(player, this:newt_message_for(candidate));
42
+ notify(player, "");
43
+ else
44
+ this:record_connection(candidate);
45
+ if (verb[1] == "s")
46
+ candidate.use_do_command = 0;
47
+ endif
48
+ return candidate;
49
+ endif
50
+ endif
51
+ return 0;