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.
- checksums.yaml +7 -0
- data/.gitignore +6 -0
- data/CHANGELOG.md +71 -0
- data/Gemfile +2 -0
- data/LICENSE +17 -0
- data/README.md +118 -0
- data/Rakefile +66 -0
- data/bench.rb +22 -0
- data/cache-lexers.rb +8 -0
- data/lexers +0 -0
- data/lib/pygments.rb +8 -0
- data/lib/pygments/lexer.rb +148 -0
- data/lib/pygments/mentos.py +351 -0
- data/lib/pygments/popen.rb +404 -0
- data/lib/pygments/version.rb +3 -0
- data/pygments.rb.gemspec +24 -0
- data/test/test_data.c +2581 -0
- data/test/test_data.py +514 -0
- data/test/test_data_generated +2582 -0
- data/test/test_pygments.rb +287 -0
- data/vendor/custom_lexers/github.py +565 -0
- data/vendor/pygments-main/AUTHORS +153 -0
- data/vendor/pygments-main/CHANGES +889 -0
- data/vendor/pygments-main/LICENSE +25 -0
- data/vendor/pygments-main/MANIFEST.in +6 -0
- data/vendor/pygments-main/Makefile +59 -0
- data/vendor/pygments-main/REVISION +1 -0
- data/vendor/pygments-main/TODO +15 -0
- data/vendor/pygments-main/docs/generate.py +472 -0
- data/vendor/pygments-main/docs/pygmentize.1 +94 -0
- data/vendor/pygments-main/docs/src/api.txt +270 -0
- data/vendor/pygments-main/docs/src/authors.txt +5 -0
- data/vendor/pygments-main/docs/src/changelog.txt +5 -0
- data/vendor/pygments-main/docs/src/cmdline.txt +147 -0
- data/vendor/pygments-main/docs/src/filterdevelopment.txt +70 -0
- data/vendor/pygments-main/docs/src/filters.txt +42 -0
- data/vendor/pygments-main/docs/src/formatterdevelopment.txt +169 -0
- data/vendor/pygments-main/docs/src/formatters.txt +48 -0
- data/vendor/pygments-main/docs/src/index.txt +69 -0
- data/vendor/pygments-main/docs/src/installation.txt +71 -0
- data/vendor/pygments-main/docs/src/integrate.txt +48 -0
- data/vendor/pygments-main/docs/src/java.txt +70 -0
- data/vendor/pygments-main/docs/src/lexerdevelopment.txt +603 -0
- data/vendor/pygments-main/docs/src/lexers.txt +67 -0
- data/vendor/pygments-main/docs/src/moinmoin.txt +39 -0
- data/vendor/pygments-main/docs/src/plugins.txt +93 -0
- data/vendor/pygments-main/docs/src/quickstart.txt +202 -0
- data/vendor/pygments-main/docs/src/rstdirective.txt +22 -0
- data/vendor/pygments-main/docs/src/styles.txt +143 -0
- data/vendor/pygments-main/docs/src/tokens.txt +349 -0
- data/vendor/pygments-main/docs/src/unicode.txt +49 -0
- data/vendor/pygments-main/external/autopygmentize +64 -0
- data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +144 -0
- data/vendor/pygments-main/external/markdown-processor.py +67 -0
- data/vendor/pygments-main/external/moin-parser.py +112 -0
- data/vendor/pygments-main/external/pygments.bashcomp +38 -0
- data/vendor/pygments-main/external/rst-directive-old.py +77 -0
- data/vendor/pygments-main/external/rst-directive.py +83 -0
- data/vendor/pygments-main/ez_setup.py +276 -0
- data/vendor/pygments-main/pygmentize +7 -0
- data/vendor/pygments-main/pygments/__init__.py +91 -0
- data/vendor/pygments-main/pygments/cmdline.py +441 -0
- data/vendor/pygments-main/pygments/console.py +74 -0
- data/vendor/pygments-main/pygments/filter.py +74 -0
- data/vendor/pygments-main/pygments/filters/__init__.py +356 -0
- data/vendor/pygments-main/pygments/formatter.py +95 -0
- data/vendor/pygments-main/pygments/formatters/__init__.py +68 -0
- data/vendor/pygments-main/pygments/formatters/_mapping.py +92 -0
- data/vendor/pygments-main/pygments/formatters/bbcode.py +109 -0
- data/vendor/pygments-main/pygments/formatters/html.py +821 -0
- data/vendor/pygments-main/pygments/formatters/img.py +553 -0
- data/vendor/pygments-main/pygments/formatters/latex.py +378 -0
- data/vendor/pygments-main/pygments/formatters/other.py +115 -0
- data/vendor/pygments-main/pygments/formatters/rtf.py +136 -0
- data/vendor/pygments-main/pygments/formatters/svg.py +154 -0
- data/vendor/pygments-main/pygments/formatters/terminal.py +112 -0
- data/vendor/pygments-main/pygments/formatters/terminal256.py +222 -0
- data/vendor/pygments-main/pygments/lexer.py +765 -0
- data/vendor/pygments-main/pygments/lexers/__init__.py +240 -0
- data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1645 -0
- data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +232 -0
- data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +5172 -0
- data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +249 -0
- data/vendor/pygments-main/pygments/lexers/_mapping.py +354 -0
- data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +562 -0
- data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +3787 -0
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +233 -0
- data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +557 -0
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +40 -0
- data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +1072 -0
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +360 -0
- data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +13 -0
- data/vendor/pygments-main/pygments/lexers/agile.py +2290 -0
- data/vendor/pygments-main/pygments/lexers/asm.py +398 -0
- data/vendor/pygments-main/pygments/lexers/compiled.py +3723 -0
- data/vendor/pygments-main/pygments/lexers/dalvik.py +104 -0
- data/vendor/pygments-main/pygments/lexers/dotnet.py +671 -0
- data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
- data/vendor/pygments-main/pygments/lexers/functional.py +2731 -0
- data/vendor/pygments-main/pygments/lexers/github.py +565 -0
- data/vendor/pygments-main/pygments/lexers/hdl.py +356 -0
- data/vendor/pygments-main/pygments/lexers/jvm.py +1112 -0
- data/vendor/pygments-main/pygments/lexers/math.py +1918 -0
- data/vendor/pygments-main/pygments/lexers/other.py +3778 -0
- data/vendor/pygments-main/pygments/lexers/parsers.py +778 -0
- data/vendor/pygments-main/pygments/lexers/shell.py +424 -0
- data/vendor/pygments-main/pygments/lexers/special.py +100 -0
- data/vendor/pygments-main/pygments/lexers/sql.py +559 -0
- data/vendor/pygments-main/pygments/lexers/templates.py +1742 -0
- data/vendor/pygments-main/pygments/lexers/text.py +1893 -0
- data/vendor/pygments-main/pygments/lexers/web.py +4045 -0
- data/vendor/pygments-main/pygments/modeline.py +40 -0
- data/vendor/pygments-main/pygments/plugin.py +74 -0
- data/vendor/pygments-main/pygments/scanner.py +104 -0
- data/vendor/pygments-main/pygments/style.py +117 -0
- data/vendor/pygments-main/pygments/styles/__init__.py +70 -0
- data/vendor/pygments-main/pygments/styles/autumn.py +65 -0
- data/vendor/pygments-main/pygments/styles/borland.py +51 -0
- data/vendor/pygments-main/pygments/styles/bw.py +49 -0
- data/vendor/pygments-main/pygments/styles/colorful.py +81 -0
- data/vendor/pygments-main/pygments/styles/default.py +73 -0
- data/vendor/pygments-main/pygments/styles/emacs.py +72 -0
- data/vendor/pygments-main/pygments/styles/friendly.py +72 -0
- data/vendor/pygments-main/pygments/styles/fruity.py +42 -0
- data/vendor/pygments-main/pygments/styles/manni.py +75 -0
- data/vendor/pygments-main/pygments/styles/monokai.py +106 -0
- data/vendor/pygments-main/pygments/styles/murphy.py +80 -0
- data/vendor/pygments-main/pygments/styles/native.py +65 -0
- data/vendor/pygments-main/pygments/styles/pastie.py +75 -0
- data/vendor/pygments-main/pygments/styles/perldoc.py +69 -0
- data/vendor/pygments-main/pygments/styles/rrt.py +33 -0
- data/vendor/pygments-main/pygments/styles/tango.py +141 -0
- data/vendor/pygments-main/pygments/styles/trac.py +63 -0
- data/vendor/pygments-main/pygments/styles/vim.py +63 -0
- data/vendor/pygments-main/pygments/styles/vs.py +38 -0
- data/vendor/pygments-main/pygments/token.py +195 -0
- data/vendor/pygments-main/pygments/unistring.py +140 -0
- data/vendor/pygments-main/pygments/util.py +277 -0
- data/vendor/pygments-main/scripts/check_sources.py +242 -0
- data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +32 -0
- data/vendor/pygments-main/scripts/epydoc.css +280 -0
- data/vendor/pygments-main/scripts/find_codetags.py +205 -0
- data/vendor/pygments-main/scripts/find_error.py +170 -0
- data/vendor/pygments-main/scripts/get_vimkw.py +43 -0
- data/vendor/pygments-main/scripts/pylintrc +301 -0
- data/vendor/pygments-main/scripts/reindent.py +291 -0
- data/vendor/pygments-main/scripts/vim2pygments.py +933 -0
- data/vendor/pygments-main/setup.cfg +7 -0
- data/vendor/pygments-main/setup.py +90 -0
- data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +37 -0
- data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +869 -0
- data/vendor/pygments-main/tests/dtds/HTML4.dcl +88 -0
- data/vendor/pygments-main/tests/dtds/HTML4.dtd +1092 -0
- data/vendor/pygments-main/tests/dtds/HTML4.soc +9 -0
- data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +195 -0
- data/vendor/pygments-main/tests/dtds/HTMLspec.ent +77 -0
- data/vendor/pygments-main/tests/dtds/HTMLsym.ent +241 -0
- data/vendor/pygments-main/tests/examplefiles/ANTLRv3.g +608 -0
- data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +209 -0
- data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +102 -0
- data/vendor/pygments-main/tests/examplefiles/BOM.js +1 -0
- data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +611 -0
- data/vendor/pygments-main/tests/examplefiles/Config.in.cache +1973 -0
- data/vendor/pygments-main/tests/examplefiles/Constants.mo +158 -0
- data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +411 -0
- data/vendor/pygments-main/tests/examplefiles/Deflate.fs +578 -0
- data/vendor/pygments-main/tests/examplefiles/Errors.scala +18 -0
- data/vendor/pygments-main/tests/examplefiles/File.hy +174 -0
- data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +66 -0
- data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +104 -0
- data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +671 -0
- data/vendor/pygments-main/tests/examplefiles/Intro.java +1660 -0
- data/vendor/pygments-main/tests/examplefiles/Makefile +1131 -0
- data/vendor/pygments-main/tests/examplefiles/Object.st +4394 -0
- data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +584 -0
- data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +23 -0
- data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +378 -0
- data/vendor/pygments-main/tests/examplefiles/Sorting.mod +470 -0
- data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +382 -0
- data/vendor/pygments-main/tests/examplefiles/addressbook.proto +30 -0
- data/vendor/pygments-main/tests/examplefiles/antlr_throws +1 -0
- data/vendor/pygments-main/tests/examplefiles/apache2.conf +393 -0
- data/vendor/pygments-main/tests/examplefiles/as3_test.as +143 -0
- data/vendor/pygments-main/tests/examplefiles/as3_test2.as +46 -0
- data/vendor/pygments-main/tests/examplefiles/as3_test3.as +3 -0
- data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +27 -0
- data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +25 -0
- data/vendor/pygments-main/tests/examplefiles/badcase.java +2 -0
- data/vendor/pygments-main/tests/examplefiles/batchfile.bat +49 -0
- data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +308 -0
- data/vendor/pygments-main/tests/examplefiles/boot-9.scm +1557 -0
- data/vendor/pygments-main/tests/examplefiles/ca65_example +284 -0
- data/vendor/pygments-main/tests/examplefiles/cbmbas_example +9 -0
- data/vendor/pygments-main/tests/examplefiles/cells.ps +515 -0
- data/vendor/pygments-main/tests/examplefiles/ceval.c +2604 -0
- data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +13 -0
- data/vendor/pygments-main/tests/examplefiles/classes.dylan +125 -0
- data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +10 -0
- data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +447 -0
- data/vendor/pygments-main/tests/examplefiles/database.pytb +20 -0
- data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +2461 -0
- data/vendor/pygments-main/tests/examplefiles/demo.ahk +181 -0
- data/vendor/pygments-main/tests/examplefiles/demo.cfm +38 -0
- data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +68 -0
- data/vendor/pygments-main/tests/examplefiles/dwarf.cw +17 -0
- data/vendor/pygments-main/tests/examplefiles/erl_session +10 -0
- data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +1 -0
- data/vendor/pygments-main/tests/examplefiles/evil_regex.js +48 -0
- data/vendor/pygments-main/tests/examplefiles/example.Rd +78 -0
- data/vendor/pygments-main/tests/examplefiles/example.bug +54 -0
- data/vendor/pygments-main/tests/examplefiles/example.c +2080 -0
- data/vendor/pygments-main/tests/examplefiles/example.ceylon +52 -0
- data/vendor/pygments-main/tests/examplefiles/example.clay +33 -0
- data/vendor/pygments-main/tests/examplefiles/example.cls +15 -0
- data/vendor/pygments-main/tests/examplefiles/example.cob +3556 -0
- data/vendor/pygments-main/tests/examplefiles/example.cpp +2363 -0
- data/vendor/pygments-main/tests/examplefiles/example.gs +106 -0
- data/vendor/pygments-main/tests/examplefiles/example.gst +7 -0
- data/vendor/pygments-main/tests/examplefiles/example.hx +142 -0
- data/vendor/pygments-main/tests/examplefiles/example.jag +48 -0
- data/vendor/pygments-main/tests/examplefiles/example.kt +47 -0
- data/vendor/pygments-main/tests/examplefiles/example.lagda +19 -0
- data/vendor/pygments-main/tests/examplefiles/example.lua +250 -0
- data/vendor/pygments-main/tests/examplefiles/example.monkey +152 -0
- data/vendor/pygments-main/tests/examplefiles/example.moo +26 -0
- data/vendor/pygments-main/tests/examplefiles/example.moon +629 -0
- data/vendor/pygments-main/tests/examplefiles/example.msc +43 -0
- data/vendor/pygments-main/tests/examplefiles/example.nim +1010 -0
- data/vendor/pygments-main/tests/examplefiles/example.ns2 +69 -0
- data/vendor/pygments-main/tests/examplefiles/example.p +34 -0
- data/vendor/pygments-main/tests/examplefiles/example.pas +2708 -0
- data/vendor/pygments-main/tests/examplefiles/example.prg +161 -0
- data/vendor/pygments-main/tests/examplefiles/example.rb +1852 -0
- data/vendor/pygments-main/tests/examplefiles/example.reg +19 -0
- data/vendor/pygments-main/tests/examplefiles/example.rexx +50 -0
- data/vendor/pygments-main/tests/examplefiles/example.rhtml +561 -0
- data/vendor/pygments-main/tests/examplefiles/example.rkt +95 -0
- data/vendor/pygments-main/tests/examplefiles/example.rpf +4 -0
- data/vendor/pygments-main/tests/examplefiles/example.sh-session +19 -0
- data/vendor/pygments-main/tests/examplefiles/example.shell-session +45 -0
- data/vendor/pygments-main/tests/examplefiles/example.sml +156 -0
- data/vendor/pygments-main/tests/examplefiles/example.snobol +15 -0
- data/vendor/pygments-main/tests/examplefiles/example.stan +108 -0
- data/vendor/pygments-main/tests/examplefiles/example.tea +34 -0
- data/vendor/pygments-main/tests/examplefiles/example.ts +28 -0
- data/vendor/pygments-main/tests/examplefiles/example.u +548 -0
- data/vendor/pygments-main/tests/examplefiles/example.weechatlog +9 -0
- data/vendor/pygments-main/tests/examplefiles/example.xhtml +376 -0
- data/vendor/pygments-main/tests/examplefiles/example.xtend +34 -0
- data/vendor/pygments-main/tests/examplefiles/example.yaml +302 -0
- data/vendor/pygments-main/tests/examplefiles/example2.aspx +29 -0
- data/vendor/pygments-main/tests/examplefiles/example2.msc +79 -0
- data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +363 -0
- data/vendor/pygments-main/tests/examplefiles/example_file.fy +128 -0
- data/vendor/pygments-main/tests/examplefiles/firefox.mak +586 -0
- data/vendor/pygments-main/tests/examplefiles/flipflop.sv +19 -0
- data/vendor/pygments-main/tests/examplefiles/foo.sce +6 -0
- data/vendor/pygments-main/tests/examplefiles/format.ml +1213 -0
- data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +77 -0
- data/vendor/pygments-main/tests/examplefiles/function.mu +1 -0
- data/vendor/pygments-main/tests/examplefiles/functional.rst +1472 -0
- data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +133 -0
- data/vendor/pygments-main/tests/examplefiles/genclass.clj +510 -0
- data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +193 -0
- data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +33 -0
- data/vendor/pygments-main/tests/examplefiles/glsl.frag +7 -0
- data/vendor/pygments-main/tests/examplefiles/glsl.vert +13 -0
- data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +22 -0
- data/vendor/pygments-main/tests/examplefiles/hello.smali +40 -0
- data/vendor/pygments-main/tests/examplefiles/hello.sp +9 -0
- data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +1 -0
- data/vendor/pygments-main/tests/examplefiles/http_request_example +15 -0
- data/vendor/pygments-main/tests/examplefiles/http_response_example +29 -0
- data/vendor/pygments-main/tests/examplefiles/import.hs +4 -0
- data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +71 -0
- data/vendor/pygments-main/tests/examplefiles/intro.ik +24 -0
- data/vendor/pygments-main/tests/examplefiles/ints.php +10 -0
- data/vendor/pygments-main/tests/examplefiles/intsyn.fun +675 -0
- data/vendor/pygments-main/tests/examplefiles/intsyn.sig +286 -0
- data/vendor/pygments-main/tests/examplefiles/irb_heredoc +8 -0
- data/vendor/pygments-main/tests/examplefiles/irc.lsp +214 -0
- data/vendor/pygments-main/tests/examplefiles/java.properties +16 -0
- data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +28 -0
- data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +45 -0
- data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +713 -0
- data/vendor/pygments-main/tests/examplefiles/json.lasso +301 -0
- data/vendor/pygments-main/tests/examplefiles/json.lasso9 +213 -0
- data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +13 -0
- data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +47 -0
- data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +41 -0
- data/vendor/pygments-main/tests/examplefiles/logos_example.xm +28 -0
- data/vendor/pygments-main/tests/examplefiles/ltmain.sh +2849 -0
- data/vendor/pygments-main/tests/examplefiles/main.cmake +42 -0
- data/vendor/pygments-main/tests/examplefiles/markdown.lsp +679 -0
- data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +3 -0
- data/vendor/pygments-main/tests/examplefiles/matlab_sample +30 -0
- data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +37 -0
- data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +455 -0
- data/vendor/pygments-main/tests/examplefiles/mg_sample.pro +73 -0
- data/vendor/pygments-main/tests/examplefiles/minehunt.qml +112 -0
- data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +4 -0
- data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +340 -0
- data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +38 -0
- data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +95 -0
- data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +96 -0
- data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +30 -0
- data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +87 -0
- data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +118 -0
- data/vendor/pygments-main/tests/examplefiles/numbers.c +12 -0
- data/vendor/pygments-main/tests/examplefiles/objc_example.m +32 -0
- data/vendor/pygments-main/tests/examplefiles/objc_example2.m +24 -0
- data/vendor/pygments-main/tests/examplefiles/perl_misc +62 -0
- data/vendor/pygments-main/tests/examplefiles/perl_perl5db +998 -0
- data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +120 -0
- data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +856 -0
- data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +163 -0
- data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +567 -0
- data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +1223 -0
- data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +47 -0
- data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +10 -0
- data/vendor/pygments-main/tests/examplefiles/psql_session.txt +122 -0
- data/vendor/pygments-main/tests/examplefiles/py3_test.txt +2 -0
- data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +4 -0
- data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +14 -0
- data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +2 -0
- data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +4 -0
- data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +234 -0
- data/vendor/pygments-main/tests/examplefiles/qsort.prolog +13 -0
- data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +38 -0
- data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +280 -0
- data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +2 -0
- data/vendor/pygments-main/tests/examplefiles/regex.js +22 -0
- data/vendor/pygments-main/tests/examplefiles/reversi.lsp +427 -0
- data/vendor/pygments-main/tests/examplefiles/robotframework.txt +39 -0
- data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +11 -0
- data/vendor/pygments-main/tests/examplefiles/rust_example.rs +233 -0
- data/vendor/pygments-main/tests/examplefiles/scilab.sci +30 -0
- data/vendor/pygments-main/tests/examplefiles/session.dylan-console +9 -0
- data/vendor/pygments-main/tests/examplefiles/sibling.prolog +19 -0
- data/vendor/pygments-main/tests/examplefiles/simple.md +747 -0
- data/vendor/pygments-main/tests/examplefiles/smarty_example.html +209 -0
- data/vendor/pygments-main/tests/examplefiles/source.lgt +343 -0
- data/vendor/pygments-main/tests/examplefiles/sources.list +62 -0
- data/vendor/pygments-main/tests/examplefiles/sphere.pov +18 -0
- data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +27 -0
- data/vendor/pygments-main/tests/examplefiles/squid.conf +30 -0
- data/vendor/pygments-main/tests/examplefiles/string.jl +1031 -0
- data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +21 -0
- data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +3 -0
- data/vendor/pygments-main/tests/examplefiles/swig_java.swg +1329 -0
- data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +225 -0
- data/vendor/pygments-main/tests/examplefiles/test.R +153 -0
- data/vendor/pygments-main/tests/examplefiles/test.adb +211 -0
- data/vendor/pygments-main/tests/examplefiles/test.agda +102 -0
- data/vendor/pygments-main/tests/examplefiles/test.asy +131 -0
- data/vendor/pygments-main/tests/examplefiles/test.awk +121 -0
- data/vendor/pygments-main/tests/examplefiles/test.bas +29 -0
- data/vendor/pygments-main/tests/examplefiles/test.bb +95 -0
- data/vendor/pygments-main/tests/examplefiles/test.bmx +145 -0
- data/vendor/pygments-main/tests/examplefiles/test.boo +39 -0
- data/vendor/pygments-main/tests/examplefiles/test.bro +250 -0
- data/vendor/pygments-main/tests/examplefiles/test.cs +374 -0
- data/vendor/pygments-main/tests/examplefiles/test.css +54 -0
- data/vendor/pygments-main/tests/examplefiles/test.cu +36 -0
- data/vendor/pygments-main/tests/examplefiles/test.d +135 -0
- data/vendor/pygments-main/tests/examplefiles/test.dart +23 -0
- data/vendor/pygments-main/tests/examplefiles/test.dtd +89 -0
- data/vendor/pygments-main/tests/examplefiles/test.ebnf +31 -0
- data/vendor/pygments-main/tests/examplefiles/test.ec +605 -0
- data/vendor/pygments-main/tests/examplefiles/test.ecl +58 -0
- data/vendor/pygments-main/tests/examplefiles/test.eh +315 -0
- data/vendor/pygments-main/tests/examplefiles/test.erl +169 -0
- data/vendor/pygments-main/tests/examplefiles/test.evoque +33 -0
- data/vendor/pygments-main/tests/examplefiles/test.fan +818 -0
- data/vendor/pygments-main/tests/examplefiles/test.flx +57 -0
- data/vendor/pygments-main/tests/examplefiles/test.gdc +13 -0
- data/vendor/pygments-main/tests/examplefiles/test.groovy +97 -0
- data/vendor/pygments-main/tests/examplefiles/test.html +339 -0
- data/vendor/pygments-main/tests/examplefiles/test.ini +10 -0
- data/vendor/pygments-main/tests/examplefiles/test.java +653 -0
- data/vendor/pygments-main/tests/examplefiles/test.jsp +24 -0
- data/vendor/pygments-main/tests/examplefiles/test.maql +45 -0
- data/vendor/pygments-main/tests/examplefiles/test.mod +374 -0
- data/vendor/pygments-main/tests/examplefiles/test.moo +51 -0
- data/vendor/pygments-main/tests/examplefiles/test.myt +166 -0
- data/vendor/pygments-main/tests/examplefiles/test.nim +93 -0
- data/vendor/pygments-main/tests/examplefiles/test.opa +10 -0
- data/vendor/pygments-main/tests/examplefiles/test.p6 +252 -0
- data/vendor/pygments-main/tests/examplefiles/test.pas +743 -0
- data/vendor/pygments-main/tests/examplefiles/test.php +505 -0
- data/vendor/pygments-main/tests/examplefiles/test.plot +333 -0
- data/vendor/pygments-main/tests/examplefiles/test.ps1 +108 -0
- data/vendor/pygments-main/tests/examplefiles/test.pypylog +1839 -0
- data/vendor/pygments-main/tests/examplefiles/test.r3 +94 -0
- data/vendor/pygments-main/tests/examplefiles/test.rb +177 -0
- data/vendor/pygments-main/tests/examplefiles/test.rhtml +43 -0
- data/vendor/pygments-main/tests/examplefiles/test.scaml +8 -0
- data/vendor/pygments-main/tests/examplefiles/test.ssp +12 -0
- data/vendor/pygments-main/tests/examplefiles/test.tcsh +830 -0
- data/vendor/pygments-main/tests/examplefiles/test.vb +407 -0
- data/vendor/pygments-main/tests/examplefiles/test.vhdl +161 -0
- data/vendor/pygments-main/tests/examplefiles/test.xqy +138 -0
- data/vendor/pygments-main/tests/examplefiles/test.xsl +23 -0
- data/vendor/pygments-main/tests/examplefiles/test2.pypylog +120 -0
- data/vendor/pygments-main/tests/examplefiles/truncated.pytb +15 -0
- data/vendor/pygments-main/tests/examplefiles/type.lisp +1218 -0
- data/vendor/pygments-main/tests/examplefiles/underscore.coffee +603 -0
- data/vendor/pygments-main/tests/examplefiles/unicode.applescript +5 -0
- data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +11 -0
- data/vendor/pygments-main/tests/examplefiles/unix-io.lid +37 -0
- data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +3 -0
- data/vendor/pygments-main/tests/examplefiles/while.pov +13 -0
- data/vendor/pygments-main/tests/examplefiles/wiki.factor +384 -0
- data/vendor/pygments-main/tests/examplefiles/xml_example +1897 -0
- data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +798 -0
- data/vendor/pygments-main/tests/old_run.py +138 -0
- data/vendor/pygments-main/tests/run.py +49 -0
- data/vendor/pygments-main/tests/support.py +15 -0
- data/vendor/pygments-main/tests/support/tags +36 -0
- data/vendor/pygments-main/tests/test_basic_api.py +295 -0
- data/vendor/pygments-main/tests/test_clexer.py +31 -0
- data/vendor/pygments-main/tests/test_cmdline.py +105 -0
- data/vendor/pygments-main/tests/test_examplefiles.py +99 -0
- data/vendor/pygments-main/tests/test_html_formatter.py +178 -0
- data/vendor/pygments-main/tests/test_latex_formatter.py +55 -0
- data/vendor/pygments-main/tests/test_lexers_other.py +68 -0
- data/vendor/pygments-main/tests/test_perllexer.py +137 -0
- data/vendor/pygments-main/tests/test_regexlexer.py +47 -0
- data/vendor/pygments-main/tests/test_token.py +46 -0
- data/vendor/pygments-main/tests/test_using_api.py +40 -0
- data/vendor/pygments-main/tests/test_util.py +135 -0
- data/vendor/simplejson/.gitignore +10 -0
- data/vendor/simplejson/.travis.yml +5 -0
- data/vendor/simplejson/CHANGES.txt +291 -0
- data/vendor/simplejson/LICENSE.txt +19 -0
- data/vendor/simplejson/MANIFEST.in +5 -0
- data/vendor/simplejson/README.rst +19 -0
- data/vendor/simplejson/conf.py +179 -0
- data/vendor/simplejson/index.rst +628 -0
- data/vendor/simplejson/scripts/make_docs.py +18 -0
- data/vendor/simplejson/setup.py +104 -0
- data/vendor/simplejson/simplejson/__init__.py +510 -0
- data/vendor/simplejson/simplejson/_speedups.c +2745 -0
- data/vendor/simplejson/simplejson/decoder.py +425 -0
- data/vendor/simplejson/simplejson/encoder.py +567 -0
- data/vendor/simplejson/simplejson/ordered_dict.py +119 -0
- data/vendor/simplejson/simplejson/scanner.py +77 -0
- data/vendor/simplejson/simplejson/tests/__init__.py +67 -0
- data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +55 -0
- data/vendor/simplejson/simplejson/tests/test_check_circular.py +30 -0
- data/vendor/simplejson/simplejson/tests/test_decimal.py +66 -0
- data/vendor/simplejson/simplejson/tests/test_decode.py +83 -0
- data/vendor/simplejson/simplejson/tests/test_default.py +9 -0
- data/vendor/simplejson/simplejson/tests/test_dump.py +67 -0
- data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +46 -0
- data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +32 -0
- data/vendor/simplejson/simplejson/tests/test_errors.py +34 -0
- data/vendor/simplejson/simplejson/tests/test_fail.py +91 -0
- data/vendor/simplejson/simplejson/tests/test_float.py +19 -0
- data/vendor/simplejson/simplejson/tests/test_indent.py +86 -0
- data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +20 -0
- data/vendor/simplejson/simplejson/tests/test_namedtuple.py +121 -0
- data/vendor/simplejson/simplejson/tests/test_pass1.py +76 -0
- data/vendor/simplejson/simplejson/tests/test_pass2.py +14 -0
- data/vendor/simplejson/simplejson/tests/test_pass3.py +20 -0
- data/vendor/simplejson/simplejson/tests/test_recursion.py +67 -0
- data/vendor/simplejson/simplejson/tests/test_scanstring.py +117 -0
- data/vendor/simplejson/simplejson/tests/test_separators.py +42 -0
- data/vendor/simplejson/simplejson/tests/test_speedups.py +20 -0
- data/vendor/simplejson/simplejson/tests/test_tuple.py +49 -0
- data/vendor/simplejson/simplejson/tests/test_unicode.py +109 -0
- data/vendor/simplejson/simplejson/tool.py +39 -0
- metadata +557 -0
@@ -0,0 +1,286 @@
|
|
1
|
+
(* Internal Syntax *)
|
2
|
+
(* Author: Frank Pfenning, Carsten Schuermann *)
|
3
|
+
(* Modified: Roberto Virga *)
|
4
|
+
|
5
|
+
signature INTSYN =
|
6
|
+
sig
|
7
|
+
|
8
|
+
type cid = int (* Constant identifier *)
|
9
|
+
type mid = int (* Structure identifier *)
|
10
|
+
type csid = int (* CS module identifier *)
|
11
|
+
|
12
|
+
|
13
|
+
type FgnExp = exn (* foreign expression representation *)
|
14
|
+
exception UnexpectedFgnExp of FgnExp
|
15
|
+
(* raised by a constraint solver
|
16
|
+
if passed an incorrect arg *)
|
17
|
+
type FgnCnstr = exn (* foreign constraint representation *)
|
18
|
+
exception UnexpectedFgnCnstr of FgnCnstr
|
19
|
+
(* raised by a constraint solver
|
20
|
+
if passed an incorrect arg *)
|
21
|
+
|
22
|
+
(* Contexts *)
|
23
|
+
|
24
|
+
datatype 'a Ctx = (* Contexts *)
|
25
|
+
Null (* G ::= . *)
|
26
|
+
| Decl of 'a Ctx * 'a (* | G, D *)
|
27
|
+
|
28
|
+
val ctxPop : 'a Ctx -> 'a Ctx
|
29
|
+
val ctxLookup: 'a Ctx * int -> 'a
|
30
|
+
val ctxLength: 'a Ctx -> int
|
31
|
+
|
32
|
+
datatype Depend = (* Dependency information *)
|
33
|
+
No (* P ::= No *)
|
34
|
+
| Maybe (* | Maybe *)
|
35
|
+
| Meta (* | Meta *)
|
36
|
+
|
37
|
+
(* expressions *)
|
38
|
+
|
39
|
+
datatype Uni = (* Universes: *)
|
40
|
+
Kind (* L ::= Kind *)
|
41
|
+
| Type (* | Type *)
|
42
|
+
|
43
|
+
datatype Exp = (* Expressions: *)
|
44
|
+
Uni of Uni (* U ::= L *)
|
45
|
+
| Pi of (Dec * Depend) * Exp (* | Pi (D, P). V *)
|
46
|
+
| Root of Head * Spine (* | H @ S *)
|
47
|
+
| Redex of Exp * Spine (* | U @ S *)
|
48
|
+
| Lam of Dec * Exp (* | lam D. U *)
|
49
|
+
| EVar of Exp option ref * Dec Ctx * Exp * (Cnstr ref) list ref
|
50
|
+
(* | X<I> : G|-V, Cnstr *)
|
51
|
+
| EClo of Exp * Sub (* | U[s] *)
|
52
|
+
| AVar of Exp option ref (* | A<I> *)
|
53
|
+
|
54
|
+
| FgnExp of csid * FgnExp (* | (foreign expression) *)
|
55
|
+
|
56
|
+
| NVar of int (* | n (linear,
|
57
|
+
fully applied variable
|
58
|
+
used in indexing *)
|
59
|
+
|
60
|
+
and Head = (* Head: *)
|
61
|
+
BVar of int (* H ::= k *)
|
62
|
+
| Const of cid (* | c *)
|
63
|
+
| Proj of Block * int (* | #k(b) *)
|
64
|
+
| Skonst of cid (* | c# *)
|
65
|
+
| Def of cid (* | d (strict) *)
|
66
|
+
| NSDef of cid (* | d (non strict) *)
|
67
|
+
| FVar of string * Exp * Sub (* | F[s] *)
|
68
|
+
| FgnConst of csid * ConDec (* | (foreign constant) *)
|
69
|
+
|
70
|
+
and Spine = (* Spines: *)
|
71
|
+
Nil (* S ::= Nil *)
|
72
|
+
| App of Exp * Spine (* | U ; S *)
|
73
|
+
| SClo of Spine * Sub (* | S[s] *)
|
74
|
+
|
75
|
+
and Sub = (* Explicit substitutions: *)
|
76
|
+
Shift of int (* s ::= ^n *)
|
77
|
+
| Dot of Front * Sub (* | Ft.s *)
|
78
|
+
|
79
|
+
and Front = (* Fronts: *)
|
80
|
+
Idx of int (* Ft ::= k *)
|
81
|
+
| Exp of Exp (* | U *)
|
82
|
+
| Axp of Exp (* | U *)
|
83
|
+
| Block of Block (* | _x *)
|
84
|
+
| Undef (* | _ *)
|
85
|
+
|
86
|
+
and Dec = (* Declarations: *)
|
87
|
+
Dec of string option * Exp (* D ::= x:V *)
|
88
|
+
| BDec of string option * (cid * Sub) (* | v:l[s] *)
|
89
|
+
| ADec of string option * int (* | v[^-d] *)
|
90
|
+
| NDec of string option
|
91
|
+
|
92
|
+
and Block = (* Blocks: *)
|
93
|
+
Bidx of int (* b ::= v *)
|
94
|
+
| LVar of Block option ref * Sub * (cid * Sub)
|
95
|
+
(* | L(l[^k],t) *)
|
96
|
+
| Inst of Exp list (* | U1, ..., Un *)
|
97
|
+
(* It would be better to consider having projections count
|
98
|
+
like substitutions, then we could have Inst of Sub here,
|
99
|
+
which would simplify a lot of things.
|
100
|
+
|
101
|
+
I suggest however to wait until the next big overhaul
|
102
|
+
of the system -- cs *)
|
103
|
+
|
104
|
+
|
105
|
+
(* | BClo of Block * Sub (* | b[s] *) *)
|
106
|
+
|
107
|
+
(* constraints *)
|
108
|
+
|
109
|
+
and Cnstr = (* Constraint: *)
|
110
|
+
Solved (* Cnstr ::= solved *)
|
111
|
+
| Eqn of Dec Ctx * Exp * Exp (* | G|-(U1 == U2) *)
|
112
|
+
| FgnCnstr of csid * FgnCnstr (* | (foreign) *)
|
113
|
+
|
114
|
+
and Status = (* Status of a constant: *)
|
115
|
+
Normal (* inert *)
|
116
|
+
| Constraint of csid * (Dec Ctx * Spine * int -> Exp option)
|
117
|
+
(* acts as constraint *)
|
118
|
+
| Foreign of csid * (Spine -> Exp) (* is converted to foreign *)
|
119
|
+
|
120
|
+
and FgnUnify = (* Result of foreign unify *)
|
121
|
+
Succeed of FgnUnifyResidual list
|
122
|
+
(* succeed with a list of residual operations *)
|
123
|
+
| Fail
|
124
|
+
|
125
|
+
and FgnUnifyResidual =
|
126
|
+
Assign of Dec Ctx * Exp * Exp * Sub
|
127
|
+
(* perform the assignment G |- X = U [ss] *)
|
128
|
+
| Delay of Exp * Cnstr ref
|
129
|
+
(* delay cnstr, associating it with all the rigid EVars in U *)
|
130
|
+
|
131
|
+
(* Global signature *)
|
132
|
+
|
133
|
+
and ConDec = (* Constant declaration *)
|
134
|
+
ConDec of string * mid option * int * Status
|
135
|
+
(* a : K : kind or *)
|
136
|
+
* Exp * Uni (* c : A : type *)
|
137
|
+
| ConDef of string * mid option * int (* a = A : K : kind or *)
|
138
|
+
* Exp * Exp * Uni (* d = M : A : type *)
|
139
|
+
* Ancestor (* Ancestor info for d or a *)
|
140
|
+
| AbbrevDef of string * mid option * int
|
141
|
+
(* a = A : K : kind or *)
|
142
|
+
* Exp * Exp * Uni (* d = M : A : type *)
|
143
|
+
| BlockDec of string * mid option (* %block l : SOME G1 PI G2 *)
|
144
|
+
* Dec Ctx * Dec list
|
145
|
+
| BlockDef of string * mid option * cid list
|
146
|
+
(* %block l = (l1 | ... | ln) *)
|
147
|
+
| SkoDec of string * mid option * int (* sa: K : kind or *)
|
148
|
+
* Exp * Uni (* sc: A : type *)
|
149
|
+
|
150
|
+
and Ancestor = (* Ancestor of d or a *)
|
151
|
+
Anc of cid option * int * cid option (* head(expand(d)), height, head(expand[height](d)) *)
|
152
|
+
(* NONE means expands to {x:A}B *)
|
153
|
+
|
154
|
+
datatype StrDec = (* Structure declaration *)
|
155
|
+
StrDec of string * mid option
|
156
|
+
|
157
|
+
(* Form of constant declaration *)
|
158
|
+
datatype ConDecForm =
|
159
|
+
FromCS (* from constraint domain *)
|
160
|
+
| Ordinary (* ordinary declaration *)
|
161
|
+
| Clause (* %clause declaration *)
|
162
|
+
|
163
|
+
(* Type abbreviations *)
|
164
|
+
type dctx = Dec Ctx (* G = . | G,D *)
|
165
|
+
type eclo = Exp * Sub (* Us = U[s] *)
|
166
|
+
type bclo = Block * Sub (* Bs = B[s] *)
|
167
|
+
type cnstr = Cnstr ref
|
168
|
+
|
169
|
+
exception Error of string (* raised if out of space *)
|
170
|
+
|
171
|
+
(* standard operations on foreign expressions *)
|
172
|
+
structure FgnExpStd : sig
|
173
|
+
(* convert to internal syntax *)
|
174
|
+
structure ToInternal : FGN_OPN where type arg = unit
|
175
|
+
where type result = Exp
|
176
|
+
|
177
|
+
(* apply function to subterms *)
|
178
|
+
structure Map : FGN_OPN where type arg = Exp -> Exp
|
179
|
+
where type result = Exp
|
180
|
+
|
181
|
+
(* apply function to subterms, for effect *)
|
182
|
+
structure App : FGN_OPN where type arg = Exp -> unit
|
183
|
+
where type result = unit
|
184
|
+
|
185
|
+
(* test for equality *)
|
186
|
+
structure EqualTo : FGN_OPN where type arg = Exp
|
187
|
+
where type result = bool
|
188
|
+
|
189
|
+
(* unify with another term *)
|
190
|
+
structure UnifyWith : FGN_OPN where type arg = Dec Ctx * Exp
|
191
|
+
where type result = FgnUnify
|
192
|
+
|
193
|
+
(* fold a function over the subterms *)
|
194
|
+
val fold : (csid * FgnExp) -> (Exp * 'a -> 'a) -> 'a -> 'a
|
195
|
+
end
|
196
|
+
|
197
|
+
(* standard operations on foreign constraints *)
|
198
|
+
structure FgnCnstrStd : sig
|
199
|
+
(* convert to internal syntax *)
|
200
|
+
structure ToInternal : FGN_OPN where type arg = unit
|
201
|
+
where type result = (Dec Ctx * Exp) list
|
202
|
+
|
203
|
+
(* awake *)
|
204
|
+
structure Awake : FGN_OPN where type arg = unit
|
205
|
+
where type result = bool
|
206
|
+
|
207
|
+
(* simplify *)
|
208
|
+
structure Simplify : FGN_OPN where type arg = unit
|
209
|
+
where type result = bool
|
210
|
+
end
|
211
|
+
|
212
|
+
val conDecName : ConDec -> string
|
213
|
+
val conDecParent : ConDec -> mid option
|
214
|
+
val conDecImp : ConDec -> int
|
215
|
+
val conDecStatus : ConDec -> Status
|
216
|
+
val conDecType : ConDec -> Exp
|
217
|
+
val conDecBlock : ConDec -> dctx * Dec list
|
218
|
+
val conDecUni : ConDec -> Uni
|
219
|
+
|
220
|
+
val strDecName : StrDec -> string
|
221
|
+
val strDecParent : StrDec -> mid option
|
222
|
+
|
223
|
+
val sgnReset : unit -> unit
|
224
|
+
val sgnSize : unit -> cid * mid
|
225
|
+
|
226
|
+
val sgnAdd : ConDec -> cid
|
227
|
+
val sgnLookup: cid -> ConDec
|
228
|
+
val sgnApp : (cid -> unit) -> unit
|
229
|
+
|
230
|
+
val sgnStructAdd : StrDec -> mid
|
231
|
+
val sgnStructLookup : mid -> StrDec
|
232
|
+
|
233
|
+
val constType : cid -> Exp (* type of c or d *)
|
234
|
+
val constDef : cid -> Exp (* definition of d *)
|
235
|
+
val constImp : cid -> int
|
236
|
+
val constStatus : cid -> Status
|
237
|
+
val constUni : cid -> Uni
|
238
|
+
val constBlock : cid -> dctx * Dec list
|
239
|
+
|
240
|
+
(* Declaration Contexts *)
|
241
|
+
|
242
|
+
val ctxDec : dctx * int -> Dec (* get variable declaration *)
|
243
|
+
val blockDec : dctx * Block * int -> Dec
|
244
|
+
|
245
|
+
(* Explicit substitutions *)
|
246
|
+
|
247
|
+
val id : Sub (* id *)
|
248
|
+
val shift : Sub (* ^ *)
|
249
|
+
val invShift : Sub (* ^-1 *)
|
250
|
+
|
251
|
+
val bvarSub : int * Sub -> Front (* k[s] *)
|
252
|
+
val frontSub : Front * Sub -> Front (* H[s] *)
|
253
|
+
val decSub : Dec * Sub -> Dec (* x:V[s] *)
|
254
|
+
val blockSub : Block * Sub -> Block (* B[s] *)
|
255
|
+
|
256
|
+
val comp : Sub * Sub -> Sub (* s o s' *)
|
257
|
+
val dot1 : Sub -> Sub (* 1 . (s o ^) *)
|
258
|
+
val invDot1 : Sub -> Sub (* (^ o s) o ^-1) *)
|
259
|
+
|
260
|
+
(* EVar related functions *)
|
261
|
+
|
262
|
+
val newEVar : dctx * Exp -> Exp (* creates X:G|-V, [] *)
|
263
|
+
val newAVar : unit -> Exp (* creates A (bare) *)
|
264
|
+
val newTypeVar : dctx -> Exp (* creates X:G|-type, [] *)
|
265
|
+
val newLVar : Sub * (cid * Sub) -> Block
|
266
|
+
(* creates B:(l[^k],t) *)
|
267
|
+
|
268
|
+
(* Definition related functions *)
|
269
|
+
val headOpt : Exp -> Head option
|
270
|
+
val ancestor : Exp -> Ancestor
|
271
|
+
val defAncestor : cid -> Ancestor
|
272
|
+
|
273
|
+
(* Type related functions *)
|
274
|
+
|
275
|
+
(* Not expanding type definitions *)
|
276
|
+
val targetHeadOpt : Exp -> Head option (* target type family or NONE *)
|
277
|
+
val targetHead : Exp -> Head (* target type family *)
|
278
|
+
|
279
|
+
(* Expanding type definitions *)
|
280
|
+
val targetFamOpt : Exp -> cid option (* target type family or NONE *)
|
281
|
+
val targetFam : Exp -> cid (* target type family *)
|
282
|
+
|
283
|
+
(* Used in Flit *)
|
284
|
+
val rename : cid * string -> unit
|
285
|
+
|
286
|
+
end; (* signature INTSYN *)
|
@@ -0,0 +1,214 @@
|
|
1
|
+
#!/usr/bin/env newlisp
|
2
|
+
|
3
|
+
;; @module IRC
|
4
|
+
;; @description a basic irc library
|
5
|
+
;; @version early alpha! 0.1 2011-10-31 14:21:26
|
6
|
+
;; @author cormullion
|
7
|
+
;; Usage:
|
8
|
+
;; (IRC:init "newlithper") ; a username/nick (not that one obviously :-)
|
9
|
+
;; (IRC:connect "irc.freenode.net" 6667) ; irc/server
|
10
|
+
;; (IRC:join-channel {#newlisp}) ; join a room
|
11
|
+
;; either (IRC:read-irc-loop) ; loop - monitor only, no input
|
12
|
+
;; or (IRC:session) ; a command-line session, end with /QUIT
|
13
|
+
|
14
|
+
(context 'IRC)
|
15
|
+
(define Inickname)
|
16
|
+
(define Ichannels)
|
17
|
+
(define Iserver)
|
18
|
+
(define Iconnected)
|
19
|
+
(define Icallbacks '())
|
20
|
+
(define Idle-time 400) ; seconds
|
21
|
+
(define Itime-stamp) ; time since last message was processed
|
22
|
+
|
23
|
+
(define (register-callback callback-name callback-function)
|
24
|
+
(println {registering callback for } callback-name { : } (sym (term callback-function) (prefix callback-function)))
|
25
|
+
(push (list callback-name (sym (term callback-function) (prefix callback-function))) Icallbacks))
|
26
|
+
|
27
|
+
(define (do-callback callback-name data)
|
28
|
+
(when (set 'func (lookup callback-name Icallbacks)) ; find first callback
|
29
|
+
(if-not (catch (apply func (list data)) 'error)
|
30
|
+
(println {error in callback } callback-name {: } error))))
|
31
|
+
|
32
|
+
(define (do-callbacks callback-name data)
|
33
|
+
(dolist (rf (ref-all callback-name Icallbacks))
|
34
|
+
(set 'callback-entry (Icallbacks (first rf)))
|
35
|
+
(when (set 'func (last callback-entry))
|
36
|
+
(if-not (catch (apply func (list data)) 'error)
|
37
|
+
(println {error in callback } callback-name {: } error)))))
|
38
|
+
|
39
|
+
(define (init str)
|
40
|
+
(set 'Inickname str)
|
41
|
+
(set 'Iconnected nil)
|
42
|
+
(set 'Ichannels '())
|
43
|
+
(set 'Itime-stamp (time-of-day)))
|
44
|
+
|
45
|
+
(define (connect server port)
|
46
|
+
(set 'Iserver (net-connect server port))
|
47
|
+
(net-send Iserver (format "USER %s %s %s :%s\r\n" Inickname Inickname Inickname Inickname))
|
48
|
+
(net-send Iserver (format "NICK %s \r\n" Inickname))
|
49
|
+
(set 'Iconnected true)
|
50
|
+
(do-callbacks "connect" (list (list "server" server) (list "port" port))))
|
51
|
+
|
52
|
+
(define (identify password)
|
53
|
+
(net-send Iserver (format "PRIVMSG nickserv :identify %s\r\n" password)))
|
54
|
+
|
55
|
+
(define (join-channel channel)
|
56
|
+
(when (net-send Iserver (format "JOIN %s \r\n" channel))
|
57
|
+
(push channel Ichannels)
|
58
|
+
(do-callbacks "join-channel" (list (list "channel" channel) (list "nickname" Inickname)))))
|
59
|
+
|
60
|
+
(define (part chan)
|
61
|
+
(if-not (empty? chan)
|
62
|
+
; leave specified
|
63
|
+
(begin
|
64
|
+
(net-send Iserver (format "PART %s\r\n" chan))
|
65
|
+
(replace channel Ichannels)
|
66
|
+
(do-callbacks "part" (list (list "channel" channel))))
|
67
|
+
; leave all
|
68
|
+
(begin
|
69
|
+
(dolist (channel Ichannels)
|
70
|
+
(net-send Iserver (format "PART %s\r\n" channel))
|
71
|
+
(replace channel Ichannels)
|
72
|
+
(do-callbacks "part" (list (list "channel" channel)))))))
|
73
|
+
|
74
|
+
(define (do-quit message)
|
75
|
+
(do-callbacks "quit" '()) ; chance to do stuff before quit...
|
76
|
+
(net-send Iserver (format "QUIT :%s\r\n" message))
|
77
|
+
(sleep 1000)
|
78
|
+
(set 'Ichannels '())
|
79
|
+
(close Iserver)
|
80
|
+
(set 'Iconnected nil))
|
81
|
+
|
82
|
+
(define (privmsg user message)
|
83
|
+
(net-send Iserver (format "PRIVMSG %s :%s\r\n" user message)))
|
84
|
+
|
85
|
+
(define (notice user message)
|
86
|
+
(net-send Iserver (format "NOTICE %s :%s\r\n" user message)))
|
87
|
+
|
88
|
+
(define (send-to-server message (channel nil))
|
89
|
+
(cond
|
90
|
+
((starts-with message {/}) ; default command character
|
91
|
+
(set 'the-message (replace "^/" (copy message) {} 0)) ; keep original
|
92
|
+
(net-send Iserver (format "%s \r\n" the-message)) ; send it
|
93
|
+
; do a quit
|
94
|
+
(if (starts-with (lower-case the-message) "quit")
|
95
|
+
(do-quit { enough})))
|
96
|
+
(true
|
97
|
+
(if (nil? channel)
|
98
|
+
; say to all channels
|
99
|
+
(dolist (c Ichannels)
|
100
|
+
(net-send Iserver (format "PRIVMSG %s :%s\r\n" c message)))
|
101
|
+
; say to specified channel
|
102
|
+
(if (find channel Ichannels)
|
103
|
+
(net-send Iserver (format "PRIVMSG %s :%s\r\n" channel message))))))
|
104
|
+
(do-callbacks "send-to-server" (list (list "channel" channel) (list "message" message))))
|
105
|
+
|
106
|
+
(define (process-command sender command text)
|
107
|
+
(cond
|
108
|
+
((= sender "PING")
|
109
|
+
(net-send Iserver (format "PONG %s\r\n" command)))
|
110
|
+
((or (= command "NOTICE") (= command "PRIVMSG"))
|
111
|
+
(process-message sender command text))
|
112
|
+
((= command "JOIN")
|
113
|
+
(set 'username (first (clean empty? (parse sender {!|:} 0))))
|
114
|
+
(set 'channel (last (clean empty? (parse sender {!|:} 0))))
|
115
|
+
(println {username } username { joined } channel)
|
116
|
+
(do-callbacks "join" (list (list "channel" channel) (list "username" username))))
|
117
|
+
(true
|
118
|
+
nil)))
|
119
|
+
|
120
|
+
(define (process-message sender command text)
|
121
|
+
(let ((username {} target {} message {}))
|
122
|
+
(set 'username (first (clean empty? (parse sender {!|:} 0))))
|
123
|
+
(set 'target (trim (first (clean empty? (parse text {!|:} 0)))))
|
124
|
+
(set 'message (slice text (+ (find {:} text) 1)))
|
125
|
+
(cond
|
126
|
+
((starts-with message "\001")
|
127
|
+
(process-ctcp username target message))
|
128
|
+
((find target Ichannels)
|
129
|
+
(cond
|
130
|
+
((= command {PRIVMSG})
|
131
|
+
(do-callbacks "channel-message" (list (list "channel" target) (list "username" username) (list "message" message))))
|
132
|
+
((= command {NOTICE})
|
133
|
+
(do-callbacks "channel-notice" (list (list "channel" target) (list "username" username) (list "message" message))))))
|
134
|
+
((= target Inickname)
|
135
|
+
(cond
|
136
|
+
((= command {PRIVMSG})
|
137
|
+
(do-callbacks "private-message" (list (list "username" username) (list "message" message))))
|
138
|
+
((= command {NOTICE})
|
139
|
+
(do-callbacks "private-notice" (list (list "username" username) (list "message" message))))))
|
140
|
+
(true
|
141
|
+
nil))))
|
142
|
+
|
143
|
+
(define (process-ctcp username target message)
|
144
|
+
(cond
|
145
|
+
((starts-with message "\001VERSION\001")
|
146
|
+
(net-send Iserver (format "NOTICE %s :\001VERSION %s\001\r\n" username version)))
|
147
|
+
((starts-with message "\001PING")
|
148
|
+
(set 'data (first (rest (clean empty? (parse message { } 0)))))
|
149
|
+
(set 'data (trim data "\001" "\001"))
|
150
|
+
(net-send Iserver (format "NOTICE %s :\001PING %s\001\r\n" username data)))
|
151
|
+
((starts-with message "\001ACTION")
|
152
|
+
(set 'data (first (rest (clean empty? (parse message { } 0)))))
|
153
|
+
(set 'data (join data { }))
|
154
|
+
(set 'data (trim data "\001" "\001"))
|
155
|
+
(if (find target Ichannels)
|
156
|
+
(do-callbacks "channel-action" (list (list "username" username) (list "message" message))))
|
157
|
+
(if (= target Inickname)
|
158
|
+
(do-callbacks "private-action" (list (list "username" username) (list "message" message)))))
|
159
|
+
((starts-with message "\001TIME\001")
|
160
|
+
(net-send Iserver (format "NOTICE %s:\001TIME :%s\001\r\n" username (date))))))
|
161
|
+
|
162
|
+
(define (parse-buffer raw-buffer)
|
163
|
+
(let ((messages (clean empty? (parse raw-buffer "\r\n" 0)))
|
164
|
+
(sender {} command {} text {}))
|
165
|
+
; check for elapsed time since last activity
|
166
|
+
(when (> (sub (time-of-day) Itime-stamp) (mul Idle-time 1000))
|
167
|
+
(do-callbacks "idle-event")
|
168
|
+
(set 'Itime-stamp (time-of-day)))
|
169
|
+
(dolist (message messages)
|
170
|
+
(set 'message-parts (parse message { }))
|
171
|
+
(unless (empty? message-parts)
|
172
|
+
(set 'sender (first message-parts))
|
173
|
+
(catch (set 'command (first (rest message-parts))) 'error)
|
174
|
+
(catch (set 'text (join (rest (rest message-parts)) { })) 'error))
|
175
|
+
(process-command sender command text))))
|
176
|
+
|
177
|
+
(define (read-irc)
|
178
|
+
(let ((buffer {}))
|
179
|
+
(when (!= (net-peek Iserver) 0)
|
180
|
+
(net-receive Iserver buffer 8192 "\n")
|
181
|
+
(unless (empty? buffer)
|
182
|
+
(parse-buffer buffer)))))
|
183
|
+
|
184
|
+
(define (read-irc-loop) ; monitoring
|
185
|
+
(let ((buffer {}))
|
186
|
+
(while Iconnected
|
187
|
+
(read-irc)
|
188
|
+
(sleep 1000))))
|
189
|
+
|
190
|
+
(define (print-raw-message data) ; example of using a callback
|
191
|
+
(set 'raw-data (lookup "message" data))
|
192
|
+
(set 'channel (lookup "channel" data))
|
193
|
+
(set 'message-text raw-data)
|
194
|
+
(println (date (date-value) 0 {%H:%M:%S }) username {> } message-text))
|
195
|
+
|
196
|
+
(define (print-outgoing-message data)
|
197
|
+
(set 'raw-data (lookup "message" data))
|
198
|
+
(set 'channel (lookup "channel" data))
|
199
|
+
(set 'message-text raw-data)
|
200
|
+
(println (date (date-value) 0 {%H:%M:%S }) Inickname {> } message-text))
|
201
|
+
|
202
|
+
(define (session); interactive terminal
|
203
|
+
; must add callbacks to display messages
|
204
|
+
(register-callback "channel-message" 'print-raw-message)
|
205
|
+
(register-callback "send-to-server" 'print-outgoing-message)
|
206
|
+
(while Iconnected
|
207
|
+
(while (zero? (peek 0))
|
208
|
+
(read-irc))
|
209
|
+
(send-to-server (string (read-line 0))))
|
210
|
+
(println {finished session } (date))
|
211
|
+
(exit))
|
212
|
+
|
213
|
+
; end of IRC code
|
214
|
+
|