gitlab-pygments.rb 0.3.2

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 (399) hide show
  1. data/.gitignore +6 -0
  2. data/Gemfile +2 -0
  3. data/README.md +91 -0
  4. data/Rakefile +78 -0
  5. data/bench.rb +22 -0
  6. data/cache-lexers.rb +8 -0
  7. data/lexers +0 -0
  8. data/lib/pygments/lexer.rb +148 -0
  9. data/lib/pygments/mentos.py +344 -0
  10. data/lib/pygments/popen.rb +389 -0
  11. data/lib/pygments/version.rb +3 -0
  12. data/lib/pygments.rb +8 -0
  13. data/pygments.rb.gemspec +24 -0
  14. data/test/test_data.c +2581 -0
  15. data/test/test_data.py +514 -0
  16. data/test/test_data_generated +2582 -0
  17. data/test/test_pygments.rb +276 -0
  18. data/vendor/custom_formatters/gitlab.py +171 -0
  19. data/vendor/custom_lexers/github.py +362 -0
  20. data/vendor/pygments-main/AUTHORS +115 -0
  21. data/vendor/pygments-main/CHANGES +762 -0
  22. data/vendor/pygments-main/LICENSE +25 -0
  23. data/vendor/pygments-main/MANIFEST.in +6 -0
  24. data/vendor/pygments-main/Makefile +59 -0
  25. data/vendor/pygments-main/REVISION +1 -0
  26. data/vendor/pygments-main/TODO +15 -0
  27. data/vendor/pygments-main/docs/generate.py +472 -0
  28. data/vendor/pygments-main/docs/pygmentize.1 +94 -0
  29. data/vendor/pygments-main/docs/src/api.txt +270 -0
  30. data/vendor/pygments-main/docs/src/authors.txt +5 -0
  31. data/vendor/pygments-main/docs/src/changelog.txt +5 -0
  32. data/vendor/pygments-main/docs/src/cmdline.txt +147 -0
  33. data/vendor/pygments-main/docs/src/filterdevelopment.txt +70 -0
  34. data/vendor/pygments-main/docs/src/filters.txt +42 -0
  35. data/vendor/pygments-main/docs/src/formatterdevelopment.txt +169 -0
  36. data/vendor/pygments-main/docs/src/formatters.txt +48 -0
  37. data/vendor/pygments-main/docs/src/index.txt +69 -0
  38. data/vendor/pygments-main/docs/src/installation.txt +71 -0
  39. data/vendor/pygments-main/docs/src/integrate.txt +43 -0
  40. data/vendor/pygments-main/docs/src/lexerdevelopment.txt +551 -0
  41. data/vendor/pygments-main/docs/src/lexers.txt +67 -0
  42. data/vendor/pygments-main/docs/src/moinmoin.txt +39 -0
  43. data/vendor/pygments-main/docs/src/plugins.txt +93 -0
  44. data/vendor/pygments-main/docs/src/quickstart.txt +202 -0
  45. data/vendor/pygments-main/docs/src/rstdirective.txt +22 -0
  46. data/vendor/pygments-main/docs/src/styles.txt +143 -0
  47. data/vendor/pygments-main/docs/src/tokens.txt +349 -0
  48. data/vendor/pygments-main/docs/src/unicode.txt +49 -0
  49. data/vendor/pygments-main/external/markdown-processor.py +67 -0
  50. data/vendor/pygments-main/external/moin-parser.py +112 -0
  51. data/vendor/pygments-main/external/pygments.bashcomp +38 -0
  52. data/vendor/pygments-main/external/rst-directive-old.py +77 -0
  53. data/vendor/pygments-main/external/rst-directive.py +83 -0
  54. data/vendor/pygments-main/ez_setup.py +276 -0
  55. data/vendor/pygments-main/pygmentize +7 -0
  56. data/vendor/pygments-main/pygments/__init__.py +91 -0
  57. data/vendor/pygments-main/pygments/cmdline.py +433 -0
  58. data/vendor/pygments-main/pygments/console.py +74 -0
  59. data/vendor/pygments-main/pygments/filter.py +74 -0
  60. data/vendor/pygments-main/pygments/filters/__init__.py +357 -0
  61. data/vendor/pygments-main/pygments/formatter.py +92 -0
  62. data/vendor/pygments-main/pygments/formatters/__init__.py +68 -0
  63. data/vendor/pygments-main/pygments/formatters/_mapping.py +94 -0
  64. data/vendor/pygments-main/pygments/formatters/bbcode.py +109 -0
  65. data/vendor/pygments-main/pygments/formatters/gitlab.py +171 -0
  66. data/vendor/pygments-main/pygments/formatters/html.py +750 -0
  67. data/vendor/pygments-main/pygments/formatters/img.py +553 -0
  68. data/vendor/pygments-main/pygments/formatters/latex.py +378 -0
  69. data/vendor/pygments-main/pygments/formatters/other.py +117 -0
  70. data/vendor/pygments-main/pygments/formatters/rtf.py +136 -0
  71. data/vendor/pygments-main/pygments/formatters/svg.py +154 -0
  72. data/vendor/pygments-main/pygments/formatters/terminal.py +112 -0
  73. data/vendor/pygments-main/pygments/formatters/terminal256.py +222 -0
  74. data/vendor/pygments-main/pygments/lexer.py +697 -0
  75. data/vendor/pygments-main/pygments/lexers/__init__.py +229 -0
  76. data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1645 -0
  77. data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +232 -0
  78. data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +249 -0
  79. data/vendor/pygments-main/pygments/lexers/_mapping.py +298 -0
  80. data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +3787 -0
  81. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +232 -0
  82. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +29 -0
  83. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +3 -0
  84. data/vendor/pygments-main/pygments/lexers/agile.py +1803 -0
  85. data/vendor/pygments-main/pygments/lexers/asm.py +360 -0
  86. data/vendor/pygments-main/pygments/lexers/compiled.py +2891 -0
  87. data/vendor/pygments-main/pygments/lexers/dotnet.py +636 -0
  88. data/vendor/pygments-main/pygments/lexers/functional.py +1832 -0
  89. data/vendor/pygments-main/pygments/lexers/github.py +362 -0
  90. data/vendor/pygments-main/pygments/lexers/hdl.py +356 -0
  91. data/vendor/pygments-main/pygments/lexers/jvm.py +847 -0
  92. data/vendor/pygments-main/pygments/lexers/math.py +1072 -0
  93. data/vendor/pygments-main/pygments/lexers/other.py +3339 -0
  94. data/vendor/pygments-main/pygments/lexers/parsers.py +695 -0
  95. data/vendor/pygments-main/pygments/lexers/shell.py +361 -0
  96. data/vendor/pygments-main/pygments/lexers/special.py +100 -0
  97. data/vendor/pygments-main/pygments/lexers/sql.py +559 -0
  98. data/vendor/pygments-main/pygments/lexers/templates.py +1631 -0
  99. data/vendor/pygments-main/pygments/lexers/text.py +1753 -0
  100. data/vendor/pygments-main/pygments/lexers/web.py +2864 -0
  101. data/vendor/pygments-main/pygments/plugin.py +74 -0
  102. data/vendor/pygments-main/pygments/scanner.py +104 -0
  103. data/vendor/pygments-main/pygments/style.py +117 -0
  104. data/vendor/pygments-main/pygments/styles/__init__.py +70 -0
  105. data/vendor/pygments-main/pygments/styles/autumn.py +65 -0
  106. data/vendor/pygments-main/pygments/styles/borland.py +51 -0
  107. data/vendor/pygments-main/pygments/styles/bw.py +49 -0
  108. data/vendor/pygments-main/pygments/styles/colorful.py +81 -0
  109. data/vendor/pygments-main/pygments/styles/default.py +73 -0
  110. data/vendor/pygments-main/pygments/styles/emacs.py +72 -0
  111. data/vendor/pygments-main/pygments/styles/friendly.py +72 -0
  112. data/vendor/pygments-main/pygments/styles/fruity.py +42 -0
  113. data/vendor/pygments-main/pygments/styles/manni.py +75 -0
  114. data/vendor/pygments-main/pygments/styles/monokai.py +106 -0
  115. data/vendor/pygments-main/pygments/styles/murphy.py +80 -0
  116. data/vendor/pygments-main/pygments/styles/native.py +65 -0
  117. data/vendor/pygments-main/pygments/styles/pastie.py +75 -0
  118. data/vendor/pygments-main/pygments/styles/perldoc.py +69 -0
  119. data/vendor/pygments-main/pygments/styles/rrt.py +33 -0
  120. data/vendor/pygments-main/pygments/styles/tango.py +141 -0
  121. data/vendor/pygments-main/pygments/styles/trac.py +63 -0
  122. data/vendor/pygments-main/pygments/styles/vim.py +63 -0
  123. data/vendor/pygments-main/pygments/styles/vs.py +38 -0
  124. data/vendor/pygments-main/pygments/token.py +195 -0
  125. data/vendor/pygments-main/pygments/unistring.py +130 -0
  126. data/vendor/pygments-main/pygments/util.py +232 -0
  127. data/vendor/pygments-main/scripts/check_sources.py +242 -0
  128. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +30 -0
  129. data/vendor/pygments-main/scripts/epydoc.css +280 -0
  130. data/vendor/pygments-main/scripts/find_codetags.py +205 -0
  131. data/vendor/pygments-main/scripts/find_error.py +171 -0
  132. data/vendor/pygments-main/scripts/get_vimkw.py +43 -0
  133. data/vendor/pygments-main/scripts/pylintrc +301 -0
  134. data/vendor/pygments-main/scripts/reindent.py +291 -0
  135. data/vendor/pygments-main/scripts/vim2pygments.py +933 -0
  136. data/vendor/pygments-main/setup.cfg +6 -0
  137. data/vendor/pygments-main/setup.py +88 -0
  138. data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +37 -0
  139. data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +869 -0
  140. data/vendor/pygments-main/tests/dtds/HTML4.dcl +88 -0
  141. data/vendor/pygments-main/tests/dtds/HTML4.dtd +1092 -0
  142. data/vendor/pygments-main/tests/dtds/HTML4.soc +9 -0
  143. data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +195 -0
  144. data/vendor/pygments-main/tests/dtds/HTMLspec.ent +77 -0
  145. data/vendor/pygments-main/tests/dtds/HTMLsym.ent +241 -0
  146. data/vendor/pygments-main/tests/examplefiles/ANTLRv3.g +608 -0
  147. data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +209 -0
  148. data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +102 -0
  149. data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +611 -0
  150. data/vendor/pygments-main/tests/examplefiles/Constants.mo +158 -0
  151. data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +411 -0
  152. data/vendor/pygments-main/tests/examplefiles/Errors.scala +18 -0
  153. data/vendor/pygments-main/tests/examplefiles/File.hy +174 -0
  154. data/vendor/pygments-main/tests/examplefiles/Intro.java +1660 -0
  155. data/vendor/pygments-main/tests/examplefiles/Makefile +1131 -0
  156. data/vendor/pygments-main/tests/examplefiles/Object.st +4394 -0
  157. data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +584 -0
  158. data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +378 -0
  159. data/vendor/pygments-main/tests/examplefiles/Sorting.mod +470 -0
  160. data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +382 -0
  161. data/vendor/pygments-main/tests/examplefiles/addressbook.proto +30 -0
  162. data/vendor/pygments-main/tests/examplefiles/antlr_throws +1 -0
  163. data/vendor/pygments-main/tests/examplefiles/apache2.conf +393 -0
  164. data/vendor/pygments-main/tests/examplefiles/as3_test.as +143 -0
  165. data/vendor/pygments-main/tests/examplefiles/as3_test2.as +46 -0
  166. data/vendor/pygments-main/tests/examplefiles/as3_test3.as +3 -0
  167. data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +27 -0
  168. data/vendor/pygments-main/tests/examplefiles/badcase.java +2 -0
  169. data/vendor/pygments-main/tests/examplefiles/batchfile.bat +49 -0
  170. data/vendor/pygments-main/tests/examplefiles/boot-9.scm +1557 -0
  171. data/vendor/pygments-main/tests/examplefiles/cells.ps +515 -0
  172. data/vendor/pygments-main/tests/examplefiles/ceval.c +2604 -0
  173. data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +13 -0
  174. data/vendor/pygments-main/tests/examplefiles/classes.dylan +40 -0
  175. data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +10 -0
  176. data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +447 -0
  177. data/vendor/pygments-main/tests/examplefiles/database.pytb +20 -0
  178. data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +2461 -0
  179. data/vendor/pygments-main/tests/examplefiles/demo.ahk +181 -0
  180. data/vendor/pygments-main/tests/examplefiles/demo.cfm +38 -0
  181. data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +68 -0
  182. data/vendor/pygments-main/tests/examplefiles/dwarf.cw +17 -0
  183. data/vendor/pygments-main/tests/examplefiles/erl_session +10 -0
  184. data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +1 -0
  185. data/vendor/pygments-main/tests/examplefiles/evil_regex.js +48 -0
  186. data/vendor/pygments-main/tests/examplefiles/example.c +2080 -0
  187. data/vendor/pygments-main/tests/examplefiles/example.cls +15 -0
  188. data/vendor/pygments-main/tests/examplefiles/example.cpp +2363 -0
  189. data/vendor/pygments-main/tests/examplefiles/example.gs +106 -0
  190. data/vendor/pygments-main/tests/examplefiles/example.gst +7 -0
  191. data/vendor/pygments-main/tests/examplefiles/example.kt +47 -0
  192. data/vendor/pygments-main/tests/examplefiles/example.lua +250 -0
  193. data/vendor/pygments-main/tests/examplefiles/example.moo +26 -0
  194. data/vendor/pygments-main/tests/examplefiles/example.moon +629 -0
  195. data/vendor/pygments-main/tests/examplefiles/example.nim +1010 -0
  196. data/vendor/pygments-main/tests/examplefiles/example.ns2 +69 -0
  197. data/vendor/pygments-main/tests/examplefiles/example.p +34 -0
  198. data/vendor/pygments-main/tests/examplefiles/example.pas +2708 -0
  199. data/vendor/pygments-main/tests/examplefiles/example.rb +1852 -0
  200. data/vendor/pygments-main/tests/examplefiles/example.rhtml +561 -0
  201. data/vendor/pygments-main/tests/examplefiles/example.sh-session +19 -0
  202. data/vendor/pygments-main/tests/examplefiles/example.sml +156 -0
  203. data/vendor/pygments-main/tests/examplefiles/example.snobol +15 -0
  204. data/vendor/pygments-main/tests/examplefiles/example.tea +34 -0
  205. data/vendor/pygments-main/tests/examplefiles/example.u +548 -0
  206. data/vendor/pygments-main/tests/examplefiles/example.weechatlog +9 -0
  207. data/vendor/pygments-main/tests/examplefiles/example.xhtml +376 -0
  208. data/vendor/pygments-main/tests/examplefiles/example.yaml +302 -0
  209. data/vendor/pygments-main/tests/examplefiles/example2.aspx +29 -0
  210. data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +363 -0
  211. data/vendor/pygments-main/tests/examplefiles/example_file.fy +128 -0
  212. data/vendor/pygments-main/tests/examplefiles/firefox.mak +586 -0
  213. data/vendor/pygments-main/tests/examplefiles/flipflop.sv +19 -0
  214. data/vendor/pygments-main/tests/examplefiles/foo.sce +6 -0
  215. data/vendor/pygments-main/tests/examplefiles/format.ml +1213 -0
  216. data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +77 -0
  217. data/vendor/pygments-main/tests/examplefiles/function.mu +1 -0
  218. data/vendor/pygments-main/tests/examplefiles/functional.rst +1472 -0
  219. data/vendor/pygments-main/tests/examplefiles/genclass.clj +510 -0
  220. data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +193 -0
  221. data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +33 -0
  222. data/vendor/pygments-main/tests/examplefiles/glsl.frag +7 -0
  223. data/vendor/pygments-main/tests/examplefiles/glsl.vert +13 -0
  224. data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +1 -0
  225. data/vendor/pygments-main/tests/examplefiles/http_request_example +14 -0
  226. data/vendor/pygments-main/tests/examplefiles/http_response_example +27 -0
  227. data/vendor/pygments-main/tests/examplefiles/import.hs +4 -0
  228. data/vendor/pygments-main/tests/examplefiles/intro.ik +24 -0
  229. data/vendor/pygments-main/tests/examplefiles/ints.php +10 -0
  230. data/vendor/pygments-main/tests/examplefiles/intsyn.fun +675 -0
  231. data/vendor/pygments-main/tests/examplefiles/intsyn.sig +286 -0
  232. data/vendor/pygments-main/tests/examplefiles/irb_heredoc +8 -0
  233. data/vendor/pygments-main/tests/examplefiles/irc.lsp +214 -0
  234. data/vendor/pygments-main/tests/examplefiles/java.properties +16 -0
  235. data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +28 -0
  236. data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +45 -0
  237. data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +713 -0
  238. data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +13 -0
  239. data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +47 -0
  240. data/vendor/pygments-main/tests/examplefiles/ltmain.sh +2849 -0
  241. data/vendor/pygments-main/tests/examplefiles/main.cmake +42 -0
  242. data/vendor/pygments-main/tests/examplefiles/markdown.lsp +679 -0
  243. data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +3 -0
  244. data/vendor/pygments-main/tests/examplefiles/matlab_sample +27 -0
  245. data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +37 -0
  246. data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +4 -0
  247. data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +340 -0
  248. data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +38 -0
  249. data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +96 -0
  250. data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +30 -0
  251. data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +87 -0
  252. data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +118 -0
  253. data/vendor/pygments-main/tests/examplefiles/numbers.c +12 -0
  254. data/vendor/pygments-main/tests/examplefiles/objc_example.m +25 -0
  255. data/vendor/pygments-main/tests/examplefiles/objc_example2.m +24 -0
  256. data/vendor/pygments-main/tests/examplefiles/perl_misc +62 -0
  257. data/vendor/pygments-main/tests/examplefiles/perl_perl5db +998 -0
  258. data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +120 -0
  259. data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +856 -0
  260. data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +567 -0
  261. data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +1223 -0
  262. data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +47 -0
  263. data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +10 -0
  264. data/vendor/pygments-main/tests/examplefiles/psql_session.txt +122 -0
  265. data/vendor/pygments-main/tests/examplefiles/py3_test.txt +2 -0
  266. data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +14 -0
  267. data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +2 -0
  268. data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +234 -0
  269. data/vendor/pygments-main/tests/examplefiles/qsort.prolog +13 -0
  270. data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +38 -0
  271. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +280 -0
  272. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +2 -0
  273. data/vendor/pygments-main/tests/examplefiles/regex.js +22 -0
  274. data/vendor/pygments-main/tests/examplefiles/reversi.lsp +427 -0
  275. data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +11 -0
  276. data/vendor/pygments-main/tests/examplefiles/scilab.sci +30 -0
  277. data/vendor/pygments-main/tests/examplefiles/sibling.prolog +19 -0
  278. data/vendor/pygments-main/tests/examplefiles/simple.md +747 -0
  279. data/vendor/pygments-main/tests/examplefiles/smarty_example.html +209 -0
  280. data/vendor/pygments-main/tests/examplefiles/source.lgt +343 -0
  281. data/vendor/pygments-main/tests/examplefiles/sources.list +62 -0
  282. data/vendor/pygments-main/tests/examplefiles/sphere.pov +18 -0
  283. data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +27 -0
  284. data/vendor/pygments-main/tests/examplefiles/squid.conf +30 -0
  285. data/vendor/pygments-main/tests/examplefiles/string.jl +1031 -0
  286. data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +21 -0
  287. data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +3 -0
  288. data/vendor/pygments-main/tests/examplefiles/test.R +119 -0
  289. data/vendor/pygments-main/tests/examplefiles/test.adb +211 -0
  290. data/vendor/pygments-main/tests/examplefiles/test.asy +131 -0
  291. data/vendor/pygments-main/tests/examplefiles/test.awk +121 -0
  292. data/vendor/pygments-main/tests/examplefiles/test.bas +29 -0
  293. data/vendor/pygments-main/tests/examplefiles/test.bmx +145 -0
  294. data/vendor/pygments-main/tests/examplefiles/test.boo +39 -0
  295. data/vendor/pygments-main/tests/examplefiles/test.bro +250 -0
  296. data/vendor/pygments-main/tests/examplefiles/test.cs +374 -0
  297. data/vendor/pygments-main/tests/examplefiles/test.css +54 -0
  298. data/vendor/pygments-main/tests/examplefiles/test.d +135 -0
  299. data/vendor/pygments-main/tests/examplefiles/test.dart +23 -0
  300. data/vendor/pygments-main/tests/examplefiles/test.dtd +89 -0
  301. data/vendor/pygments-main/tests/examplefiles/test.ec +605 -0
  302. data/vendor/pygments-main/tests/examplefiles/test.ecl +58 -0
  303. data/vendor/pygments-main/tests/examplefiles/test.eh +315 -0
  304. data/vendor/pygments-main/tests/examplefiles/test.erl +169 -0
  305. data/vendor/pygments-main/tests/examplefiles/test.evoque +33 -0
  306. data/vendor/pygments-main/tests/examplefiles/test.fan +818 -0
  307. data/vendor/pygments-main/tests/examplefiles/test.flx +57 -0
  308. data/vendor/pygments-main/tests/examplefiles/test.gdc +13 -0
  309. data/vendor/pygments-main/tests/examplefiles/test.groovy +97 -0
  310. data/vendor/pygments-main/tests/examplefiles/test.html +339 -0
  311. data/vendor/pygments-main/tests/examplefiles/test.ini +10 -0
  312. data/vendor/pygments-main/tests/examplefiles/test.java +653 -0
  313. data/vendor/pygments-main/tests/examplefiles/test.jsp +24 -0
  314. data/vendor/pygments-main/tests/examplefiles/test.maql +45 -0
  315. data/vendor/pygments-main/tests/examplefiles/test.mod +374 -0
  316. data/vendor/pygments-main/tests/examplefiles/test.moo +51 -0
  317. data/vendor/pygments-main/tests/examplefiles/test.myt +166 -0
  318. data/vendor/pygments-main/tests/examplefiles/test.nim +93 -0
  319. data/vendor/pygments-main/tests/examplefiles/test.pas +743 -0
  320. data/vendor/pygments-main/tests/examplefiles/test.php +505 -0
  321. data/vendor/pygments-main/tests/examplefiles/test.plot +333 -0
  322. data/vendor/pygments-main/tests/examplefiles/test.ps1 +108 -0
  323. data/vendor/pygments-main/tests/examplefiles/test.pypylog +1839 -0
  324. data/vendor/pygments-main/tests/examplefiles/test.r3 +94 -0
  325. data/vendor/pygments-main/tests/examplefiles/test.rb +177 -0
  326. data/vendor/pygments-main/tests/examplefiles/test.rhtml +43 -0
  327. data/vendor/pygments-main/tests/examplefiles/test.scaml +8 -0
  328. data/vendor/pygments-main/tests/examplefiles/test.ssp +12 -0
  329. data/vendor/pygments-main/tests/examplefiles/test.tcsh +830 -0
  330. data/vendor/pygments-main/tests/examplefiles/test.vb +407 -0
  331. data/vendor/pygments-main/tests/examplefiles/test.vhdl +161 -0
  332. data/vendor/pygments-main/tests/examplefiles/test.xqy +138 -0
  333. data/vendor/pygments-main/tests/examplefiles/test.xsl +23 -0
  334. data/vendor/pygments-main/tests/examplefiles/truncated.pytb +15 -0
  335. data/vendor/pygments-main/tests/examplefiles/type.lisp +1202 -0
  336. data/vendor/pygments-main/tests/examplefiles/underscore.coffee +603 -0
  337. data/vendor/pygments-main/tests/examplefiles/unicode.applescript +5 -0
  338. data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +11 -0
  339. data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +3 -0
  340. data/vendor/pygments-main/tests/examplefiles/while.pov +13 -0
  341. data/vendor/pygments-main/tests/examplefiles/wiki.factor +384 -0
  342. data/vendor/pygments-main/tests/examplefiles/xml_example +1897 -0
  343. data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +798 -0
  344. data/vendor/pygments-main/tests/old_run.py +138 -0
  345. data/vendor/pygments-main/tests/run.py +48 -0
  346. data/vendor/pygments-main/tests/support.py +15 -0
  347. data/vendor/pygments-main/tests/test_basic_api.py +294 -0
  348. data/vendor/pygments-main/tests/test_clexer.py +31 -0
  349. data/vendor/pygments-main/tests/test_cmdline.py +105 -0
  350. data/vendor/pygments-main/tests/test_examplefiles.py +97 -0
  351. data/vendor/pygments-main/tests/test_html_formatter.py +162 -0
  352. data/vendor/pygments-main/tests/test_latex_formatter.py +55 -0
  353. data/vendor/pygments-main/tests/test_perllexer.py +137 -0
  354. data/vendor/pygments-main/tests/test_regexlexer.py +47 -0
  355. data/vendor/pygments-main/tests/test_token.py +46 -0
  356. data/vendor/pygments-main/tests/test_using_api.py +40 -0
  357. data/vendor/pygments-main/tests/test_util.py +116 -0
  358. data/vendor/simplejson/.gitignore +10 -0
  359. data/vendor/simplejson/.travis.yml +5 -0
  360. data/vendor/simplejson/CHANGES.txt +291 -0
  361. data/vendor/simplejson/LICENSE.txt +19 -0
  362. data/vendor/simplejson/MANIFEST.in +5 -0
  363. data/vendor/simplejson/README.rst +19 -0
  364. data/vendor/simplejson/conf.py +179 -0
  365. data/vendor/simplejson/index.rst +628 -0
  366. data/vendor/simplejson/scripts/make_docs.py +18 -0
  367. data/vendor/simplejson/setup.py +104 -0
  368. data/vendor/simplejson/simplejson/__init__.py +510 -0
  369. data/vendor/simplejson/simplejson/_speedups.c +2745 -0
  370. data/vendor/simplejson/simplejson/decoder.py +425 -0
  371. data/vendor/simplejson/simplejson/encoder.py +567 -0
  372. data/vendor/simplejson/simplejson/ordered_dict.py +119 -0
  373. data/vendor/simplejson/simplejson/scanner.py +77 -0
  374. data/vendor/simplejson/simplejson/tests/__init__.py +67 -0
  375. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +55 -0
  376. data/vendor/simplejson/simplejson/tests/test_check_circular.py +30 -0
  377. data/vendor/simplejson/simplejson/tests/test_decimal.py +66 -0
  378. data/vendor/simplejson/simplejson/tests/test_decode.py +83 -0
  379. data/vendor/simplejson/simplejson/tests/test_default.py +9 -0
  380. data/vendor/simplejson/simplejson/tests/test_dump.py +67 -0
  381. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +46 -0
  382. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +32 -0
  383. data/vendor/simplejson/simplejson/tests/test_errors.py +34 -0
  384. data/vendor/simplejson/simplejson/tests/test_fail.py +91 -0
  385. data/vendor/simplejson/simplejson/tests/test_float.py +19 -0
  386. data/vendor/simplejson/simplejson/tests/test_indent.py +86 -0
  387. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +20 -0
  388. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +121 -0
  389. data/vendor/simplejson/simplejson/tests/test_pass1.py +76 -0
  390. data/vendor/simplejson/simplejson/tests/test_pass2.py +14 -0
  391. data/vendor/simplejson/simplejson/tests/test_pass3.py +20 -0
  392. data/vendor/simplejson/simplejson/tests/test_recursion.py +67 -0
  393. data/vendor/simplejson/simplejson/tests/test_scanstring.py +117 -0
  394. data/vendor/simplejson/simplejson/tests/test_separators.py +42 -0
  395. data/vendor/simplejson/simplejson/tests/test_speedups.py +20 -0
  396. data/vendor/simplejson/simplejson/tests/test_tuple.py +49 -0
  397. data/vendor/simplejson/simplejson/tests/test_unicode.py +109 -0
  398. data/vendor/simplejson/simplejson/tool.py +39 -0
  399. metadata +492 -0
@@ -0,0 +1,21 @@
1
+ import std.stdio;
2
+
3
+ void main() {
4
+ // Nesting delimited strings
5
+ auto a = q"{foo " {bar} baz}";
6
+ auto b = q"[foo [bar] " baz]";
7
+ auto c = q"(foo " (bar) baz)";
8
+ auto d = q"<foo <bar> " baz>";
9
+ // Non-nesting delimited strings
10
+ auto e = q"/foo " bar/";
11
+ auto f = q"-Another " string-";
12
+ // "heredoc" strings
13
+ auto g = q"FOO
14
+ This is a string!
15
+ FOO";
16
+ // Token strings (only the q{} should be highlighted as a string)
17
+ auto h = q{
18
+ int i;
19
+ void foo() { writefln("Hello, world!"); }
20
+ };
21
+ }
@@ -0,0 +1,3 @@
1
+ cat <<-EOF
2
+ Hello world $PATH
3
+ EOF
@@ -0,0 +1,119 @@
1
+ ###################################
2
+ ####### emplikH1.test() ##########
3
+ ###################################
4
+
5
+ emplikH1.test <- function(x, d, theta, fun,
6
+ tola = .Machine$double.eps^.25)
7
+ {
8
+ n <- length(x)
9
+ if( n <= 2 ) stop("Need more observations")
10
+ if( length(d) != n ) stop("length of x and d must agree")
11
+ if(any((d!=0)&(d!=1))) stop("d must be 0/1's for censor/not-censor")
12
+ if(!is.numeric(x)) stop("x must be numeric values --- observed times")
13
+
14
+ #temp<-summary(survfit(Surv(x,d),se.fit=F,type="fleming",conf.type="none"))
15
+ #
16
+ newdata <- Wdataclean2(x,d)
17
+ temp <- DnR(newdata$value, newdata$dd, newdata$weight)
18
+
19
+ time <- temp$time # only uncensored time? Yes.
20
+ risk <- temp$n.risk
21
+ jump <- (temp$n.event)/risk
22
+
23
+ funtime <- fun(time)
24
+ funh <- (n/risk) * funtime # that is Zi
25
+ funtimeTjump <- funtime * jump
26
+
27
+ if(jump[length(jump)] >= 1) funh[length(jump)] <- 0 #for inthaz and weights
28
+
29
+ inthaz <- function(x, ftj, fh, thet){ sum(ftj/(1 + x * fh)) - thet }
30
+
31
+ diff <- inthaz(0, funtimeTjump, funh, theta)
32
+
33
+ if( diff == 0 ) { lam <- 0 } else {
34
+ step <- 0.2/sqrt(n)
35
+ if(abs(diff) > 6*log(n)*step )
36
+ stop("given theta value is too far away from theta0")
37
+
38
+ mini<-0
39
+ maxi<-0
40
+ if(diff > 0) {
41
+ maxi <- step
42
+ while(inthaz(maxi, funtimeTjump, funh, theta) > 0 && maxi < 50*log(n)*step)
43
+ maxi <- maxi+step
44
+ }
45
+ else {
46
+ mini <- -step
47
+ while(inthaz(mini, funtimeTjump, funh, theta) < 0 && mini > - 50*log(n)*step)
48
+ mini <- mini - step
49
+ }
50
+
51
+ if(inthaz(mini, funtimeTjump, funh, theta)*inthaz(maxi, funtimeTjump, funh, theta) > 0 )
52
+ stop("given theta is too far away from theta0")
53
+
54
+ temp2 <- uniroot(inthaz,c(mini,maxi), tol = tola,
55
+ ftj=funtimeTjump, fh=funh, thet=theta)
56
+ lam <- temp2$root
57
+ }
58
+
59
+ onepluslamh<- 1 + lam * funh ### this is 1 + lam Zi in Ref.
60
+
61
+ weights <- jump/onepluslamh #need to change last jump to 1? NO. see above
62
+
63
+ loglik <- 2*(sum(log(onepluslamh)) - sum((onepluslamh-1)/onepluslamh) )
64
+ #?is that right? YES see (3.2) in Ref. above. This ALR, or Poisson LR.
65
+
66
+ #last <- length(jump) ## to compute loglik2, we need to drop last jump
67
+ #if (jump[last] == 1) {
68
+ # risk1 <- risk[-last]
69
+ # jump1 <- jump[-last]
70
+ # weights1 <- weights[-last]
71
+ # } else {
72
+ # risk1 <- risk
73
+ # jump1 <- jump
74
+ # weights1 <- weights
75
+ # }
76
+ #loglik2 <- 2*( sum(log(onepluslamh)) +
77
+ # sum( (risk1 -1)*log((1-jump1)/(1- weights1) ) ) )
78
+ ##? this likelihood seems have negative values sometimes???
79
+
80
+ list( logemlik=loglik, ### logemlikv2=loglik2,
81
+ lambda=lam, times=time, wts=weights,
82
+ nits=temp2$nf, message=temp2$message )
83
+ }
84
+
85
+ library("graphics")
86
+
87
+ par(mfrow = c(1, 2))
88
+ # plot histogram
89
+ x <- rnorm(100)
90
+ if (max(x) > 100)
91
+ stop("Quite unexpected.")
92
+ else
93
+ hist(x, plot=TRUE, col="ivory")
94
+
95
+ # from doc: lowess
96
+ plot(cars, main = "lowess(cars)")
97
+ lines(lowess(cars), col = 2)
98
+ lines(lowess(cars, f=.2), col = 3)
99
+ legend(5, 120, c(paste("f = ", c("2/3", ".2"))), lty = 1, col = 2:3)
100
+
101
+ # from doc: is.na
102
+ is.na(c(1, NA))
103
+
104
+ # from doc: Extract
105
+ y <- list(1,2,a=4,5)
106
+ y[c(3,4)] # a list containing elements 3 and 4 of y
107
+ y$a # the element of y named a
108
+
109
+ # from doc: for
110
+ for(n in c(2,5,10,20,50)) {
111
+ x <- stats::rnorm(n)
112
+ cat(n,":", sum(x2),"\n")
113
+ }
114
+
115
+ class(fo <- y ~ x1*x2) # "formula"
116
+
117
+
118
+
119
+
@@ -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;
@@ -0,0 +1,131 @@
1
+ // example file for roundedpath() in roundedpath.asy
2
+ // written by stefan knorr
3
+
4
+
5
+ // import needed packages
6
+ import roundedpath;
7
+
8
+ // function definition
9
+ picture CreateKOOS(real Scale, string legend) // draw labeled coordinate system as picture
10
+ {
11
+ picture ReturnPic;
12
+ real S = 1.2*Scale;
13
+ draw(ReturnPic, ((-S,0)--(S,0)), bar = EndArrow); // x axis
14
+ draw(ReturnPic, ((0,-S)--(0,S)), bar = EndArrow); // y axis
15
+ label(ReturnPic, "$\varepsilon$", (S,0), SW); // x axis label
16
+ label(ReturnPic, "$\sigma$", (0,S), SW); // y axis label
17
+ label(ReturnPic, legend, (0.7S, -S), NW); // add label 'legend'
18
+ return ReturnPic; // return picture
19
+ }
20
+
21
+
22
+ // some global definitions
23
+ real S = 13mm; // universal scale factor for the whole file
24
+ real grad = 0.25; // gradient for lines
25
+ real radius = 0.04; // radius for the rounded path'
26
+ real lw = 2; // linewidth
27
+ pair A = (-1, -1); // start point for graphs
28
+ pair E = ( 1, 1); // end point for graphs
29
+ path graph; // local graph
30
+ pen ActPen; // actual pen for each drawing
31
+ picture T[]; // vector of all four diagrams
32
+ real inc = 2.8; // increment-offset for combining pictures
33
+
34
+ //////////////////////////////////////// 1st diagram
35
+ T[1] = CreateKOOS(S, "$T_1$"); // initialise T[1] as empty diagram with label $T_1$
36
+ graph = A; // # pointwise definition of current path 'graph'
37
+ graph = graph -- (A.x + grad*1.6, A.y + 1.6); // #
38
+ graph = graph -- (E.x - grad*0.4, E.y - 0.4); // #
39
+ graph = graph -- E; // #
40
+
41
+ graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy
42
+ ActPen = rgb(0,0,0.6) + linewidth(lw); // define pen for drawing in 1st diagram
43
+ draw(T[1], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[1]' (1st hysteresis branch)
44
+ draw(T[1], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (2nd hysteresis branch)
45
+
46
+ graph = (0,0) -- (grad*0.6, 0.6) -- ( (grad*0.6, 0.6) + (0.1, 0) ); // define branch from origin to hysteresis
47
+ graph = roundedpath(graph, radius, S); // round this path
48
+ draw(T[1], graph, ActPen); // draw this path into 'T[1]'
49
+
50
+
51
+ //////////////////////////////////////// 2nd diagram
52
+ T[2] = CreateKOOS(S, "$T_2$"); // initialise T[2] as empty diagram with label $T_2$
53
+ graph = A; // # pointwise definition of current path 'graph'
54
+ graph = graph -- (A.x + grad*1.3, A.y + 1.3); // #
55
+ graph = graph -- (E.x - grad*0.7 , E.y - 0.7); // #
56
+ graph = graph -- E; // #
57
+
58
+ graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy
59
+ ActPen = rgb(0.2,0,0.4) + linewidth(lw); // define pen for drawing in 2nd diagram
60
+ draw(T[2], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[2]' (1st hysteresis branch)
61
+ draw(T[2], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (2nd hysteresis branch)
62
+
63
+ graph = (0,0) -- (grad*0.3, 0.3) -- ( (grad*0.3, 0.3) + (0.1, 0) ); // define branch from origin to hysteresis
64
+ graph = roundedpath(graph, radius, S); // round this path
65
+ draw(T[2], graph, ActPen); // draw this path into 'T[2]'
66
+
67
+
68
+ //////////////////////////////////////// 3rd diagram
69
+ T[3] = CreateKOOS(S, "$T_3$"); // initialise T[3] as empty diagram with label $T_3$
70
+ graph = A; // # pointwise definition of current path 'graph'
71
+ graph = graph -- (A.x + grad*0.7, A.y + 0.7); // #
72
+ graph = graph -- ( - grad*0.3 , - 0.3); // #
73
+ graph = graph -- (0,0); // #
74
+ graph = graph -- (grad*0.6, 0.6); // #
75
+ graph = graph -- (E.x - grad*0.4, E.y - 0.4); // #
76
+ graph = graph -- E; // #
77
+
78
+ graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy
79
+ ActPen = rgb(0.6,0,0.2) + linewidth(lw); // define pen for drawing in 3rd diagram
80
+ draw(T[3], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[3]' (1st hysteresis branch)
81
+ draw(T[3], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (2nd hysteresis branch)
82
+
83
+
84
+ //////////////////////////////////////// 4th diagram
85
+ T[4] = CreateKOOS(S, "$T_4$"); // initialise T[4] as empty diagram with label $T_4$
86
+ graph = A; // # pointwise definition of current path 'graph'
87
+ graph = graph -- (A.x + grad*0.4, A.y + 0.4); // #
88
+ graph = graph -- ( - grad*0.6 , - 0.6); // #
89
+ graph = graph -- (0,0); // #
90
+ graph = graph -- (grad*0.9, 0.9); // #
91
+ graph = graph -- (E.x - grad*0.1, E.y - 0.1); // #
92
+ graph = graph -- E; // #
93
+
94
+ graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy
95
+ ActPen = rgb(0.6,0,0) + linewidth(lw); // define pen for drawing in 4th diagram
96
+ draw(T[4], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[4]' (1st hysteresis branch)
97
+ draw(T[4], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (3nd hysteresis branch)
98
+
99
+
100
+ // add some labels and black dots to the first two pictures
101
+ pair SWW = (-0.8, -0.6);
102
+ label(T[1], "$\sigma_f$", (0, 0.6S), NE); // sigma_f
103
+ draw(T[1], (0, 0.6S), linewidth(3) + black);
104
+ label(T[2], "$\sigma_f$", (0, 0.3S), NE); // sigma_f
105
+ draw(T[2], (0, 0.3S), linewidth(3) + black);
106
+ label(T[1], "$\varepsilon_p$", (0.7S, 0), SWW); // epsilon_p
107
+ draw(T[1], (0.75S, 0), linewidth(3) + black);
108
+ label(T[2], "$\varepsilon_p$", (0.7S, 0), SWW); // epsilon_p
109
+ draw(T[2], (0.75S, 0), linewidth(3) + black);
110
+
111
+
112
+ // add all pictures T[1...4] to the current one
113
+ add(T[1],(0,0));
114
+ add(T[2],(1*inc*S,0));
115
+ add(T[3],(2*inc*S,0));
116
+ add(T[4],(3*inc*S,0));
117
+
118
+
119
+ // draw line of constant \sigma and all intersection points with the graphs in T[1...4]
120
+ ActPen = linewidth(1) + dashed + gray(0.5); // pen definition
121
+ draw((-S, 0.45*S)--((3*inc+1)*S, 0.45*S), ActPen); // draw backgoundline
122
+ label("$\sigma_s$", (-S, 0.45S), W); // label 'sigma_s'
123
+
124
+ path mark = scale(2)*unitcircle; // define mark-symbol to be used for intersections
125
+ ActPen = linewidth(1) + gray(0.5); // define pen for intersection mark
126
+ draw(shift(( 1 - grad*0.55 + 0*inc)*S, 0.45*S)*mark, ActPen); // # draw all intersections
127
+ draw(shift((-1 + grad*1.45 + 0*inc)*S, 0.45*S)*mark, ActPen); // #
128
+ draw(shift(( 1 - grad*0.55 + 1*inc)*S, 0.45*S)*mark, ActPen); // #
129
+ draw(shift(( 1 - grad*0.55 + 2*inc)*S, 0.45*S)*mark, ActPen); // #
130
+ draw(shift(( grad*0.45 + 2*inc)*S, 0.45*S)*mark, ActPen); // #
131
+ draw(shift(( grad*0.45 + 3*inc)*S, 0.45*S)*mark, ActPen); // #