diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4594525..631ac9e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,6 +26,7 @@ jobs: sudo docker cp qr:/usr/local/share/quine-relay/QR.sed spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.spl spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.sl spoiler/ + sudo docker cp qr:/usr/local/share/quine-relay/QR.nut spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.sml spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.sq spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.ss spoiler/ @@ -74,12 +75,12 @@ jobs: sudo docker cp qr:/usr/local/share/quine-relay/QR.lisp spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.cr spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.d spoiler/ - sudo docker cp qr:/usr/local/share/quine-relay/QR.dfy spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.dc spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.dhall spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.exs spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.el spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.erl spoiler/ + sudo docker cp qr:/usr/local/share/quine-relay/QR.e spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.fsx spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.false spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.fl spoiler/ @@ -117,7 +118,6 @@ jobs: sudo docker cp qr:/usr/local/share/quine-relay/QR.lua spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.m4 spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.mk spoiler/ - sudo docker cp qr:/usr/local/share/quine-relay/QR.mac spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.mzn spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.mod spoiler/ sudo docker cp qr:/usr/local/share/quine-relay/QR.il spoiler/ @@ -148,13 +148,7 @@ jobs: sudo docker cp qr:/usr/local/share/quine-relay/QR.rexx spoiler/ cd spoiler git add . - GIT_AUTHOR_NAME="$(git show -s --format=%an "$GITHUB_SHA")" \ - GIT_AUTHOR_EMAIL="$(git show -s --format=%ae "$GITHUB_SHA")" \ - GIT_AUTHOR_DATE="$(git show -s --format=%ad "$GITHUB_SHA")" \ - GIT_COMMITTER_NAME='GitHub Actions' \ - GIT_COMMITTER_EMAIL='actions@github.com' \ - TZ=UTC \ - git commit --allow-empty -m "spoiler: $(git show -s --format=%s "$GITHUB_SHA")" + GIT_AUTHOR_NAME="$(git show -s --format=%an "$GITHUB_SHA")" GIT_AUTHOR_EMAIL="$(git show -s --format=%ae "$GITHUB_SHA")" GIT_AUTHOR_DATE="$(git show -s --format=%ad "$GITHUB_SHA")" GIT_COMMITTER_NAME='GitHub Actions' GIT_COMMITTER_EMAIL='actions@github.com' TZ=UTC git commit --allow-empty -m "spoiler: $(git show -s --format=%s "$GITHUB_SHA")" git push --quiet origin spoiler echo The intermediate sources are available: https://github.com/${GITHUB_REPOSITORY}/tree/spoiler if: github.event_name == 'push' && github.ref == 'refs/heads/master' diff --git a/Dockerfile b/Dockerfile index 3e35099..d4eb16e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,5 @@ -FROM ubuntu:24.04 +FROM ubuntu:24.10 ENV DEBIAN_FRONTEND noninteractive -RUN rm /etc/dpkg/dpkg.cfg.d/excludes RUN apt-get update && apt-get upgrade -y RUN apt-get -qq install -y apt-utils > /dev/null RUN apt-get -qq install -y moreutils @@ -8,8 +7,8 @@ RUN chronic apt-get -qq install -y afnix algol68g aplus-fsf aspectj && chronic a RUN chronic apt-get -qq install -y asymptote ats2-lang bash bc && chronic apt-get clean RUN chronic apt-get -qq install -y bison bsh clisp clojure && chronic apt-get clean RUN chronic apt-get -qq install -y cmake coffeescript crystal curl && chronic apt-get clean -RUN chronic apt-get -qq install -y dafny dc dhall dotnet8 && chronic apt-get clean -RUN chronic apt-get -qq install -y elixir emacs-nox erlang f2c && chronic apt-get clean +RUN chronic apt-get -qq install -y dc dhall dotnet8 elixir && chronic apt-get clean +RUN chronic apt-get -qq install -y emacs-nox erlang execline f2c && chronic apt-get clean RUN chronic apt-get -qq install -y fish flex fp-compiler g++ && chronic apt-get clean RUN chronic apt-get -qq install -y gambas3-gb-pcre gambas3-scripter gap gawk && chronic apt-get clean RUN chronic apt-get -qq install -y gcc gdb gdc genius && chronic apt-get clean @@ -21,15 +20,15 @@ RUN chronic apt-get -qq install -y icont iconx intercal iverilog && chronic apt- RUN chronic apt-get -qq install -y jasmin-sable jq kotlin ksh && chronic apt-get clean RUN chronic apt-get -qq install -y libevent-dev libgd-dev libpng-dev libpolyml-dev && chronic apt-get clean RUN chronic apt-get -qq install -y lisaac livescript llvm lua5.3 && chronic apt-get clean -RUN chronic apt-get -qq install -y m4 make maxima minizinc && chronic apt-get clean -RUN chronic apt-get -qq install -y mono-devel nasm neko nickle && chronic apt-get clean -RUN chronic apt-get -qq install -y nim node-typescript nodejs ocaml && chronic apt-get clean -RUN chronic apt-get -qq install -y octave openjdk-11-jdk pari-gp parser3-cgi && chronic apt-get clean -RUN chronic apt-get -qq install -y perl php-cli pike8.0 polyml && chronic apt-get clean -RUN chronic apt-get -qq install -y python3 r-base rakudo ratfor && chronic apt-get clean -RUN chronic apt-get -qq install -y rc regina-rexx ruby ruby-mustache && chronic apt-get clean -RUN chronic apt-get -qq install -y rustc scala scilab-cli sed && chronic apt-get clean -RUN chronic apt-get -qq install -y slsh spin surgescript swi-prolog && chronic apt-get clean +RUN chronic apt-get -qq install -y m4 make minizinc mono-devel && chronic apt-get clean +RUN chronic apt-get -qq install -y nasm neko nickle nim && chronic apt-get clean +RUN chronic apt-get -qq install -y node-typescript nodejs ocaml octave && chronic apt-get clean +RUN chronic apt-get -qq install -y openjdk-11-jdk pari-gp parser3-cgi perl && chronic apt-get clean +RUN chronic apt-get -qq install -y php-cli pike8.0 polyml python3 && chronic apt-get clean +RUN chronic apt-get -qq install -y r-base rakudo ratfor rc && chronic apt-get clean +RUN chronic apt-get -qq install -y regina-rexx ruby ruby-mustache rustc && chronic apt-get clean +RUN chronic apt-get -qq install -y scala scilab-cli sed slsh && chronic apt-get clean +RUN chronic apt-get -qq install -y spin squirrel3 surgescript swi-prolog && chronic apt-get clean RUN chronic apt-get -qq install -y tcl tcsh valac vim && chronic apt-get clean RUN chronic apt-get -qq install -y wabt xsltproc yabasic yorick && chronic apt-get clean RUN chronic apt-get -qq install -y zoem zsh && chronic apt-get clean diff --git a/Makefile b/Makefile index d55179f..965ea4e 100644 --- a/Makefile +++ b/Makefile @@ -92,19 +92,27 @@ QR.sl: QR.spl gcc -z muldefs -o QR -I ./vendor/local/include -L ./vendor/local/lib QR.spl.c -lspl -lm ./QR > QR.sl -QR.sml: QR.sl +QR.nut: QR.sl @echo - @echo "################################" - @echo "## 8: S-Lang -> Standard ML ##" - @echo "################################" + @echo "#############################" + @echo "## 8: S-Lang -> Squirrel ##" + @echo "#############################" + @echo + slsh QR.sl > QR.nut + +QR.sml: QR.nut @echo - slsh QR.sl > QR.sml + @echo "##################################" + @echo "## 9: Squirrel -> Standard ML ##" + @echo "##################################" + @echo + squirrel QR.nut > QR.sml QR.sq: QR.sml @echo - @echo "################################" - @echo "## 9: Standard ML -> Subleq ##" - @echo "################################" + @echo "#################################" + @echo "## 10: Standard ML -> Subleq ##" + @echo "#################################" @echo polyc -o QR QR.sml ./QR > QR.sq @@ -112,7 +120,7 @@ QR.sq: QR.sml QR.ss: QR.sq @echo @echo "#################################" - @echo "## 10: Subleq -> SurgeScript ##" + @echo "## 11: Subleq -> SurgeScript ##" @echo "#################################" @echo ruby vendor/subleq.rb QR.sq > QR.ss @@ -120,7 +128,7 @@ QR.ss: QR.sq QR.tcl: QR.ss @echo @echo "##############################" - @echo "## 11: SurgeScript -> Tcl ##" + @echo "## 12: SurgeScript -> Tcl ##" @echo "##############################" @echo surgescript QR.ss > QR.tcl @@ -128,7 +136,7 @@ QR.tcl: QR.ss QR.tcsh: QR.tcl @echo @echo "#######################" - @echo "## 12: Tcl -> tcsh ##" + @echo "## 13: Tcl -> tcsh ##" @echo "#######################" @echo tclsh QR.tcl > QR.tcsh @@ -136,7 +144,7 @@ QR.tcsh: QR.tcl QR.t: QR.tcsh @echo @echo "########################" - @echo "## 13: tcsh -> Thue ##" + @echo "## 14: tcsh -> Thue ##" @echo "########################" @echo tcsh QR.tcsh > QR.t @@ -144,7 +152,7 @@ QR.t: QR.tcsh QR.ts: QR.t @echo @echo "##############################" - @echo "## 14: Thue -> TypeScript ##" + @echo "## 15: Thue -> TypeScript ##" @echo "##############################" @echo ruby vendor/thue.rb QR.t > QR.ts @@ -152,7 +160,7 @@ QR.ts: QR.t QR.unl: QR.ts @echo @echo "##################################" - @echo "## 15: TypeScript -> Unlambda ##" + @echo "## 16: TypeScript -> Unlambda ##" @echo "##################################" @echo tsc --outFile QR.ts.js QR.ts @@ -161,7 +169,7 @@ QR.unl: QR.ts QR.vala: QR.unl @echo @echo "############################" - @echo "## 16: Unlambda -> Vala ##" + @echo "## 17: Unlambda -> Vala ##" @echo "############################" @echo ruby vendor/unlambda.rb QR.unl > QR.vala @@ -169,7 +177,7 @@ QR.vala: QR.unl QR.mid: QR.vala @echo @echo "##########################" - @echo "## 17: Vala -> Velato ##" + @echo "## 18: Vala -> Velato ##" @echo "##########################" @echo valac QR.vala @@ -178,7 +186,7 @@ QR.mid: QR.vala QR.v: QR.mid @echo @echo "#############################" - @echo "## 18: Velato -> Verilog ##" + @echo "## 19: Velato -> Verilog ##" @echo "#############################" @echo mono vendor/local/bin/Vlt.exe /s QR.mid @@ -187,7 +195,7 @@ QR.v: QR.mid QR.vim: QR.v @echo @echo "################################" - @echo "## 19: Verilog -> Vimscript ##" + @echo "## 20: Verilog -> Vimscript ##" @echo "################################" @echo iverilog -o QR QR.v @@ -196,7 +204,7 @@ QR.vim: QR.v QR.vb: QR.vim @echo @echo "#####################################" - @echo "## 20: Vimscript -> Visual Basic ##" + @echo "## 21: Vimscript -> Visual Basic ##" @echo "#####################################" @echo vim -EsS QR.vim > QR.vb @@ -204,7 +212,7 @@ QR.vb: QR.vim QR.wasm: QR.vb @echo @echo "#######################################################" - @echo "## 21: Visual Basic -> WebAssembly (Binary format) ##" + @echo "## 22: Visual Basic -> WebAssembly (Binary format) ##" @echo "#######################################################" @echo echo 'Exenet8.0false' > tmp.vbproj @@ -213,7 +221,7 @@ QR.wasm: QR.vb QR.wat: QR.wasm @echo @echo "####################################################################" - @echo "## 22: WebAssembly (Binary format) -> WebAssembly (Text format) ##" + @echo "## 23: WebAssembly (Binary format) -> WebAssembly (Text format) ##" @echo "####################################################################" @echo $(WASI_RUNTIME) QR.wasm > QR.wat @@ -221,7 +229,7 @@ QR.wat: QR.wasm QR.ws: QR.wat @echo @echo "###################################################" - @echo "## 23: WebAssembly (Text format) -> Whitespace ##" + @echo "## 24: WebAssembly (Text format) -> Whitespace ##" @echo "###################################################" @echo wat2wasm QR.wat -o QR.wat.wasm @@ -230,7 +238,7 @@ QR.ws: QR.wat QR.xslt: QR.ws @echo @echo "##############################" - @echo "## 24: Whitespace -> XSLT ##" + @echo "## 25: Whitespace -> XSLT ##" @echo "##############################" @echo ruby vendor/whitespace.rb QR.ws > QR.xslt @@ -238,7 +246,7 @@ QR.xslt: QR.ws QR.yab: QR.xslt @echo @echo "###########################" - @echo "## 25: XSLT -> Yabasic ##" + @echo "## 26: XSLT -> Yabasic ##" @echo "###########################" @echo xsltproc QR.xslt > QR.yab @@ -246,7 +254,7 @@ QR.yab: QR.xslt QR.yorick: QR.yab @echo @echo "#############################" - @echo "## 26: Yabasic -> Yorick ##" + @echo "## 27: Yabasic -> Yorick ##" @echo "#############################" @echo yabasic QR.yab > QR.yorick @@ -254,7 +262,7 @@ QR.yorick: QR.yab QR.azm: QR.yorick @echo @echo "##########################" - @echo "## 27: Yorick -> Zoem ##" + @echo "## 28: Yorick -> Zoem ##" @echo "##########################" @echo yorick -batch QR.yorick > QR.azm @@ -262,7 +270,7 @@ QR.azm: QR.yorick QR.zsh: QR.azm @echo @echo "#######################" - @echo "## 28: Zoem -> zsh ##" + @echo "## 29: Zoem -> zsh ##" @echo "#######################" @echo zoem -i QR.azm > QR.zsh @@ -270,7 +278,7 @@ QR.zsh: QR.azm QR.+: QR.zsh @echo @echo "#####################" - @echo "## 29: zsh -> A+ ##" + @echo "## 30: zsh -> A+ ##" @echo "#####################" @echo zsh QR.zsh > QR.+ @@ -278,7 +286,7 @@ QR.+: QR.zsh qr.adb: QR.+ @echo @echo "#####################" - @echo "## 30: A+ -> Ada ##" + @echo "## 31: A+ -> Ada ##" @echo "#####################" @echo a+ QR.+ > qr.adb @@ -286,7 +294,7 @@ qr.adb: QR.+ QR.als: qr.adb @echo @echo "########################" - @echo "## 31: Ada -> AFNIX ##" + @echo "## 32: Ada -> AFNIX ##" @echo "########################" @echo gnatmake qr.adb @@ -295,7 +303,7 @@ QR.als: qr.adb QR.aheui: QR.als @echo @echo "##########################" - @echo "## 32: AFNIX -> Aheui ##" + @echo "## 33: AFNIX -> Aheui ##" @echo "##########################" @echo LANG=C LD_LIBRARY_PATH=/usr/lib/afnix axi QR.als > QR.aheui @@ -303,7 +311,7 @@ QR.aheui: QR.als QR.a68: QR.aheui @echo @echo "#############################" - @echo "## 33: Aheui -> ALGOL 68 ##" + @echo "## 34: Aheui -> ALGOL 68 ##" @echo "#############################" @echo ruby vendor/aheui.rb QR.aheui > QR.a68 @@ -311,7 +319,7 @@ QR.a68: QR.aheui QR.ante: QR.a68 @echo @echo "############################" - @echo "## 34: ALGOL 68 -> Ante ##" + @echo "## 35: ALGOL 68 -> Ante ##" @echo "############################" @echo a68g QR.a68 > QR.ante @@ -319,7 +327,7 @@ QR.ante: QR.a68 QR.aj: QR.ante @echo @echo "###########################" - @echo "## 35: Ante -> AspectJ ##" + @echo "## 36: Ante -> AspectJ ##" @echo "###########################" @echo ruby vendor/ante.rb QR.ante > QR.aj @@ -327,7 +335,7 @@ QR.aj: QR.ante QR.asy: QR.aj @echo @echo "################################" - @echo "## 36: AspectJ -> Asymptote ##" + @echo "## 37: AspectJ -> Asymptote ##" @echo "################################" @echo ajc QR.aj @@ -336,7 +344,7 @@ QR.asy: QR.aj QR.dats: QR.asy @echo @echo "############################" - @echo "## 37: Asymptote -> ATS ##" + @echo "## 38: Asymptote -> ATS ##" @echo "############################" @echo asy QR.asy > QR.dats @@ -344,7 +352,7 @@ QR.dats: QR.asy QR.awk: QR.dats @echo @echo "######################" - @echo "## 38: ATS -> Awk ##" + @echo "## 39: ATS -> Awk ##" @echo "######################" @echo patscc -o QR QR.dats @@ -353,7 +361,7 @@ QR.awk: QR.dats QR.bash: QR.awk @echo @echo "#######################" - @echo "## 39: Awk -> bash ##" + @echo "## 40: Awk -> bash ##" @echo "#######################" @echo awk -f QR.awk > QR.bash @@ -361,7 +369,7 @@ QR.bash: QR.awk QR.bc: QR.bash @echo @echo "######################" - @echo "## 40: bash -> bc ##" + @echo "## 41: bash -> bc ##" @echo "######################" @echo bash QR.bash > QR.bc @@ -369,7 +377,7 @@ QR.bc: QR.bash QR.bsh: QR.bc @echo @echo "###########################" - @echo "## 41: bc -> BeanShell ##" + @echo "## 42: bc -> BeanShell ##" @echo "###########################" @echo BC_LINE_LENGTH=4000000 bc -q QR.bc > QR.bsh @@ -377,7 +385,7 @@ QR.bsh: QR.bc QR.bef: QR.bsh @echo @echo "################################" - @echo "## 42: BeanShell -> Befunge ##" + @echo "## 43: BeanShell -> Befunge ##" @echo "################################" @echo bsh QR.bsh > QR.bef @@ -385,7 +393,7 @@ QR.bef: QR.bsh QR.Blc: QR.bef @echo @echo "###########################" - @echo "## 43: Befunge -> BLC8 ##" + @echo "## 44: Befunge -> BLC8 ##" @echo "###########################" @echo cfunge QR.bef > QR.Blc @@ -393,7 +401,7 @@ QR.Blc: QR.bef QR.bf: QR.Blc @echo @echo "#############################" - @echo "## 44: BLC8 -> Brainfuck ##" + @echo "## 45: BLC8 -> Brainfuck ##" @echo "#############################" @echo ruby vendor/blc.rb < QR.Blc > QR.bf @@ -401,7 +409,7 @@ QR.bf: QR.Blc QR.c: QR.bf @echo @echo "##########################" - @echo "## 45: Brainfuck -> C ##" + @echo "## 46: Brainfuck -> C ##" @echo "##########################" @echo ruby vendor/bf.rb QR.bf > QR.c @@ -409,7 +417,7 @@ QR.c: QR.bf QR.cpp: QR.c @echo @echo "####################" - @echo "## 46: C -> C++ ##" + @echo "## 47: C -> C++ ##" @echo "####################" @echo $(CC) -o QR QR.c @@ -418,7 +426,7 @@ QR.cpp: QR.c QR.cs: QR.cpp @echo @echo "#####################" - @echo "## 47: C++ -> C# ##" + @echo "## 48: C++ -> C# ##" @echo "#####################" @echo $(CXX) -o QR QR.cpp @@ -427,7 +435,7 @@ QR.cs: QR.cpp QR.chef: QR.cs @echo @echo "######################" - @echo "## 48: C# -> Chef ##" + @echo "## 49: C# -> Chef ##" @echo "######################" @echo echo 'Exenet8.0false' > tmp.csproj @@ -436,7 +444,7 @@ QR.chef: QR.cs QR.clj: QR.chef @echo @echo "###########################" - @echo "## 49: Chef -> Clojure ##" + @echo "## 50: Chef -> Clojure ##" @echo "###########################" @echo PERL5LIB=vendor/local/lib/perl5 compilechef QR.chef QR.chef.pl @@ -445,7 +453,7 @@ QR.clj: QR.chef QR.cmake: QR.clj @echo @echo "############################" - @echo "## 50: Clojure -> CMake ##" + @echo "## 51: Clojure -> CMake ##" @echo "############################" @echo clojure QR.clj > QR.cmake @@ -453,7 +461,7 @@ QR.cmake: QR.clj QR.cob: QR.cmake @echo @echo "##########################" - @echo "## 51: CMake -> Cobol ##" + @echo "## 52: CMake -> Cobol ##" @echo "##########################" @echo cmake -P QR.cmake > QR.cob @@ -461,7 +469,7 @@ QR.cob: QR.cmake QR.coffee: QR.cob @echo @echo "#################################" - @echo "## 52: Cobol -> CoffeeScript ##" + @echo "## 53: Cobol -> CoffeeScript ##" @echo "#################################" @echo cobc -O2 -x QR.cob @@ -470,7 +478,7 @@ QR.coffee: QR.cob QR.lisp: QR.coffee @echo @echo "#######################################" - @echo "## 53: CoffeeScript -> Common Lisp ##" + @echo "## 54: CoffeeScript -> Common Lisp ##" @echo "#######################################" @echo coffee --nodejs --stack_size=100000 QR.coffee > QR.lisp @@ -478,7 +486,7 @@ QR.lisp: QR.coffee QR.cr: QR.lisp @echo @echo "##################################" - @echo "## 54: Common Lisp -> Crystal ##" + @echo "## 55: Common Lisp -> Crystal ##" @echo "##################################" @echo clisp QR.lisp > QR.cr @@ -486,28 +494,19 @@ QR.cr: QR.lisp QR.d: QR.cr @echo @echo "########################" - @echo "## 55: Crystal -> D ##" + @echo "## 56: Crystal -> D ##" @echo "########################" @echo crystal QR.cr > QR.d -QR.dfy: QR.d +QR.dc: QR.d @echo - @echo "######################" - @echo "## 56: D -> Dafny ##" - @echo "######################" + @echo "###################" + @echo "## 57: D -> dc ##" + @echo "###################" @echo gdc -o QR QR.d - ./QR > QR.dfy - -QR.dc: QR.dfy - @echo - @echo "#######################" - @echo "## 57: Dafny -> dc ##" - @echo "#######################" - @echo - dafny QR.dfy - mono QR.exe > QR.dc + ./QR > QR.dc QR.dhall: QR.dc @echo @@ -541,18 +540,26 @@ QR.erl: QR.el @echo emacs -Q --script QR.el > QR.erl -QR.fsx: QR.erl +QR.e: QR.erl @echo - @echo "########################" - @echo "## 62: Erlang -> F# ##" - @echo "########################" + @echo "##############################" + @echo "## 62: Erlang -> Execline ##" + @echo "##############################" + @echo + escript QR.erl > QR.e + +QR.fsx: QR.e + @echo + @echo "##########################" + @echo "## 63: Execline -> F# ##" + @echo "##########################" @echo - escript QR.erl > QR.fsx + execlineb QR.e > QR.fsx QR.false: QR.fsx @echo @echo "#######################" - @echo "## 63: F# -> FALSE ##" + @echo "## 64: F# -> FALSE ##" @echo "#######################" @echo echo 'Exenet8.0false' > tmp.fsproj @@ -561,7 +568,7 @@ QR.false: QR.fsx QR.fl: QR.false @echo @echo "#########################" - @echo "## 64: FALSE -> Flex ##" + @echo "## 65: FALSE -> Flex ##" @echo "#########################" @echo ruby vendor/false.rb QR.false > QR.fl @@ -569,7 +576,7 @@ QR.fl: QR.false QR.fish: QR.fl @echo @echo "########################" - @echo "## 65: Flex -> Fish ##" + @echo "## 66: Flex -> Fish ##" @echo "########################" @echo flex -o QR.fl.c QR.fl @@ -579,7 +586,7 @@ QR.fish: QR.fl QR.fs: QR.fish @echo @echo "#########################" - @echo "## 66: Fish -> Forth ##" + @echo "## 67: Fish -> Forth ##" @echo "#########################" @echo fish QR.fish > QR.fs @@ -587,7 +594,7 @@ QR.fs: QR.fish QR.f: QR.fs @echo @echo "##############################" - @echo "## 67: Forth -> FORTRAN77 ##" + @echo "## 68: Forth -> FORTRAN77 ##" @echo "##############################" @echo gforth QR.fs > QR.f @@ -595,7 +602,7 @@ QR.f: QR.fs QR.f90: QR.f @echo @echo "##################################" - @echo "## 68: FORTRAN77 -> Fortran90 ##" + @echo "## 69: FORTRAN77 -> Fortran90 ##" @echo "##################################" @echo @mv QR.c QR.c.bak @@ -606,7 +613,7 @@ QR.f90: QR.f QR.gbs: QR.f90 @echo @echo "######################################" - @echo "## 69: Fortran90 -> Gambas script ##" + @echo "## 70: Fortran90 -> Gambas script ##" @echo "######################################" @echo gfortran -o QR QR.f90 @@ -615,7 +622,7 @@ QR.gbs: QR.f90 QR.g: QR.gbs @echo @echo "################################" - @echo "## 70: Gambas script -> GAP ##" + @echo "## 71: Gambas script -> GAP ##" @echo "################################" @echo $(GBS) QR.gbs > QR.g @@ -623,7 +630,7 @@ QR.g: QR.gbs QR.gdb: QR.g @echo @echo "######################" - @echo "## 71: GAP -> GDB ##" + @echo "## 72: GAP -> GDB ##" @echo "######################" @echo gap -q QR.g > QR.gdb @@ -631,7 +638,7 @@ QR.gdb: QR.g QR.gel: QR.gdb @echo @echo "###############################" - @echo "## 72: GDB -> GEL (Genius) ##" + @echo "## 73: GDB -> GEL (Genius) ##" @echo "###############################" @echo gdb -q -x QR.gdb > QR.gel @@ -639,7 +646,7 @@ QR.gel: QR.gdb QR.plt: QR.gel @echo @echo "###################################" - @echo "## 73: GEL (Genius) -> Gnuplot ##" + @echo "## 74: GEL (Genius) -> Gnuplot ##" @echo "###################################" @echo genius QR.gel > QR.plt @@ -647,7 +654,7 @@ QR.plt: QR.gel QR.go: QR.plt @echo @echo "#########################" - @echo "## 74: Gnuplot -> Go ##" + @echo "## 75: Gnuplot -> Go ##" @echo "#########################" @echo gnuplot QR.plt > QR.go @@ -655,7 +662,7 @@ QR.go: QR.plt QR.gs: QR.go @echo @echo "############################" - @echo "## 75: Go -> GolfScript ##" + @echo "## 76: Go -> GolfScript ##" @echo "############################" @echo go run QR.go > QR.gs @@ -663,7 +670,7 @@ QR.gs: QR.go QR.gpt: QR.gs @echo @echo "####################################" - @echo "## 76: GolfScript -> G-Portugol ##" + @echo "## 77: GolfScript -> G-Portugol ##" @echo "####################################" @echo ruby vendor/golfscript.rb QR.gs > QR.gpt @@ -671,7 +678,7 @@ QR.gpt: QR.gs QR.grass: QR.gpt @echo @echo "###############################" - @echo "## 77: G-Portugol -> Grass ##" + @echo "## 78: G-Portugol -> Grass ##" @echo "###############################" @echo mv QR.c QR.c.bak @@ -683,7 +690,7 @@ QR.grass: QR.gpt QR.groovy: QR.grass @echo @echo "###########################" - @echo "## 78: Grass -> Groovy ##" + @echo "## 79: Grass -> Groovy ##" @echo "###########################" @echo ruby vendor/grass.rb QR.grass > QR.groovy @@ -691,7 +698,7 @@ QR.groovy: QR.grass QR.gz: QR.groovy @echo @echo "##########################" - @echo "## 79: Groovy -> Gzip ##" + @echo "## 80: Groovy -> Gzip ##" @echo "##########################" @echo groovy QR.groovy > QR.gz @@ -699,7 +706,7 @@ QR.gz: QR.groovy QR.hs: QR.gz @echo @echo "###########################" - @echo "## 80: Gzip -> Haskell ##" + @echo "## 81: Gzip -> Haskell ##" @echo "###########################" @echo gzip -cd QR.gz > QR.hs @@ -707,16 +714,17 @@ QR.hs: QR.gz QR.hx: QR.hs @echo @echo "###########################" - @echo "## 81: Haskell -> Haxe ##" + @echo "## 82: Haskell -> Haxe ##" @echo "###########################" @echo + rm -f QR.o ghc QR.hs ./QR > QR.hx QR.icn: QR.hx @echo @echo "########################" - @echo "## 82: Haxe -> Icon ##" + @echo "## 83: Haxe -> Icon ##" @echo "########################" @echo haxe -main QR -neko QR.n @@ -725,7 +733,7 @@ QR.icn: QR.hx QR.i: QR.icn @echo @echo "############################" - @echo "## 83: Icon -> INTERCAL ##" + @echo "## 84: Icon -> INTERCAL ##" @echo "############################" @echo icont -s QR.icn @@ -734,7 +742,7 @@ QR.i: QR.icn QR.j: QR.i @echo @echo "##############################" - @echo "## 84: INTERCAL -> Jasmin ##" + @echo "## 85: INTERCAL -> Jasmin ##" @echo "##############################" @echo @mv QR.c QR.c.bak @@ -746,7 +754,7 @@ QR.j: QR.i QR.java: QR.j @echo @echo "##########################" - @echo "## 85: Jasmin -> Java ##" + @echo "## 86: Jasmin -> Java ##" @echo "##########################" @echo jasmin QR.j @@ -755,7 +763,7 @@ QR.java: QR.j QR.js: QR.java @echo @echo "##############################" - @echo "## 86: Java -> JavaScript ##" + @echo "## 87: Java -> JavaScript ##" @echo "##############################" @echo javac QR.java @@ -764,7 +772,7 @@ QR.js: QR.java QR.jq: QR.js @echo @echo "############################" - @echo "## 87: JavaScript -> Jq ##" + @echo "## 88: JavaScript -> Jq ##" @echo "############################" @echo $(JAVASCRIPT) QR.js > QR.jq @@ -772,7 +780,7 @@ QR.jq: QR.js QR.jsfuck: QR.jq @echo @echo "########################" - @echo "## 88: Jq -> JSFuck ##" + @echo "## 89: Jq -> JSFuck ##" @echo "########################" @echo jq -r -n -f QR.jq > QR.jsfuck @@ -780,7 +788,7 @@ QR.jsfuck: QR.jq QR.kt: QR.jsfuck @echo @echo "############################" - @echo "## 89: JSFuck -> Kotlin ##" + @echo "## 90: JSFuck -> Kotlin ##" @echo "############################" @echo ulimit -s unlimited && $(JAVASCRIPT) --stack_size=100000 QR.jsfuck > QR.kt @@ -788,7 +796,7 @@ QR.kt: QR.jsfuck QR.ksh: QR.kt @echo @echo "#########################" - @echo "## 90: Kotlin -> ksh ##" + @echo "## 91: Kotlin -> ksh ##" @echo "#########################" @echo kotlinc QR.kt -include-runtime -d QR.jar @@ -797,7 +805,7 @@ QR.ksh: QR.kt QR.lazy: QR.ksh @echo @echo "#########################" - @echo "## 91: ksh -> Lazy K ##" + @echo "## 92: ksh -> Lazy K ##" @echo "#########################" @echo ksh QR.ksh > QR.lazy @@ -805,7 +813,7 @@ QR.lazy: QR.ksh qr.li: QR.lazy @echo @echo "############################" - @echo "## 92: Lazy K -> Lisaac ##" + @echo "## 93: Lazy K -> Lisaac ##" @echo "############################" @echo lazyk QR.lazy > qr.li @@ -813,18 +821,18 @@ qr.li: QR.lazy QR.ls: qr.li @echo @echo "################################" - @echo "## 93: Lisaac -> LiveScript ##" + @echo "## 94: Lisaac -> LiveScript ##" @echo "################################" @echo @mv QR.c QR.c.bak - lisaac qr.li + lisaac -gcc -Wno-implicit-function-declaration qr.li ./qr > QR.ls @mv QR.c.bak QR.c QR.ll: QR.ls @echo @echo "##################################" - @echo "## 94: LiveScript -> LLVM asm ##" + @echo "## 95: LiveScript -> LLVM asm ##" @echo "##################################" @echo lsc QR.ls > QR.ll @@ -832,7 +840,7 @@ QR.ll: QR.ls QR.lol: QR.ll @echo @echo "###############################" - @echo "## 95: LLVM asm -> LOLCODE ##" + @echo "## 96: LLVM asm -> LOLCODE ##" @echo "###############################" @echo @mv QR.bc QR.bc.bak @@ -843,7 +851,7 @@ QR.lol: QR.ll QR.lua: QR.lol @echo @echo "##########################" - @echo "## 96: LOLCODE -> Lua ##" + @echo "## 97: LOLCODE -> Lua ##" @echo "##########################" @echo lci QR.lol > QR.lua @@ -851,7 +859,7 @@ QR.lua: QR.lol QR.m4: QR.lua @echo @echo "#####################" - @echo "## 97: Lua -> M4 ##" + @echo "## 98: Lua -> M4 ##" @echo "#####################" @echo lua5.3 QR.lua > QR.m4 @@ -859,28 +867,18 @@ QR.m4: QR.lua QR.mk: QR.m4 @echo @echo "##########################" - @echo "## 98: M4 -> Makefile ##" + @echo "## 99: M4 -> Makefile ##" @echo "##########################" @echo m4 QR.m4 > QR.mk -QR.mac: QR.mk +QR.mzn: QR.mk @echo - @echo "##############################" - @echo "## 99: Makefile -> Maxima ##" - @echo "##############################" - @echo - make -f QR.mk > QR.mac - -QR.mzn: QR.mac - @echo - @echo "###############################" - @echo "## 100: Maxima -> MiniZinc ##" - @echo "###############################" + @echo "#################################" + @echo "## 100: Makefile -> MiniZinc ##" + @echo "#################################" @echo - @if [ "$(CI)" = "true" ]; then mv /tmp /tmp.bak && ln -s /dev/shm /tmp; fi - maxima -q --init-mac=QR.mac > QR.mzn - @if [ "$(CI)" = "true" ]; then rm /tmp && mv /tmp.bak /tmp; fi + make -f QR.mk > QR.mzn QR.mod: QR.mzn @echo @@ -888,7 +886,7 @@ QR.mod: QR.mzn @echo "## 101: MiniZinc -> Modula-2 ##" @echo "#################################" @echo - minizinc --solver Gecode --soln-sep '' QR.mzn > QR.mod + minizinc --solver COIN-BC --soln-sep '' QR.mzn > QR.mod QR.il: QR.mod @echo diff --git a/QR.rb b/QR.rb index d057bf3..50c44d6 100644 --- a/QR.rb +++ b/QR.rb @@ -1,65 +1,65 @@ eval$s=%q(eval(%w(B=92.chr;g=32.chr;puts(eval(%q(N=10.chr;n=0;e=->s{Q[Q[s,B],?"].K(N,B+?n)};E=->s{'("'+e[s]+'")'};d=->s,t=?"{s.K(t){t+t}};def~f(s,n)s.K(/.{1,#{n*255}}/m){yield$S=E[$s=$&]}end;Q=->s,t=?${s.K(t){B+$&}};R=";return~0;";V=->s,a,z{s.K(/( #{B*4})+/){a+"#{$&.size/2}"+z}};C=%w(System.Console~Write);$C=C*?.;$D="program~QR";$G="~contents~of"+$F="~the~mix!g~bowl";$L="public~static";$W="s.WriteByte";rp=->s,r{v="";[r.!ject(s){|s,j|o={};m=n=0;s.size.times{|i|o[f=s[i,2]]||=0;c=o[f]+=1;m(p(3+ord~c);Z"-1~0~";c))#{E[~~~~~~%(object"Application"{state"ma!"{foreach(s~![#{f(%(puts~"#{Q[e[%(echo~'a::=`x7e#{Q[Q["let~s=#{E[%(void~p(!t[]c){foreach(!t~v~!~c)stdout.Zf("%c%c",v/256,v%25 -6);}void~mX{!t[]a;p({19796,26724,0,6,0,1,480,19796,29291,#{s=%(module~QR;!itial~beg!~#{f((%(Module~QR`nSub~MX`nDim~c,n:Dim~s~As~Object=#{C[0]}.OpenStandardOutput():Dim~t()As~Short={26,34,86,127,148,158,200}:For~Each~d~!"BasmCBBBCRE`x60F<<<D`x21BE@ABRCABRCABRCA`x4a`x21CE@~B-BB~CACk:CvACqRC~COBMADRCACRCADRCABRCABRC~BACj:B-BBOBMADRCADRCADRCAFRCMM}CBABM`x7e#{40.chr}BBBCB -BB,BBBDBBB0BBBDBBB4BBB=BBB?BBB;BBB~...^t..^n..(module(import~:wasi_snapshot_preview1:~:fd_H:~(func(param~i32~i32~i32~i32)(result~i32)))(memory(export~:memory:)(data~:^08^00^00^00$:))(func(export~:_start:)i32.const~1~i32.const~0~i32.const~1~i32.con -st~0~call~0~drop))":c=Asc(d):If~c=36:For~c=0To~11:#$W(If(c~Mod~3,Asc(#{s="<#{U="xsl:template"}~match='/'><`x21[CDATA[#{%(sub~f(s$,n)Z(s $);:for~i =1to~n~Z("Y");:next:end~sub:f("#{V[e[%(H,format="#{y="";f("^H{-}{txt}{#{Q["echo~-E~$'#{Q[Q[E[%(with~Ada.Text_Io;procedure~qr~is~beg!~Ada.Text_Io.Put("#{d[%(trans~B(Buffer)`n -trans~O(n){`nB:add(Byte(+~128~n))}`ntrans~f(v~n){`n O(+(/~ n~64 )107)`nO (n:mod~64)`nO~v}`ntrans~D(n){if(<~n~4){f(+(*~6~n)9)48}{if(n:odd-p){D(-~n~3)`nf~27~48`nf~36~11}{D(/~n~2)`nf~21~48`nf~48~20}}}`ntrans~S(Buffer"#{e[%W[STRINGz:=~226+ -~153,a:=z+~166,b:=a+"2"+z+~160,c:=b+"8"+z+~165,t: ="# { d[%(class~QR{#$L~void~ma!(SJ[]a){a=#{E["H('#{Q[e["implement~ma!0()=Z"+E["BEGIN{Z#{E[ %(echo~'#{%(f(s){System.out.Z(s);}s="389**6+44*6+00p45*,";for(c -:#{E[(s="#!clude`n!t~mX{std::cout<<#{ E[ %(class~Program{#$L~void~MX{#$C("Qu!e~Relay~Coffee.^n^nIngredie nts.^n");for(!t~i=9;i++<126;)#$C($"{i}~g~caffe!e~{i}^n" -);#$C("^nMethod.^n");foreach(char~c~!#{E[%((d oseq[s(lazy-cat["IDENTIFICATION~DIVISION.""PROGRAM-ID.~QR."" PROCEDURE~DIVISION."'DISPLA`x59](map~#(str"~~~~^"" -(.replace~%1"^"""^"^"")"^"")(re-seq~#".{1,45 }""#{e["(f=(n)->Array(n+1).jo!~'Y');console.log(' %s',#{V[E[%((H-l!e"#{e["puts#{E["import~std.st -dio;void~mX{H(`x60#{%(method~MX{Z(@"#{d["[' ']p[#{"IO.puts"+E[%((pr!c~"#{e["`nma!(_)-> `nio:fH#{d[E['Zfn("""'+d[?"+"%option~noyywr -ap`n%%`n%%`n!t~mX{puts#{E["echo~'#{Q[Q[%( ~:~A~."#{g*9}"~;~:~B~A~."~WRITE(*,*)'"~A~ ;~:~C~B~T`x59PE~."~'"~CR~;~:~D~S"~#$D"~C -~S^"~Z~^"(&"~C~S^"~#{e[%(Z"#{e["s:=Outp utTe xtUser();WriteAll(s,#{E[%(Zf"#{e[d [f('set~Z"-";Z '+E[%(package~ma!;import"fmt";func~mX -{fmt.Pr!t#{E[%(236:j;{119:i;{206i-:i;. 48<{7 1+}{[i]^48-*}if}%}:t;"algori tmo~QR;!"[195][173]++'cio~im prima("'"013141"t"/12131"t~6*"/1:191 -8151:??6271413/4=3626612/2/353251215/ `x5a 0`x5a0R"t"#{e[%(z=new~java. util.zip.G`x5aIPOutputStream(System.ou t);z.H('#{"ma!=putStr"+E["class~QR -{#$L~function~mX{neko.Lib.Z#{E[%(proc edure~mX;i:=c:=0;s:=#{ E[%(.class~public~QR`n .super~#{$T="java/io/Pr!tStream"}`n.method~# $L~ma!([L#{S="java/lang/S"}J;)V~ -;]`n.limit~stack~2`ngetstatic~#{S}yst em/o ut~L#$T;`nldc~"#{e[%(class~QR{#$L~ void~ma!(SJ[]v){S J~c[]=new~SJ[99999],y="",z=y,s="#{z=t=(0..r=q=126) .map{|n|[n,[]]};a="";b=->n{a<<( -n%78+55)%84+42};(%(P={0:'[+[]]',m:'((+[ ])'+(C="['constructor']")+"+[])['11']"};for(R~!~B =('`x21[]@`x2 1`x21[]@[][[]]@'+(A="[]['fill']")+"@([]+[])['fontcolor ']([])@(+('11e20')+[])['split -']([])@"+A+C+"('return~escape')()("+ A+')').split('@'))for(E~!~D=eval(G='('+B[R]+'+[])') )P[T=D[E]]=P [T]||G+"['"+E+"']";for(G='[',B=0;++B<36;)P[D=B.toSJ(36)]=B <10?(G+='+`x21+[]')+']':P[D] -||"(+('"+B+"'))['to'+([]+[])"+C+" ['name']]('36')";A+=C+"('console.log(unescape(^"";for(E~ !~G=#{E[ "fun~ma!(a:Array){Z#{Q[E[%(s=();a(){~s+=($(echo~-n~$1|od~ -An~-tu1~-v)~$2);};a~"Secti -on`x48eader+name:=QR;SectionPubl ic-ma!<-("~10;t='#{"console.log"+Q[E[%(@s=global[#{i=(s=%(`x 48AI ~1.2`nVISIBLE~"#{"x=sJ.K(#{V[E["changequote(<@,@>)`ndef!e(p,<@#{" all:`n`t@echo~'#{d["l!el:9 -9999;Z#{E["solve~satisfy;outpu t~[#{E["MODULE~QR;FROM~StrIO~IMPORT~WriteSJ;BEGIN~#{(%(.assembl y~ t{}.method~#$L~void~MX{.entrypo!t~ldstr"#{e["m{{`x21:~x`nqr:~|-`n~:db`x60#{e[s= "$Z#{E["Zf#{E["echo#{E["#i -mport#{N}!t~mX{puts #{E["Z_sJ"+E["s=double#{E["Z#{E["$console:l!e[#{"#$D(output);beg!~H (#{f(( p="eval";%($_="#{s,v=rp["$_='#{Q[%($z)&&$i/$z<($c<$w?ord( -$s[(!t)($c/3)]):$c--%3+2) ?$t[2].$t[$c%3%2].$t[$c%3]:"^0^0^0":"^0")$c=$i%$z;foreach(array("I`x48DR".p ack("NNCV",$w+2,128,8,2),"IDAT".gzcompres s($m),"IEND")as$d)echo~p -ack("NA*N",strlen($d)-4,$ d,crc32($d));).K(B,"`x7f"),?']}';s:g/^x7f/Y/;Z~$_",128..287];s="$_='#{Q[s,c= /['Y]/]}';$n=32;$s='#{Q[v,c]}';$s=`x7 es{..}{$a=$&;$b=chr(--$n -&255);`x7es/$b/$a/g;}eg; Z";(s+N*(-s.size%6)).unpack("B*")[0].K(/.{6}/){n=$&.to_i~2;((n+14)/26*6+n+47).c hr}}";s|.|$n=ord$&;substr~unpack(B 8,chr$n-!t($n/32)*6-41) -,2|eg;eval~pack'B*',$_). scan(/[~,-:A-z]+|(.)/){p="s++#{$1?"chr~#{$1.ord}+e":$&+?+};"+p};p),1){"'#$s',"}} '')end.".K(/[:;()]/){?`x5e+$&}} ]"]};quit"]};t=num2cell -(b=11-ceil(s/13));for~n =1:9m={};for~i=1:141f=@(x,y,n)repmat(['Ook'~char(x)~'~Ook'~char(y)~'~'],[1~abs(n)] );m(i)=[f(z=46,63,n)~f(q=z- (i<13)*13,q,i-13)~f(33, -z,1)~f(63,z,n)];end;t(x =b==n)=m(diff([0~s(x)])+13);end;Zf('%%s',t{:})"]]+R}}"]}"]}`n"]};"]}`x60`n~global~_ start`n~_start:mov~edx,# {s.size}`n~mov~ecx,m`n~m -ov~ebx,1`n~mov~eax,4`n~ !t~128`n~mov~ebx,0`n~mov~eax,1`n~!t~128`nx:~|`n~}}{{{qr}}}"]}"call~void~[mscorlib] # {C*"::"}(sJ)ret})).K( /()[#{i=94.chr}"]+|[#{i} -']+/){["WriteSJ(",$&,") ;"]*($1??":?')}}END~QR."]}];"]};quit();",?$].K(?'){"'^''"}}'"}@>)`np"],?&,?&]},' &( %d+)&',fun ctio n(s)return~sJ.rep( 'Y',tonumber(s))end);Z(x -)".K(/[:"]/,":^0")}"`n` x4bT`x48`x58B`x59E~B`x59E)).size+1}x~i8]c"#{s.K(/[^"`n`t]/){"^%02`x58"%$&.ord}} ^ 00"declare~i3 2@puts(i8*) def!e~i32@mX{%1 =call~i32@puts(i8*getelem -entptr([#{i}x~i8],[#{i}x ~i8]*@s,i32~0,i32~0))ret~i32~0})],?#].K(?',%('"'"'))}';for((i=0;i<${#t};i+=99 ) );do;x=${t:$i: 99};a~"^"${x// [Y^`" ]/Y^0}^".Z;" ~10;done;a~");";p(){~echo -~-n~$1;};f(){~for~x~!~${ s[*]};do;p~$3;for((j=$2;j--;));do;h~$1~$x~$j;done;done;};p~k^`x60;h(){~p~^ `x 60${1:$(($2>>$3&1)):2};};f~kki~ 7~'`x60`x60s `x60`x60s `x60`x60s`x60`x60s`x60`x60 -s`x60`x60s`x60`x60s`x60`x 60si';s=();a~'AG-`x48-`x48Fy.IlD==;=jdlAy=;=jldltldltl{lAulAy=jtlldlAyFy =?=j dlAyGFyFyG2AFy>zlAFFBCjldGyGFy>G Fy.AGy=G==n`x48= =nlldC =j@=jtlldltldlAut11';h(){~p -~${1:$(((($2%83-10)>>((2-$ 3)*2))%4)):1};};f~ski^`x60~3)]]}~}"]})A+="'+`x21[]+'"+G.charCodeAt(E) .toSJ(16 );for(A+="^".replace(/'+`x21[]+' /g,^"%^")))')()",R= 0;R <9;R++)A=A.replace(/'.*?'/g, -function(B){T=[];for(E=1;B [E+1];)T.push(P[B[E++]]);return~T.jo!('+')});console.log('"'+A+'"' ))).bytes{ |n|r,z=z[n]||(b[r/78];b[r];q<6083&&z[n]=[q+=1,[]];t[ n ])};b[r/78];b[r]}";!t~i=0,n=0 -,q=0;for(;++n<126;)c[n]=""+ (char)n;for(;i<#{a.size};){q=q*78+(s.charAt(i)-13)%84;if(i++%2> 0){y=qn{L<<(n+62)%92+35;D};s. bytes{|c|n>0?n-=1:(t[c]=(t[c]||[]).reject{|j -|j4&&x<<[k,j]};x=x.ma x)?(n,j=x;x=b.size;(u=[x,3999].m!;D[u%87][u/87] -;L<0;x=4001+i- j;D[x%87][x/87][n-5]):b<`nchar*p=#{E[L]},s[999999],*q=s;!t~mX{!t~n,m;for(; -*p;){n=(*p-5)%92+(p[1]-5)%92*87;p+=2;if(n>3999)for (m=(*p++-5)%92+6;m--;q++)*q=q[4000-n];else~for(;n--;)*q++=*p++;}p uts(s)#{R}}")]}){s+="00g,";for(m=1;m<256;m*=2)s+="00g,4 -,:"+(c/m%2>0?"4+":"")+",";f(s);s="4,:,";}f(s+s);for(c:Ba se64.getDecoder().decode("kaARERE`x58/I0ALn3n5ef6l/Pz8+fnz58/BOf5/7/hE`x58/O`x5 azM5mC`x58/Oczm`x5azBPn5+`x58/OczMznBL/nM5m`x5azBPu++fPPOc5zng -nnO`x5azO`x5agnBMGAW7A==")){c=c<0?256+c:c;for(i=0;i++<3;c/=8)f(c%8);f("8*+8*+,");}f("@");).K(?',%('"'"'))}'|sed~-e's/Y/YY/g'~-e's/"/Yq/g'~-e's/.*/Z~"&"^nquit/')]}}"]],?']}');".K(/^+/){"`x5e#{$&.size}`x5e"}]}.split("Y`x5e");for(!t~i=1;i";s.size*16+3}. -ToSJ("x8")(1`x58or~7-c*2^3)),92)):Next:Else:n=(c>124)*(8*c-#{s.size+1294}):Do~While~n>127:#$W(128+(127And~n)):n^=128:Loop:#$W(If(c<125,If((c-1)^7-8,c+66*(c>65And~c<91),t(c-57)),n)):End~If:Next:For~Each~c~!"#{d[s].K~N,'"&~VbLf~&"'}":#$W(Asc(c)):Nex -t:End~Sub:End~Module)).l!es.map{|s|"let~s=#{E[s]}`nput=s`nZ`n"}.jo!+"qa`x21",3){%($H("%s",#$S);)+N}}end~endmodule);W=s.size*72+4;"%d,%d"%[W/65536,W%65536]}});foreach(!t~c~!#{E[s]}.data)foreach(!t~v~!~a={0,9,7,4,5,c/100*7/6+1,c%100/10*7/6+1,c%10*7/ -6+1,7})p({144,v=15450+v*256,384,v});p({255,12032});})]},i=0,t='k';while(s[i])t='^x60.'+s[i++]+t;console.log(t)",B],?`x21].K(?',%('"'"'))}'"^n::=^na")],/[`[`]$]/]}"),4){$S+?,}}])Console.H(s);Application.exit();}})]};Z"0~0~-1");),127..255];f(%(varia -ble~s=`x60#{s.K(/.{1,234}/){$&.K("`x60",%(`x60+"`x60"+`x60))+"`x60+`n`x60"}}`x60,i;for(i=0;i<129;i++)s=strreplace(s,pack("C",255-i),substrbytes(`x60#{v[0,99]}`x60+`n`x60#{v[99..-1]}`x60,i*2+1,2));Zf("%s",s)),7){"f('%s')`n"%$s.unpack("`x48*")}}Zf(" -^n#[Exeunt]");quit)]}")),196){%(Z#$S;)}}}"]});})).gsub(/[!HJKXYZ^`~]/){[B*2,:write,B,:tring,:gsub,"ain()",B*4,:print,g,:in][$&.ord%47%12]})))*"")#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for +n#Ajax,~a~man.^n#Ford,~a~man.^n#Act~i:~Qu!e.^n#Scene~i:~Relay.^n#[Enter~Ajax~and~Ford]^n#Ajax:^n#");function[]=f(s);for~i=1:2:length(s),Zf("2%s3",part(dec2b!(hex2dec(part(s,i:i+1))),$:-1:2)),end;endfunction`n#{s,v=rp["Z"+E[%(fun~p~n=Z(Int.toSJ~n`x +5e"~");fun~mX=(p~0;p~0;p~130;List.tabulate(127,p);SJ.map(fn~c=>(p(3+ord~c);Z"-1~0~";c))#{E[~~~~~~%(object"Application"{state"ma!"{foreach(s~![#{f(%(puts~"#{Q[e[%(echo~'a::=`x7e#{Q[Q["let~s=#{E[%(void~p(!t[]c){foreach(!t~v~!~c)stdout.Zf("%c%c",v/25 +6,v%256);}void~mX{!t[]a;p({19796,26724,0,6,0,1,480,19796,29291,#{s=%(module~QR;!itial~beg!~#{f((%(Module~QR`nSub~MX`nDim~c,n:Dim~s~As~Object=#{C[0]}.OpenStandardOutput():Dim~t()As~Short={26,34,86,127,148,158,200}:For~Each~d~!"BasmCBBBCRE`x60F<<<D`x21BE@ABRCABRCABRCA`x4a`x21CE@~B-BB~CACk:CvACqRC~COBMADRCACRCADRCABRCABRC~BACj:B-BBOBMADRCADRCADRCAFRCMM}CBABM`x7e#{40.chr +}BBBCBBB,BBBDBBB0BBBDBBB4BBB=BBB?BBB;BBB~...^t..^n..(module(import~:wasi_snapshot_preview1:~:fd_H:~(func(param~i32~i32~i32~i32)(result~i32)))(memory(export~:memory:)(data~:^08^00^00^00$:))(func(export~:_start:)i32.const~1~i32.const~0~i32.const~1~i +32.const~0~call~0~drop))":c=Asc(d):If~c=36:For~c=0To~11:#$W(If(c~Mod~3,Asc(#{s="<#{U="xsl:template"}~match='/'><`x21[CDATA[#{%(sub~f(s$ ,n)Z(s$); :for~i=1to~n~Z("Y");:next:end~sub:f("#{V[e[%(H,format="#{y="";f("^H{-}{txt}{#{Q["echo~-E~$'#{Q[Q[E[%(with~Ada.Text_Io;procedure~qr~is~beg!~Ada.Text_Io.Put("#{d[%(trans~B(Buf +fer)`ntrans~O(n){`nB:add(Byte(+~128~n))}`ntrans~f(v ~n){`n O(+( /~n~64)1 07)`nO(n:mod~64)`nO~v}`ntrans~D(n){if(<~n~4){f(+(*~6~n)9)48}{if(n:odd-p){D(-~n~3)`nf~27~48`nf~36~11}{D(/~n~2)`nf~21~48`nf~48~20}}}`ntrans~S(Buffer"#{e[%W[STRINGz: +=~226+~153,a:=z+~166,b:=a+"2"+z+~160,c:=b+"8"+z+~ 165 , t:="#{d[%(class~QR{#$L~void~ma!(SJ[]a){a=#{E["H('#{Q[e["implement~ma!0()=Z"+E["BEGIN {Z#{E[%(echo~'#{%(f(s){System.out.Z(s);}s="389**6+44*6+00p45*," +;for(c:#{E[(s="#!clude`n!t~mX{std::co ut <<#{E[%(class~Program{#$L~void~MX{#$C("Qu!e~Relay~Coffee.^n^nIn gredients.^n");for(!t~i=9;i++<126;)#$C($"{i}~g~caffe!e~ +{i}^n");#$C("^nMethod.^n");foreach(char~c~!#{ E[%((doseq[s(lazy-cat["IDENTIFICATION~DIVISION.""PROGRAM-ID. ~QR.""PROCEDURE~DIVISION."'DISPLA`x59](map~#(str"~ +~~~^""(.replace~%1"^"""^"^"")"^"")(re-seq~#" .{1,45}""#{e["(f=(n)->Array(n+1).jo!~'Y');console .log('%s',#{V[E[%((H-l!e"#{e["puts#{E["import~ +std.stdio;void~mX{H(`x60#{"['']p[#{"IO.puts "+E[%((pr!c~"#{e["`nma!(_)->`nio:fH#{d[E[% (echo~"#{e['Zfn("""'+d[?"+"%option~noyywrap +`n%%`n%%`n!t~mX{puts#{E["echo~'#{Q[Q[%(~: ~A~."#{g*9}"~;~:~B~A~."~WRITE(*,*)'"~A~;~ :~C~B~T`x59PE~."~'"~CR~;~:~D~S"~#$D"~C~S +^"~Z~^"(&"~C~S^"~#{e[%(Z"#{e["s:=Output Text User();WriteAll(s,#{E[%(Zf"#{e[d[f ('set~Z"-";Z'+ E[%(package~ma!;import"fmt";func~mX{f +mt.Pr!t#{E[%(236:j;{119:i;{206i-:i;.48 <{71+ }{[i]^48-*}if}%}:t;"algoritm o~QR;!"[195][173]++'cio~impr ima("'"013141"t"/12131"t~6*"/1:19181 +51:??6271413/4=3626612/2/353251215/`x 5a0` x5a0R"t"#{e[%(z=new~java.ut il.zip.G`x5aIPOutputStream(System.out) ;z.H('#{"ma!=putStr"+E["class~QR{# +$L~function~mX{neko.Lib.Z#{E[%(proced ure~mX;i:=c:=0;s:=#{E[ %(.class~public~QR`n.s uper~#{$T="java/io/Pr!tStream"}`n.method~#$L ~ma!([L#{S="java/lang/S"}J;)V~;] +`n.limit~stack~2`ngetstatic~#{S}ystem /out ~L#$T;`nldc~"#{e[%(class~QR{#$L~vo id~ma!(SJ[]v){SJ~ c[]=new~SJ[99999],y="",z=y,s="#{z=t=(0..r=q=126).m ap{|n|[n,[]]};a="";b=->n{a<<(n% +78+55)%84+42};(%(P={0:'[+[]]',m:'((+[]) '+(C="['constructor']")+"+[])['11']"};for(R~!~B=( '`x21[]@`x21` x21[]@[][[]]@'+(A="[]['fill']")+"@([]+[])['fontcolor'] ([])@(+('11e20')+[])['split'] +([])@"+A+C+"('return~escape')()("+A+ ')').split('@'))for(E~!~D=eval(G='('+B[R]+'+[])'))P [T=D[E]]=P[T ]||G+"['"+E+"']";for(G='[',B=0;++B<36;)P[D=B.toSJ(36)]=B<1 0?(G+='+`x21+[]')+']':P[D]|| +"(+('"+B+"'))['to'+([]+[])"+C+"[' name']]('36')";A+=C+"('console.log(unescape(^"";for(E~!~ G=#{E["f un~ma!(a:Array){Z#{Q[E[%(s=();a(){~s+=($(echo~-n~$1|od~-A n~-tu1~-v)~$2);};a~"Section +`x48eader+name:=QR;SectionPublic -ma!<-("~10;t='#{"console.log"+Q[E[%(@s=global[#{i=(s=%(`x48 AI~1 .2`nVISIBLE~"#{"x=sJ.K(#{V[E["changequote(<@,@>)`ndef!e(p,<@#{"al l:`n`t@echo~'#{d["solve~sa +tisfy;output~[#{E["MODULE~QR;F ROM~StrIO~IMPORT~WriteSJ;BEGIN~#{(%(.assembly~t{}.method~#$L~vo id ~MX{.entrypo!t~ldstr"#{e["m{{`x21:~x`nqr:~|-`n~:db`x60#{e[s="$Z#{E["Zf#{E["echo #{E["#import#{N}! +t~mX{puts#{E["Z_sJ"+E["s=dou ble#{E["Z#{E["$console:l!e[#{"#$D(output);beg!~H(#{f((p="eval";%($_ ="#{s, v=rp["$_='#{Q[%($z)&&$i/$z<($c<$w ?ord($s[(!t)($c/3)]):$c- +-%3+2)?$t[2].$t[$c%3%2].$ t[$c%3]:"^0^0^0":"^0")$c=$i%$z;foreach(array("I`x48DR".pack("NNCV",$w+2,128 ,8,2),"IDAT".gzcompress($m),"IEND")as$d)e cho~pack("NA*N",strlen($ +d)-4,$d,crc32($d));).K(B, "`x7f"),?']}';s:g/^x7f/Y/;Z~$_",128..287];s="$_='#{Q[s,c=/['Y]/]}';$n=32;$s= '#{Q[v,c]}';$s=`x7es{..}{$a=$&;$b=chr (--$n&255);`x7es/$b/$a/g +;}eg;Z";(s+N*(-s.size%6) ).unpack("B*")[0].K(/.{6}/){n=$&.to_i~2;((n+14)/26*6+n+47).chr}}";s|.|$n=ord$&; substr~unpack(B8,chr$n-!t($n/32)*6 -41),2|eg;eval~pack'B*' +,$_).scan(/[~,-:A-z]+|(. )/){p="s++#{$1?"chr~#{$1.ord}+e":$&+?+};"+p};p),1){"'#$s',"}}'')end.".K(/[:;()]/ ){?`x5e+$&}}]"]};quit"]};t=num2 cell(b=11-ceil(s/13));f +or~n=1:9m={};for~i=1:14 1f=@(x,y,n)repmat(['Ook'~char(x)~'~Ook'~char(y)~'~'],[1~abs(n)]);m(i)=[f(z=46,63,n )~f(q=z-(i<13)*13,q,i-13)~f (33,z,1)~f(63,z,n)];end +;t(x=b==n)=m(diff([0~s( x)])+13);end;Zf('%%s',t{:})"]]+R}}"]}"]}`n"]};"]}`x60`n~global~_start`n~_start:mov~ edx,#{s.size}`n~mov~ecx, m`n~mov~ebx,1`n~mov~eax, +4`n~!t~128`n~mov~ebx,0` n~mov~eax,1`n~!t~128`nx:~|`n~}}{{{qr}}}"]}"call~void~[mscorlib]#{C*"::"}(sJ)ret})) . K(/()[#{i=94.chr}"]+| [#{i}']+/){["WriteSJ(",$ +&,");"]*($1??":?')}}END ~QR."]}];",?$].K(?'){"'^''"}}'"}@>)`np"],?&,?&]},'&(%d+)&',function(s)return~sJ. re p('Y',tonu mber (s))end);Z(x)".K(/ [:"]/,":^0")}"`n`x4bT`x4 +8`x58B`x59E~B`x59E)).si ze+1}x~i8]c"#{s.K(/[^"`n`t]/){"^%02`x58"%$&.ord}}^00"declare~i32@puts(i8*)def!e ~ i32@mX{%1=cal l~i32@puts( i8*getelementpt r([#{i}x~i8],[#{i}x~i8]*@ +s,i32~0,i32~0))ret~i32~0 })],?#].K(?',%('"'"'))}';for((i=0;i<${#t};i+=99));do;x=${t:$i:99};a~"^"${x//[ Y ^`"]/Y^0}^".Z; "~10;done;a~") ;";p( ){~echo~-n~$ 1;};f(){~for~x~!~${s[*]}; +do;p~$3;for((j=$2;j--;)) ;do;h~$1~$x~$j;done;done;};p~k^`x60;h(){~p~^`x60${1:$(($2>>$3&1)):2};};f~k ki ~7~'`x60`x60s`x60`x60s`x60`x60s `x60`x60s`x6 0`x60s`x6 0`x60s`x60`x60s`x60`x60si' +;s=();a~'AG-`x48-`x48Fy.I lD==;=jdlAy=;=jldltldltl{lAulAy=jtlldlAyFy=?=jdlAyGFyFyG2AFy>zlAFFBCjldG yGFy >GFy.AGy=G==n`x48==nlldC=j@=jtll dltldlAut11';h() {~p~${ 1:$(((($2%83-10)>>((2-$3)*2 +))%4)):1};};f~ski^`x60~3)] ]}~}"]})A+="'+`x21[]+'"+G.charCodeAt(E).toSJ(16);for(A+="^".replace(/ '+`x21[] +'/g,^"%^")))')()",R=0;R<9;R++)A =A.replace(/'.*?'/g ,fu nction(B){T=[];for(E=1;B[E+1 +];)T.push(P[B[E++]]);retur n~T.jo!('+')});console.log('"'+A+'"'))).bytes{|n|r,z=z[n]||(b[r/78 ];b[r];q<6 083&&z[n]=[q+=1,[]];t[n])};b[r/78];b[r]}";!t~i=0,n=0 , q=0;for(;++n<126;)c[n]=""+(ch +ar)n;for(;i<#{a.size};){q=q *78+(s.charAt(i)-13)%84;if(i++%2>0){y=qn{L<<(n+62)% 92+35;D};s.bytes{|c|n>0?n-=1:(t[c]=(t[c]||[] ).reject{|j|j4& &x<<[k,j]};x=x.max)?(n,j=x;x=b.size;(u=[x,3999].m! ;D[u%87][u/87];L<0;x=4001+i-j;D[x%87][x/87][n-5]):b<`nchar*p=#{E[L]},s[999999],*q=s; !t~mX{!t~n,m;for(;*p;){n=(*p-5)%92+(p[1]-5)%92*87;p ++=2;if(n>3999)for(m=(*p++-5)%92+6;m--;q++)*q=q[400 0-n];else~for(;n--;)*q++=*p++;}puts(s)#{R}}")]}){s+="00g,";for(m= 1;m<256;m*=2)s+="00g,4,:"+(c/m%2>0?"4+":"")+",";f(s);s= +"4,:,";}f(s+s);for(c:Base64.getDecoder().decode("kaARERE `x58/I0ALn3n5ef6l/Pz8+fnz58/BOf5/7/hE`x58/O`x5azM5mC`x58/Oczm`x5azBPn5+`x58/Ocz MznBL/nM5m`x5azBPu++fPPOc5zngnnO`x5azO`x5agnBMGAW7A==")){c=c<0 +?256+c:c;for(i=0;i++<3;c/=8)f(c%8);f("8*+8*+,");}f("@");).K(?',%('"'"'))}'|sed~-e's/Y/YY/g'~-e's/"/Yq/g'~-e's/.*/Z~"&"^nquit/')]}}"]],?']}');".K(/^+/){"`x5e#{$&.size}`x5e"}]}.split("Y`x5e");for(!t~i=1;i";s.size*16+3}.ToSJ("x8")(1`x58or~7-c*2^3)),92)) +:Next:Else:n=(c>124)*(8*c-#{s.size+1294}):Do~While~n>127:#$W(128+(127And~n)):n^=128:Loop:#$W(If(c<125,If((c-1)^7-8,c+66*(c>65And~c<91),t(c-57)),n)):End~If:Next:For~Each~c~!"#{d[s].K~N,'"&~VbLf~&"'}":#$W(Asc(c)):Next:End~Sub:End~Module)).l!es.map{| +s|"let~s=#{E[s]}`nput=s`nZ`n"}.jo!+"qa`x21",3){%($H("%s",#$S);)+N}}end~endmodule);W=s.size*72+4;"%d,%d"%[W/65536,W%65536]}});foreach(!t~c~!#{E[s]}.data)foreach(!t~v~!~a={0,9,7,4,5,c/100*7/6+1,c%100/10*7/6+1,c%10*7/6+1,7})p({144,v=15450+v*256,384,v +});p({255,12032});})]},i=0,t='k';while(s[i])t='^x60.'+s[i++]+t;console.log(t)",B],?`x21].K(?',%('"'"'))}'"^n::=^na")],/[`[`]$]/]}"),4){$S+?,}}])Console.H(s);Application.exit();}})]};Z"0~0~-1");)],127..255];f(%(variable~s=`x60#{s.K(/.{1,234}/){$&.K +("`x60",%(`x60+"`x60"+`x60))+"`x60+`n`x60"}}`x60,i;for(i=0;i<129;i++)s=strreplace(s,pack("C",255-i),substrbytes(`x60#{v[0,99]}`x60+`n`x60#{v[99..-1]}`x60,i*2+1,2));Zf("%s",s)),7){"f('%s')`n"%$s.unpack("`x48*")}}Zf("^n#[Exeunt]");quit)]}")),196){%( +Z#$S;)}}}"]});})).gsub(/[!HJKXYZ^`~]/){[B*2,:write,B,:tring,:gsub,"ain()",B*4,:print,g,:in][$&.ord%47%12]})))*"")#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_f #################################################################################### Quine Relay -- Copyright (c) 2013, 2014 Yusuke Endoh (@mametter), @hirekoke ###################################################################################) diff --git a/README.md b/README.md index 66a1068..2746179 100644 --- a/README.md +++ b/README.md @@ -21,25 +21,25 @@ the original Ruby code again. ### Ubuntu -If you are using Ubuntu 24.04 LTS (Noble Numbat), you can follow these steps. +If you are using Ubuntu 24.10 (Oracular Oriole), you can follow these steps. #### 1. Install all the interpreters/compilers. First, you need to type the following apt-get command to install them all. $ sudo apt-get install afnix algol68g aplus-fsf aspectj asymptote \ - ats2-lang bash bc bsh clisp clojure cmake coffeescript crystal dafny \ - dc dhall dotnet8 elixir emacs-nox erlang f2c fish flex fp-compiler g++ \ - gambas3-gb-pcre gambas3-scripter gap gawk gcc gdb gdc genius gforth \ - gfortran ghc ghostscript gm2 gnat gnucobol4 gnuplot gobjc golang gpt \ - groovy guile-3.0 gzip haxe icont iconx intercal iverilog jasmin-sable \ - jq kotlin ksh libevent-dev libpolyml-dev lisaac livescript llvm lua5.3 \ - m4 make maxima minizinc mono-devel nasm neko nickle nim \ - node-typescript nodejs ocaml octave openjdk-11-jdk pari-gp parser3-cgi \ - perl php-cli pike8.0 polyml python3 r-base rakudo ratfor rc \ - regina-rexx ruby ruby-mustache rustc scala scilab-cli sed slsh spin \ - surgescript swi-prolog tcl tcsh valac vim wabt xsltproc yabasic yorick \ - zoem zsh + ats2-lang bash bc bsh clisp clojure cmake coffeescript crystal dc \ + dhall dotnet8 elixir emacs-nox erlang execline f2c fish flex \ + fp-compiler g++ gambas3-gb-pcre gambas3-scripter gap gawk gcc gdb gdc \ + genius gforth gfortran ghc ghostscript gm2 gnat gnucobol4 gnuplot \ + gobjc golang gpt groovy guile-3.0 gzip haxe icont iconx intercal \ + iverilog jasmin-sable jq kotlin ksh libevent-dev libpolyml-dev lisaac \ + livescript llvm lua5.3 m4 make minizinc mono-devel nasm neko nickle \ + nim node-typescript nodejs ocaml octave openjdk-11-jdk pari-gp \ + parser3-cgi perl php-cli pike8.0 polyml python3 r-base rakudo ratfor \ + rc regina-rexx ruby ruby-mustache rustc scala scilab-cli sed slsh spin \ + squirrel3 surgescript swi-prolog tcl tcsh valac vim wabt xsltproc \ + yabasic yorick zoem zsh Then, build the bundled interpreters. @@ -57,7 +57,8 @@ Then, build the bundled interpreters. $ sed -E -f QR.sed QR.sed > QR.spl $ spl2c < QR.spl > QR.spl.c && gcc -z muldefs -o QR -I ./vendor/local/include -L ./vendor/local/lib QR.spl.c -lspl -lm && ./QR > QR.sl - $ slsh QR.sl > QR.sml + $ slsh QR.sl > QR.nut + $ squirrel QR.nut > QR.sml $ polyc -o QR QR.sml && ./QR > QR.sq $ ruby vendor/subleq.rb QR.sq > QR.ss $ surgescript QR.ss > QR.tcl @@ -108,13 +109,13 @@ Then, build the bundled interpreters. $ coffee --nodejs --stack_size=100000 QR.coffee > QR.lisp $ clisp QR.lisp > QR.cr $ crystal QR.cr > QR.d - $ gdc -o QR QR.d && ./QR > QR.dfy - $ dafny QR.dfy && mono QR.exe > QR.dc + $ gdc -o QR QR.d && ./QR > QR.dc $ dc QR.dc > QR.dhall || true $ dhall text --file QR.dhall > QR.exs $ elixir QR.exs > QR.el $ emacs -Q --script QR.el > QR.erl - $ escript QR.erl > QR.fsx + $ escript QR.erl > QR.e + $ execlineb QR.e > QR.fsx $ echo 'Exenet8.0false' > tmp.fsproj && DOTNET_NOLOGO=1 dotnet run --project tmp.fsproj > QR.false $ ruby vendor/false.rb QR.false > QR.fl @@ -135,7 +136,7 @@ Then, build the bundled interpreters. $ ruby vendor/grass.rb QR.grass > QR.groovy $ groovy QR.groovy > QR.gz $ gzip -cd QR.gz > QR.hs - $ ghc QR.hs && ./QR > QR.hx + $ rm -f QR.o && ghc QR.hs && ./QR > QR.hx $ haxe -main QR -neko QR.n && neko QR.n > QR.icn $ icont -s QR.icn && ./QR > QR.i $ ick -bfOc QR.i && gcc -static QR.c -I /usr/include/ick-* -o QR -lick && @@ -148,15 +149,14 @@ Then, build the bundled interpreters. $ kotlinc QR.kt -include-runtime -d QR.jar && kotlin QR.jar > QR.ksh $ ksh QR.ksh > QR.lazy $ lazyk QR.lazy > qr.li - $ lisaac qr.li && ./qr > QR.ls + $ lisaac -gcc -Wno-implicit-function-declaration qr.li && ./qr > QR.ls $ lsc QR.ls > QR.ll $ llvm-as QR.ll && lli QR.bc > QR.lol $ lci QR.lol > QR.lua $ lua5.3 QR.lua > QR.m4 $ m4 QR.m4 > QR.mk - $ make -f QR.mk > QR.mac - $ maxima -q --init-mac=QR.mac > QR.mzn - $ minizinc --solver Gecode --soln-sep '' QR.mzn > QR.mod + $ make -f QR.mk > QR.mzn + $ minizinc --solver COIN-BC --soln-sep '' QR.mzn > QR.mod $ gm2 -fiso QR.mod -o QR && ./QR > QR.il $ ilasm QR.il && mono QR.exe > QR.mustache $ mustache QR.mustache QR.mustache > QR.asm @@ -222,131 +222,131 @@ I used the following Ubuntu deb packages to test this program. \# |language |ubuntu package |version ----|----------------------------|----------------------------------|------------------------------------- -1 |Ruby |ruby |1:3.2\~ubuntu1 -2 |Rust |rustc |1.75.0+dfsg0ubuntu1-0ubuntu7 +1 |Ruby |ruby |1:3.3\~ubuntu3 +2 |Rust |rustc |1.80.1ubuntu2 3 |Scala |scala |2.11.12-5 -4 |Scheme |guile-3.0 |3.0.9-1build2 -5 |Scilab |scilab-cli |2024.0.0+dfsg-5build3 +4 |Scheme |guile-3.0 |3.0.10+really3.0.9-1 +5 |Scilab |scilab-cli |2024.1.0+dfsg-4 6 |sed |sed |4.9-2build1 7 |Shakespeare |*N/A* |- -8 |S-Lang |slsh |2.3.3-3build2 -9 |Standard ML |polyml, libpolyml-dev |5.7.1-5build1 -10 |Subleq |*N/A* |- -11 |SurgeScript |surgescript |0.5.4.4-1.1 -12 |Tcl |tcl |8.6.14build1 -13 |tcsh |tcsh |6.24.10-4build1 -14 |Thue |*N/A* |- -15 |TypeScript |node-typescript |4.8.4+ds1-2 -16 |Unlambda |*N/A* |- -17 |Vala |valac |0.56.16-3build1 -18 |Velato |*N/A* |- -19 |Verilog |iverilog |12.0-2build2 -20 |Vimscript |vim |2:9.1.0016-1ubuntu7 -21 |Visual Basic |dotnet8 |8.0.104-8.0.4-0ubuntu1 -22 |WebAssembly (Binary format) |wabt |1.0.34+dsfg2+\~cs1.0.32-1ubuntu2 -23 |WebAssembly (Text format) |wabt |1.0.34+dsfg2+\~cs1.0.32-1ubuntu2 -24 |Whitespace |*N/A* |- -25 |XSLT |xsltproc |1.1.39-0exp1build1 -26 |Yabasic |yabasic |1:2.90.3-1 -27 |Yorick |yorick |2.2.04+dfsg1-12build3 -28 |Zoem |zoem |21-341-1 -29 |zsh |zsh |5.9-6ubuntu2 -30 |A+ |aplus-fsf |4.22.1-12 -31 |Ada |gnat |13.2ubuntu2 -32 |AFNIX |afnix |3.8.0-1 -33 |Aheui |*N/A* |- -34 |ALGOL 68 |algol68g |3.1.2-1 -35 |Ante |*N/A* |- -36 |AspectJ |aspectj |1.9.5-2 -37 |Asymptote |asymptote |2.87+ds-1build2 -38 |ATS |ats2-lang |0.4.2-1.1 -39 |Awk |gawk |1:5.2.1-2build3 -40 |bash |bash |5.2.21-2ubuntu4 -41 |bc |bc |1.07.1-3ubuntu4 -42 |BeanShell |bsh |2.0b4-20 -43 |Befunge |*N/A* |- -44 |BLC8 |*N/A* |- -45 |Brainfuck |*N/A* |- -46 |C |gcc |4:13.2.0-7ubuntu1 -47 |C++ |g++ |4:13.2.0-7ubuntu1 -48 |C# |dotnet8 |8.0.104-8.0.4-0ubuntu1 -49 |Chef |*N/A* |- -50 |Clojure |clojure |1.11.1-2 -51 |CMake |cmake |3.28.3-1build7 -52 |Cobol |gnucobol4 |4.0\~early\~20200606-6.1build1 -53 |CoffeeScript |coffeescript |2.7.0+dfsg1-1 -54 |Common Lisp |clisp |1:2.49.20210628.gitde01f0f-3.1build3 -55 |Crystal |crystal, libevent-dev |1.11.2+dfsg-1build3 -56 |D |gdc |4:13.2.0-7ubuntu1 -57 |Dafny |dafny |2.3.0+dfsg-0.1 -58 |dc |dc |1.07.1-3ubuntu4 -59 |Dhall |dhall |1.41.2-1 +8 |S-Lang |slsh |2.3.3-5 +9 |Squirrel |squirrel3 |3.1-8.2 +10 |Standard ML |polyml, libpolyml-dev |5.7.1-5build1 +11 |Subleq |*N/A* |- +12 |SurgeScript |surgescript |0.5.4.4-1.1 +13 |Tcl |tcl |8.6.14build1 +14 |tcsh |tcsh |6.24.13-2 +15 |Thue |*N/A* |- +16 |TypeScript |node-typescript |4.8.4+ds1-2 +17 |Unlambda |*N/A* |- +18 |Vala |valac |0.56.17-1 +19 |Velato |*N/A* |- +20 |Verilog |iverilog |12.0-2build2 +21 |Vimscript |vim |2:9.1.0496-1ubuntu6 +22 |Visual Basic |dotnet8 |8.0.110-8.0.10-0ubuntu1 +23 |WebAssembly (Binary format) |wabt |1.0.34+dsfg2+\~cs1.0.32-1ubuntu2 +24 |WebAssembly (Text format) |wabt |1.0.34+dsfg2+\~cs1.0.32-1ubuntu2 +25 |Whitespace |*N/A* |- +26 |XSLT |xsltproc |1.1.39-0exp1ubuntu1 +27 |Yabasic |yabasic |1:2.90.3-1 +28 |Yorick |yorick |2.2.04+dfsg1-13 +29 |Zoem |zoem |21-341-1 +30 |zsh |zsh |5.9-6ubuntu3 +31 |A+ |aplus-fsf |4.22.1-13 +32 |Ada |gnat |13.2ubuntu2 +33 |AFNIX |afnix |3.8.0-1 +34 |Aheui |*N/A* |- +35 |ALGOL 68 |algol68g |3.1.2-1 +36 |Ante |*N/A* |- +37 |AspectJ |aspectj |1.9.5-2 +38 |Asymptote |asymptote |2.90+ds-1build1 +39 |ATS |ats2-lang |0.4.2-2 +40 |Awk |gawk |1:5.2.1-2build3 +41 |bash |bash |5.2.32-1ubuntu1 +42 |bc |bc |1.07.1-4 +43 |BeanShell |bsh |2.0b4-20 +44 |Befunge |*N/A* |- +45 |BLC8 |*N/A* |- +46 |Brainfuck |*N/A* |- +47 |C |gcc |4:14.1.0-2ubuntu1 +48 |C++ |g++ |4:14.1.0-2ubuntu1 +49 |C# |dotnet8 |8.0.110-8.0.10-0ubuntu1 +50 |Chef |*N/A* |- +51 |Clojure |clojure |1.11.2-1 +52 |CMake |cmake |3.30.3-1 +53 |Cobol |gnucobol4 |4.0\~early\~20200606-6.1build1 +54 |CoffeeScript |coffeescript |2.7.0+dfsg1-2 +55 |Common Lisp |clisp |1:2.49.20210628.gitde01f0f-3.1build3 +56 |Crystal |crystal, libevent-dev |1.12.1+dfsg-1 +57 |D |gdc |4:14.1.0-2ubuntu1 +58 |dc |dc |1.07.1-4 +59 |Dhall |dhall |1.41.2-1build2 60 |Elixir |elixir |1.14.0.dfsg-2 -61 |Emacs Lisp |emacs-nox |1:29.3+1-1ubuntu2 -62 |Erlang |erlang |1:25.3.2.8+dfsg-1ubuntu4 -63 |F# |dotnet8 |8.0.104-8.0.4-0ubuntu1 -64 |FALSE |*N/A* |- -65 |Flex |flex |2.6.4-8.2build1 -66 |Fish |fish |3.7.0-1 -67 |Forth |gforth |0.7.3+dfsg-9build4.1 -68 |FORTRAN77 |f2c |20200916-1 -69 |Fortran90 |gfortran |4:13.2.0-7ubuntu1 -70 |Gambas script |gambas3-scripter, gambas3-gb-pcre |3.19.0-2ubuntu10 -71 |GAP |gap |4.12.1-2build2 -72 |GDB |gdb |15.0.50.20240403-0ubuntu1 -73 |GEL (Genius) |genius |1.0.27-1build4 -74 |Gnuplot |gnuplot |6.0.0+dfsg1-1ubuntu3 -75 |Go |golang |2:1.22\~2build1 -76 |GolfScript |*N/A* |- -77 |G-Portugol |gpt |1.1-8 -78 |Grass |*N/A* |- -79 |Groovy |groovy |2.4.21-10 -80 |Gzip |gzip |1.12-1ubuntu3 -81 |Haskell |ghc |9.4.7-3 -82 |Haxe |haxe |1:4.3.3-1build2 -83 |Icon |icont, iconx |9.4.3-7ubuntu1 -84 |INTERCAL |intercal |30:0.30-6 -85 |Jasmin |jasmin-sable |2.5.0-2 -86 |Java |openjdk-11-jdk |11.0.23+9-1ubuntu1 -87 |JavaScript |nodejs |18.19.1+dfsg-6ubuntu5 -88 |Jq |jq |1.7.1-3build1 -89 |JSFuck |nodejs |18.19.1+dfsg-6ubuntu5 -90 |Kotlin |kotlin |1.3.31+ds1-1ubuntu1 -91 |ksh |ksh |20240113 -92 |Lazy K |*N/A* |- -93 |Lisaac |lisaac |1:0.39\~rc1-3.1 -94 |LiveScript |livescript |1.6.1+dfsg-3 -95 |LLVM asm |llvm |1:18.0-59\~exp2 -96 |LOLCODE |*N/A* |- -97 |Lua |lua5.3 |5.3.6-2build2 -98 |M4 |m4 |1.4.19-4build1 -99 |Makefile |make |4.3-4.1build2 -100 |Maxima |maxima |5.46.0-11build3 -101 |MiniZinc |minizinc |2.8.2+dfsg1-1build2 -102 |Modula-2 |gm2 |4:13.2.0-7ubuntu1 -103 |MSIL |mono-devel |6.8.0.105+dfsg-3.6ubuntu2 +61 |Emacs Lisp |emacs-nox |1:29.4+1-3ubuntu1 +62 |Erlang |erlang |1:25.3.2.12+dfsg-1ubuntu2 +63 |Execline |execline |2.9.6.0-1 +64 |F# |dotnet8 |8.0.110-8.0.10-0ubuntu1 +65 |FALSE |*N/A* |- +66 |Flex |flex |2.6.4-8.2build1 +67 |Fish |fish |3.7.1-1 +68 |Forth |gforth |0.7.3+dfsg-9build4.1 +69 |FORTRAN77 |f2c |20240504-1 +70 |Fortran90 |gfortran |4:14.1.0-2ubuntu1 +71 |Gambas script |gambas3-scripter, gambas3-gb-pcre |3.19.3-1ubuntu2 +72 |GAP |gap |4.13.1-1 +73 |GDB |gdb |15.1-1ubuntu2 +74 |GEL (Genius) |genius |1.0.27-1build4 +75 |Gnuplot |gnuplot |6.0.0+dfsg1-1ubuntu3 +76 |Go |golang |2:1.23\~1 +77 |GolfScript |*N/A* |- +78 |G-Portugol |gpt |1.1-8 +79 |Grass |*N/A* |- +80 |Groovy |groovy |2.4.21-10 +81 |Gzip |gzip |1.12-1.1ubuntu1 +82 |Haskell |ghc |9.4.7-5build1 +83 |Haxe |haxe |1:4.3.4-2 +84 |Icon |icont, iconx |9.5.24a-1 +85 |INTERCAL |intercal |30:0.30-6 +86 |Jasmin |jasmin-sable |2.5.0-2 +87 |Java |openjdk-11-jdk |11.0.25\~5ea-1ubuntu1 +88 |JavaScript |nodejs |20.16.0+dfsg-1ubuntu1 +89 |Jq |jq |1.7.1-3build1 +90 |JSFuck |nodejs |20.16.0+dfsg-1ubuntu1 +91 |Kotlin |kotlin |1.3.31+ds1-1ubuntu1 +92 |ksh |ksh |20240113-1.0.8-1.2 +93 |Lazy K |*N/A* |- +94 |Lisaac |lisaac |1:0.39\~rc1-3.1 +95 |LiveScript |livescript |1.6.1+dfsg-3 +96 |LLVM asm |llvm |1:19.0-60\~exp1 +97 |LOLCODE |*N/A* |- +98 |Lua |lua5.3 |5.3.6-2build2 +99 |M4 |m4 |1.4.19-4build1 +100 |Makefile |make |4.3-4.1build2 +101 |MiniZinc |minizinc |2.8.5+dfsg1-2 +102 |Modula-2 |gm2 |4:14.1.0-2ubuntu1 +103 |MSIL |mono-devel |6.12.0.199+dfsg-1 104 |Mustache |ruby-mustache |1.1.1-2 -105 |NASM |nasm |2.16.01-1build1 -106 |Neko |neko |2.3.0-2build2 +105 |NASM |nasm |2.16.03-1 +106 |Neko |neko |2.4.0-1 107 |Nickle |nickle |2.97build2 108 |Nim |nim |1.6.14-1ubuntu2 -109 |Objective-C |gobjc |4:13.2.0-7ubuntu1 -110 |OCaml |ocaml |4.14.1-1ubuntu1 -111 |Octave |octave |8.4.0-1build5 +109 |Objective-C |gobjc |4:14.1.0-2ubuntu1 +110 |OCaml |ocaml |5.2.0-3 +111 |Octave |octave |9.2.0-3 112 |Ook! |*N/A* |- -113 |PARI/GP |pari-gp |2.15.4-2.1build1 -114 |Parser 3 |parser3-cgi |3.4.6-4 -115 |Pascal |fp-compiler |3.2.2+dfsg-32 -116 |Perl 5 |perl |5.38.2-3.2build2 +113 |PARI/GP |pari-gp |2.15.5-1 +114 |Parser 3 |parser3-cgi |3.4.6-5 +115 |Pascal |fp-compiler |3.2.2+dfsg-34 +116 |Perl 5 |perl |5.38.2-5 117 |Perl 6 |rakudo |2022.12-1 118 |PHP |php-cli |2:8.3+93ubuntu2 119 |Piet |*N/A* |- -120 |Pike |pike8.0 |8.0.1738-1.3ubuntu1 -121 |PostScript |ghostscript |10.02.1\~dfsg1-0ubuntu7 +120 |Pike |pike8.0 |8.0.1738-1.4 +121 |PostScript |ghostscript |10.03.1\~dfsg1-0ubuntu2 122 |Prolog |swi-prolog |9.0.4+dfsg-3.1ubuntu4 123 |Promela (Spin) |spin |6.5.2+dfsg-1 -124 |Python |python3 |3.12.3-0ubuntu1 -125 |R |r-base |4.3.3-2build2 +124 |Python |python3 |3.12.6-0ubuntu1 +125 |R |r-base |4.4.1-1 126 |Ratfor |ratfor |1.05-2 127 |rc |rc |1.7.4+97.gceb59bb-5build2 128 |REXX |regina-rexx |3.9.5+dfsg1-0.1 @@ -550,6 +550,14 @@ Removed: PPT (Punched tape) Added: Pike +## for Ubuntu 24.10 + +128 languages + +Removed: Dafny, Maxima + +Added: Execline, Squirrel + ## License The MIT License applies to all resources @@ -563,7 +571,7 @@ See `vendor/README` in detail. The MIT License (MIT) -Copyright (c) 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Yusuke Endoh (@mametter), @hirekoke +Copyright (c) 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Yusuke Endoh (@mametter), @hirekoke Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/SHA256SUMS b/SHA256SUMS index 6e2f3d2..500e089 100644 --- a/SHA256SUMS +++ b/SHA256SUMS @@ -1,128 +1,128 @@ -0cd25ad3260eb1bb7bbfc0cc93c5d8daf075849c80c8caca175b0e66e7212e1f *QR.rb -6ce6465f857626b9ae338289ab54c4ac9c416090a4696e30c1dc42dbff46f1a5 *QR.rs -6af7641894e70cc6dcbfcf5090fa28036e855012f1fa1a04ff9f290b7f0e24d1 *QR.scala -d9483e0771407e5f7119b884224c7600c64a4ce3a7fd726b848eb91f74feafc2 *QR.scm -8e19d0969ef61b2ccb2efa3b1d4880ada892e3d8f8dce2d5c2b6f6d17d808e24 *QR.sci -a389dd4e7a2dfba5bd5ef6014edda87fe009da945e83b43fb0f3ab1b73cdd289 *QR.sed -b3a6088bbecddd0aee3cc22a4628d49fc51c751cad71f3b73e5fbe2b621e0309 *QR.spl -847ebd68056f202ca00a8fd459c751719381c1fc28b48d56ab803cd2821adfd3 *QR.sl -867af976a9dd5a534c25597416d18036a628c9e44e99c0660fcbfc1eaccd24d4 *QR.sml -202fdf09a3a9f16e42eb765032b39f9c63dc114c97faa65a699ae990b5eb8a3e *QR.sq -fc8876b7f9464498584a6a56ac3fc9952994b93d43e9185ef494a91872f0d50d *QR.ss -9573d0c5143ad199d8f9479342b2ca2fb82b485c3bf74769a0091cb1217f3345 *QR.tcl -1e3ce450be0c80bf6d498de61150e4994d4c18d2211ed249d72f999385841574 *QR.tcsh -0d3af231596bb6e7f0a0912baed9676abb5d9a5697f4ab8db0eff79ca9e16f26 *QR.t -7386b2d010093af84ebbca24b1ee63b1219742bcec0cde85d4a6a910986b44bf *QR.ts -c755b0501219f14cb7558f701c62cc3e1f0c59f3f319b79ed3eae83f61cdf571 *QR.unl -f416d919fe3836676375182381b3424b84137ccf72a4138d8ef35abccdff0cf9 *QR.vala -5ec5ade3bfaa382e230f899b34f5faa8ed0ca442931f8bfdf5738e5370efa272 *QR.mid -f5d6ca6b5b738b76b5dac6183af7cff78fb7ac568ecc937a7820cf3b0dee438f *QR.v -789b7ff5fd30563fbaeb28af804ae2fe48ef82dddaea617e1f6c28535ae3d19d *QR.vim -3025d74ce817a4f9a1a1393ac3844b5141c7c52a81fb2fb2c5571ce9bfb21e5b *QR.vb -88bf6c5ebdfb71751ec4f04744dce54eca91c1ddd17aca2ba9dd8fa5862cda82 *QR.wasm -7c01e9d39a331e22838e84d31b183c7429a7ee36cb275020f42c9051f5d73d82 *QR.wat -df7df013809f41b6791aebbb7557c9f6b588febb62d516506a9586c6a62b90cb *QR.ws -15cf97780feff678592c038dfccb09655a80a0dc2ba3fb4678ed269d1d39c25f *QR.xslt -7956d07444de08ca15b96586dced86b102ac1b1d0329bcbf9bb28acd9f431077 *QR.yab -1cc52caf84a1b2247b9b063045390d63f888f0c54f7ce0de9f88e5c9eaed965d *QR.yorick -c888ab53d4ca06c7662d17e3780f9bfa91af9d0755b8c4b3e49bc5bf22f85271 *QR.azm -d379c974a7076e6ae0033576adf049b46eaecf05ea1a2fc6a814d26c8cefe41c *QR.zsh -da354fdf8448c590f76bbaaa117d4a176f5d249473a369e2f4385c5e117ef5ae *QR.+ -bc029bc0116d62c7e1626a45f74b4ef400b3929dc511c372944e680d5c1dd03e *qr.adb -498b7403dce83353c2b70a1c598639d61da4c9eff87c8c2bc80bb673a46f6593 *QR.als -4ba88edf71a73bd08242647ecb9d2b6ea4b2f51d86757ca3902cc8949f6a4654 *QR.aheui -7463e80fe837bb512db0a51ae8dc0a24c5e0c35b5e1d0b14ca019c64e8084a83 *QR.a68 -a5fa6ffa3ec251d327a278e75948d36181b50fc48f77613168eb7f90513e8c20 *QR.ante -a791e88b20639dffde764189378ebc1af582f53582a0778cc08d6364f1bd7671 *QR.aj -7438dc9584bcc2047fac9dc458550ecc3d1d0c024257ba59d402bdfabc402344 *QR.asy -c98aea8138610cd607e5f6221ee8b66419b39001c95a971047f88f9e38f1a2ac *QR.dats -9273761a3846284d6bf1c57db9baedfb091f2c27359297660976672e174fc5cf *QR.awk -805ef984161d63c6d84fb48ab2f5ac783bc09dc9c003a1be37c54ae2d73555c2 *QR.bash -2135602cb6bcd7ac124f7cfa895c3fd5854fda03e0b29c0807312ee73c7d0db8 *QR.bc -2f60fe165bbac0fd5e28568d674e6da4716bc5e834acce3c503be74c1959589e *QR.bsh -4bf50595534d4f78304ec31d53862623b723858e01fe46889f66e84db687fad9 *QR.bef -8e0f293b9e962de772f59a34aaf4aa23aef67f34e5bf24294a13593cca54aa49 *QR.Blc -336bfa48b6a1ee66efcb467e0832fb998a600fe51e8c36e0f00a4ec670a4ab2b *QR.bf -b62f80b1fa2e720ccb2ff8f736a5b67e9bca009be38c0abd5cebbb262d234684 *QR.c -73147d7f4b534162064749bb22b55dbd896a230f6fef5ae40998857235596af4 *QR.cpp -69b0b8c534e5680ccbfed0c6ce46dec9f980859bfa74453da1515d2fa73e38f7 *QR.cs -41983c9b46ce7a891541a3e009e29769905346319bb9f44e094cd2ca042a9289 *QR.chef -9b4232b6a0d78474d3d2c76376ad03df574f832afc736a16dd5ac639d461500b *QR.clj -3c48337d376e7d4d5308753ad21a9576ace1200ffb0ade46839c7d1faaed3c6f *QR.cmake -2c3d9c91a168a01098502293c5f64cc4dbe113caeed0633b63d585e406a579d5 *QR.cob -ada9272f2555802fbf23a5ba5080d4bfc44c5fdd4e5e39abd72594c2f7e9748b *QR.coffee -d9e2dd475d73dd84fb0cd86053cefca326ac5b9130f8dd3290a239d5c28809f1 *QR.lisp -8dad0d0de95f0251473dc26ae46c7e4200ab1a0128a2c77a613d6380876e3a4c *QR.cr -31369ec0f1223bda2ba7114c8e499119b52dd32ec6421db9b34afb55f676a369 *QR.d -6505f7bdbc4dff9c0a8214dd653345bc76236b85bb4dd3312cabcbe5490cdcdf *QR.dfy -e4bbbf172e6ed04c5e163abbef24d7a1a7356e44a4c06d23a7b9076d20a6a48d *QR.dc -ecae98fc4dd439f1369977ba005f3257ccf90461090be45a0fcde4bead561065 *QR.dhall -47e3d43ff9e7d89f49d1458a4cef43a2ac8aeca91dd0b1ad9d4cf76b760084e6 *QR.exs -21874d23b4da5496614a1508fba5db7d6ce8d8d174bcd7cea52c87e87db88e1c *QR.el -9703338e0848d7a5bf24b112d7a75550f501c370c419fc79d4700a62f5ce9797 *QR.erl -c05b605a1bab6bd767b68a3b26b8731f651bd8e6c3d002a208fc252a4d147ae5 *QR.fsx -791b23c4b25d0a40dec88ef126da74b492f9a9a0efb21201a54e4a13e3da597e *QR.false -5cb70e2e9c946593bdfff1e58f5fc45e1f37defede81bcfa72941f1293e81fce *QR.fl -447fea9738eecf48638efd2256e70eb587662ce5aab14f480880e30cb3f953b5 *QR.fish -cf5b655ddf52d5f45c84c6eb06e80b9aaac530c47d5a4a06181494b4245bcf0b *QR.fs -19ba33541e5496b36b200b6ce59e0d010f21e43598d7ca7455fcaca301b4f446 *QR.f -fb36ef308b57bffec3ef6f3eb1b75922063daa4462057b17b56d3503cc7b4eaf *QR.f90 -0a7e548d783e78ae477eef0b1655725eb7ec2c8d6c1d1c47e071626aa91ffd48 *QR.gbs -8f1bdc431402c8d0c1d7e924bf3d88c1661db1083054fbde200bd1139e86c7a5 *QR.g -f29f651da6d8c7d05134ca9bb5e0c10e800f7f3d72c45bb376537cd182bd8dba *QR.gdb -6af49cf6d9ea9a24a499b5df65877005ac5925d1966ba5c6be9831495203573a *QR.gel -29adcdf8ee11b0059d910e3ba295ea5a1d5ac7a1dff0ed394fba2fc4bb989f8a *QR.plt -71c9734ca2a42729c454b9040b83832559caf49b1ed20ac5c6619be373f94d53 *QR.go -d758c5520984d35c423e98b70574d8c56e860a2fc58842646463b6d5f41dcaf2 *QR.gs -02df27da3c1a99ca784b20e1dfcd9b40adc62d105100c29f8792f89a718b9b5b *QR.gpt -0e11fa48e69f0b7ffbd19b55379eeb1445d52c2394fefd3a95bc45f391d61b90 *QR.grass -8e0213aa4ea423d9da52b9520c3679e9f024d4e71eace3a92184c0b16c04f3f8 *QR.groovy -b159dfa35294d882745ab80fda4e3e9aa320f3e5d98b1b1eea218e76281d6096 *QR.gz -1ad71b4fa7b7198f06d669cf566f3b01b5a62f48bfb40c256c4ec12021218b27 *QR.hs -eb8076db17728446851e364c44dd304c41c2606782f9db6a9e69aa716a9505fa *QR.hx -3a2d22f00b26f83aaa9b818b25a8238fba01e8b015906fd546b68dd4d21f0fc7 *QR.icn -12720eb0161bf1539f18830fef018c5b40cafc3959d7786983b5399e38d559fe *QR.i -b2b6de4f3685beef941cf67aa7376c11be28ed53f06155f965f9851a82156d8d *QR.j -ab798c8739203bff7169da5ce230c69c4dd04f4f61eb540655f0d992c64ccce4 *QR.java -41bd1d6c7537ec3441366f531caa681039a136798a3ba84cb1c16d2452c9802b *QR.js -728b064da5a17dfaf9ec6bf875de8ed0a729134cc68d1c577195d230ca98cdc6 *QR.jq -688ab7d8d3110b208f2f029ff8a7ebe991dbd275446bd6c1cda42d702b22dd2b *QR.jsfuck -6bc172210419acca604b2e1e95478dac9d0f0166eeccda8b053d75692375caf2 *QR.kt -c05dcd4ef9a9b9778f543403c6f3688ee127f711d5628a02e3969bf60a82a5e7 *QR.ksh -e045638cc9a3ed1b894c403597d2db8a911d636d16245f36f888d82454457624 *QR.lazy -15f8056b553b87b2c4941b908f97238bd687421c8f1d646e5f58ccb2b0f55ece *qr.li -13e5802f71372fae8c7266ab38a80b88d72a75f9a77fdb4d94ecd3ad83c74801 *QR.ls -f302ce043d5f252bb56de9e4f695f25c73c7cbd30016119110ecb326326ce9c4 *QR.ll -0aa4d759b9381db52e20b7b43173e89616e5f3c34f1fb065554819d551770935 *QR.lol -583a87d2666f7fc21d012f4e9ba40c5459fc944bc7f1488cfbf5aae1aa3f5fec *QR.lua -0726c79455854c509173feb7852728bbd6e0c325934d3447ab5640e2e9a5268e *QR.m4 -481396c8409de3006a6463643d6b1310b9529ed76a2a078aa2712485c8169157 *QR.mk -787840acaa296fa6c1069544769386401890090e2a1d1a2681c4497106534a3d *QR.mac -d9a18b07af8bc5caf1cf40bf97743f14939161d19efd55a72f12e12c180d14e4 *QR.mzn -bbbb478502f6eec1240a6bda2c02b40c866590a61fd734bb0ad27465f09177c1 *QR.mod -eb25b4caaf9195ce24542c8704807098e900052d9d3c0f840fbeb190e9087769 *QR.il -3c1a64d506574cab7752d1948eab31078e4285a727ecc0f7d05c44700dd620d7 *QR.mustache -973aafe74e9c4acab90c07bb0b11fc148337edf8003c087155f2bd1022dadb28 *QR.asm -0bc8ca6aba3a8e5b5d84dd19e276f0bf5da5251d857d04b8a57338464c79653f *QR.neko -974006f78839ab26fd6444d67f144c8cc89d2025e589529934421e8909be38bb *QR.5c -d060400e7b81fd213ee323000e17a751921bd31b0b6adcdf78785995c5d8a3d5 *QR.nim -5cea1884d0240ead265c774ee91eb77269f78aede1f5e41f00bfa1f57cb2c8ef *QR.m -6605bfdaac41aeadab0bf05daab01c91a3b4838264a090715e67c694f8325eef *QR.ml -9cec86d050a2946ee95885e67993e338e7cd85ced8ff6b76236c847b333aa8af *QR.octave -d1d59bcd08126f0efc13c1720f14b28b706137eb306bf51786efe12caf0fb084 *QR.ook -b61653326d06ee5cf196d6671ea8bfcffb0ce4c6a92a537e0eda85a0b50e6d95 *QR.gp -72b3b562487018d7c1870d6601cd24d8632be998bd0e3a01691811456edc9bc9 *QR.p -e1d6b6987a8ba2240647b07d40209cbfc789c5ea28d9a5a8c8071bd7eabd9db6 *QR.pas -bffe2e64a5ac0e1f0c571a8fd04c8c229840af011bc5c22f8afcf74ceec3be79 *QR.pl -441cd8a079f8e0789b9d639dc4fa70719157ae172717f6f5ee8036dec20bf62c *QR.pl6 -fb13673ab4882a194c1b7274fa6651bcfbe3dcf1e2270bc9efa49930eeef0b91 *QR.php -da17bf9673ae134983427c8ce6d857e483628e24926aefcd0dba5fc6f02c6263 *QR.png -3299e0daa93b8960f00aa11d2ade6713fb9da280bfe0d035045d39ed4f399115 *QR.pike -ba6d18b54f72d727f351c92cf675a73b4cb5e6fe4a423bbeada82bf5f332390e *QR.ps -31ff681b26800f0d4f2a32ec5c0f95461652585b17a75a02683f2e5c30a7dd9c *QR.prolog -c462647d1cbc370a60a1b322d3c01622b81b390c05e65191b0b7b733f4f7fc74 *QR.pr -9854875124f186862978c875a9111fded5606f1ee3b598aa5abf5fe831960c38 *QR.py -319fed1fa58bece8aff4d266998b1694d48fd528f948ffea005ed12df7d97c2a *QR.R -8c55bfd5999fc609c6ff3253e1a17eb689f2dab7c12a3969dcc1f150607ce0bb *QR.ratfor -89a1191d8c94308537cc61d35d4c2dc150da2dde73bbd4c299f4ae363e9863ab *QR.rc -a3462813823d34a2f38dcfded8b132e2df5297a0daefd5cdb6cdff5fc920085e *QR.rexx +2ed68f2d9319fe3caad724ce5e8130bbbb825b54f1e287cb0407e254f214d39a *QR.rb +519564e959dfc2a38104724ebdf744165dc389d2ed53579ba996049c066e20b3 *QR.rs +94f3b3eaf275dcf08f4b5c610906d3f37ff8309cfc17e0f2cae2a7e53ecf7780 *QR.scala +3126187ec97cc96017ea1ab6eb7f2431c185c5248eee3370513c5959c3f33701 *QR.scm +4d0e5e06a60044d87bd5857506407da9d7b83d3738c81c823181585c114c7810 *QR.sci +05e07ad3d568ed685adee74f8d5e2d330c0847b96fdbe030c779e791eede53c7 *QR.sed +0fce43ac58631bac0fde5a46a75e8fa2804e08b6882c5366c631ac7bbcf127df *QR.spl +c6142883a366692a4688ba3ef129cb2f9cdc9edbdf89fb1edf9a49e271a74fcb *QR.sl +058337e5f4685604c03ea8487e8d274f3fad7c7fb108f27ecdb01a04ac219b9b *QR.nut +9be9a1191562fc0dfceddaaf5d1a1c32e2c25cc31e23ecc8bf91456ddb213fb2 *QR.sml +c8cffeec2fbc0890413347adac32e58f85fc8f48fe0132e78bccda2607a0a327 *QR.sq +4a29b6296632faabb99c4715bfb3fffe8c956811fb361d3b5402eee8cc48646f *QR.ss +39c0e31bdb10c88361750bd5f5187d55f4a7776f4c4bffbeefd2a822069f9fac *QR.tcl +9e35c4d85dd8dfa61882313ba363e1f6f378fcc9739f6314677445571a9fb5ea *QR.tcsh +829175e602426a8b0036e56950db0d6cb884f5ca027ffb125d2e5994f6ca94e7 *QR.t +cc8afe0b8dd4959ba4c2e5ebb3b58f3fdd03f3fd56f8fa580ce6434f95cedb60 *QR.ts +c27f476d9e040f5ce6926ffba97fa8eda9819ea65e6631df6ec30821cd975343 *QR.unl +51e6c5bd85dfe45af78d5fcea7a9a9841321517c5c159ebd29608c26062d931c *QR.vala +c6c79e88647cb99477d875bf728a3fdd809f86c1ddba0ae01ad34da10be742a3 *QR.mid +ca36a78f456007b51bef2ff583f310c646f44595ff13cb059e2891dbefe0eea7 *QR.v +9162117b8710bd2e786c4069395111c39093424a4e9fc5dc0f47cfb1e3f5342f *QR.vim +87822be612a19d3f2feaaa83f78dc8125b8f4328f449950d6a84420cc4aedf20 *QR.vb +8f2bb146beaedd4115c20f47fc845c6e03101d848e5c47063f39137e400de2f6 *QR.wasm +9f4c0744281a49b679ee0621c06a4be8b15b168e7c619bd3f6af17af55e61451 *QR.wat +bc0ccf95507e7a22bab3501c5d37c3543c2b7ba373771d36729a85a555b46cc6 *QR.ws +e80deb350785985a560eda7b9c1a9769506e2e3c4d1d2bc10f57bab6ac1705d0 *QR.xslt +68e9f04f4b5d1c9d646cf082d906977718b86ccef9d575d863ebd7a700cac19e *QR.yab +c803d1e4171eb65a8f794b3700abac2de11da2fc693bb1551d983ad29f95d260 *QR.yorick +815923a3cab0e74c998c404ecea01ae21366442585bed769767463012f777583 *QR.azm +c397516e6be141ef41bc0d9e942ed96001e312e2047b66f7ae559d297db59d52 *QR.zsh +f03d910e9900983006c6aa303a14c239a9353fafc9096d1f5c5b10d449254ae1 *QR.+ +0488ef95222d697b49a939210652096d5d154fa08a97d7a66dfbbcd110d55aed *qr.adb +2a3e5fe2f28b8288a92388a8dcd18a12742d24ec40e1b475a00c4fb5c0d4cb50 *QR.als +258acaf3a9bce348136d2518094c99f7e9c9ef38693c14ea64d3cdc03739768e *QR.aheui +358c4506bedc6c5d90b6c7675b24382a39ce42466c76b12fd6bd7f990d72bcff *QR.a68 +8cd902eacadddc90cbdd522955c99642a2f5391339b9e5fb398cc875d329b3cb *QR.ante +f312d7e2eb494b135e67fd56f867ad925f432d38f1713d4cb355f4a2e6afee8c *QR.aj +7798b246ff887e55516d834393254b56258ad7c78007ef5cf3944908b0423e43 *QR.asy +804d64bd2110b020012d500c1ac7a91c0c4009611a901734ba483aee1cb29261 *QR.dats +c112a98d69f5456297d0d8e86ee2b918a3ea272e1eeae55f7b10e31aaef0b2ff *QR.awk +cda91175825418d37145d4d69950b777f1f4a4c4c3d76ec379ebc69b94d4a318 *QR.bash +09a4478cd3f8c0050350b2f9230ebbe14563aabeb1b55907074851afbc3e4664 *QR.bc +afede07b06b37048d93e005b13eb5bf0dca9508e5c6bc08743aedab4a3393b36 *QR.bsh +8368747257d317300bb64e3f0e283782cda414545e6a36b6356eca5cea1ea2ad *QR.bef +f1956707638570aa984a137be2d5e09121a7f73568338e697c040b0bef09f7a1 *QR.Blc +d1587bf97bd127f906d4ce788b274db633d13f610cffce284473b0527781954d *QR.bf +7ce80571626dcf6723d6ea1efa0edf5c92a9a9cb2fd0c9aea6263994a77a3a09 *QR.c +dce7072694e611bf5e84fc58bac86df6651b84545bac37cdb2720b0738874659 *QR.cpp +808a3a626df447c2c13f16268c7dc002d8e0d9948395dd81f82073c68468c776 *QR.cs +4027cdf1dbb91e78d3bc49c3ab2ea0cfc80b80542193cf32ba9b88ecef998738 *QR.chef +413fb4a0c5c3bea8b98dd4832b4bd50af780256031faa5ef9e1419e227a9f8b3 *QR.clj +ab95d7d72bccc93d8cf399679baf6c73a24c83f30d4bd5909ec20dd240fcff40 *QR.cmake +5f2f9fe43ffc9bf8c39d5ed959072b49fa5d5908b4ad7b79800f48146decf9f4 *QR.cob +f1eb1c905cdeb267ee2f24fbe2ae087d4150a0f52835cdec277d08ead06e7756 *QR.coffee +555142aac4ed4fcf745c9178e02e807447100552dc7286b3bfe926a5c6dfbdbb *QR.lisp +a3f914f843c84b5aba60b5b55efdcc6fb68d76a0828619ef87b19124135c3fd4 *QR.cr +17530a2b4a3a578d97de8097fbbd1904cbbb9ef014939cd88e3fbdad5e95e016 *QR.d +c723484ccf500ea2b3e464629883367d847c0492a613b2761a83472148af4a40 *QR.dc +c924dfb314b8b124d1aadef6efe4d75c5b457a591e5ab66ee4fd283d79452e4c *QR.dhall +4f9aada1b747a2fa6a29bde22933c30371f78fd331c54d1026b67338f9b00735 *QR.exs +39b4e5d29db926c8e59cfa971d5cbe8213e41c30a7d4b303c1138fa0238a651e *QR.el +8419ffccc526b2d71e5e47bb2a04ecfb21c2017604904933f5abaeb377792ce3 *QR.erl +461ffd9b27c66faaa69e1d540fec69bf87248043eeaad1b363ae5a9ec93fefa9 *QR.e +f6f606e3c18388ab51dde55dc3bb41abd4d3a488e898ad77a6d7edc8a81f2333 *QR.fsx +b39659971f3d9e20760cb8ef92477693e40c805534b7f4cd60905e4ad81f2ad9 *QR.false +61d485e85321baf0f5681837df6bcf57491a8edcc3f785cbb86a0bd84e6ffac3 *QR.fl +9c50f80dd3bbc52c06d98a48d56f96cba526cc7c143eb1fdb24cc35c355625ee *QR.fish +f2652039728c1fc66d9b1b88cfc22132264926d8336cfde655c4f14e93f178f4 *QR.fs +1c1c728246bc4e9c772a5f9d92e743ac95db3d183be35f505bd6599343aaefb1 *QR.f +dc6a7cf379116b7b2c11f2aa4ee0ab9c97eced74d3652da441d14595b9e26a69 *QR.f90 +1c1fd393ce3aa283eb30cdbddc9e456f558e493ddf9909cd41e99f75f0fe95fb *QR.gbs +539eb8366e14b9e5596a1cca61804d26a6a62f15d132f4742012fe82babbe07b *QR.g +19a7d9631926f76ea0252144dc174bde54078345166dab166396708b6240a6cc *QR.gdb +387dcc80c91f1f0079e215be076e898ee8065f0a0d69ddbeb5661d38b2cd3cb5 *QR.gel +ef32b6a6e20a4dcb6b69945cae0cf15f110f312cf40d40181d6dd664ec3aebbd *QR.plt +eb4a79adbd3b6865d97b62bf69ecd76022d159cae89a40ad6952590e11a64ce6 *QR.go +8b01ac1f6dbd275a6d521e50ae31f1d82ef6549d5149d8e8879965c394cdba8e *QR.gs +c9e07c85200f18c6411b275c70adbe8eab70fc5b34e1cffa109d982e50acffd4 *QR.gpt +98f0426cda0dc9b28d002a7e2caad0e0557cd9545725273d271b6b65cf608a1c *QR.grass +94f6537981e87bd6ccf801bcd90fc92237a39e59f98ee7b2a3d770dcc5b32bb7 *QR.groovy +d34ffde6e5667d9fda307d79cba1ccd6f0e3c1daac7e0305aff4d9dc9751bbf5 *QR.gz +cdcff0f61cb9f51cd2fa60a8d58bba0ea0682497403dbae4bed92010c330e6d6 *QR.hs +edea1f903f2246dcc183224bc99b983353ab9c12e19f3c4b1149ea48e1cc85b6 *QR.hx +576f2d592b16cf9245c2347d44c6ce051a0c8026f0406127e315ff568a371a8e *QR.icn +43b818fbc19ff21d5546b3c746cd57510342e1e33ca53d8af0727c056ac081ff *QR.i +b1c40dea38955fde4d3bd0455d2ef7cb1a4a7628fc96b0027db1f45375439e85 *QR.j +3e6ad29f07b8d81de1c606b85a2964a8975cb058bf0bced8da70a52e23197dcf *QR.java +6bc18b4b2cae7aaebd9911c542478108b7baefb42d15a23db690c1d3cda7d2c4 *QR.js +f7a8c5820f9b31ec6e313302235f4903e798e2a9168c7389a673ce021ba0aa0d *QR.jq +a7620f946b36440cb3fba6aeab2d619a78091541f1b7b6f617d89e5a5f8fc052 *QR.jsfuck +205fd8d80370d9baf312d51c089432e227b006cd6a32844cf0880320790761ee *QR.kt +9c9eccad18dcf3fa88ed3af6704a65cbdf4feedc4dd7f5179aa7ceb510d0a7b1 *QR.ksh +8a1cebe9f5f0d9ecbb08930d152de565775a704f52ad85dd94841e609fdaa24c *QR.lazy +5f9e1e213070b9a8d69378de64bd0c2350011bca729ca0d4e374a4d03d354508 *qr.li +def8a65acf4cf4870ce0ebb72fdbb9f50a77989005c192a9ee872b89e3528d66 *QR.ls +11cc40467832d62741e4d560c44a38b0698a12145660b5b6c60331dd7b5452af *QR.ll +75cd14eee09667ed64050d36321beee5d730b37b20418b0be147ad9c1b3287c0 *QR.lol +523faf97d77cc7c3765504e95ca355e279128634f9feb1aa897a3ab76c322c15 *QR.lua +bcd5d7839be8a2050c2f60360d99164d5bd82151cb1f75884736542a82da9a36 *QR.m4 +1a00b00bec278e2c0e3e501f27c5a9b58e3430349717e6bca68ddaf322e10641 *QR.mk +e91dd8ca5e90bf77b697dc97dcf5bbdd0f5386448533ae81d3cbe89b1d202782 *QR.mzn +fd7a447346275f3effbf1d7c715b3c6ae5d155d7b359401dff6d0e81ac2554b4 *QR.mod +337d9cbd642fdfd17e0aa37189310c338177a972b47586346a613cac8a22865a *QR.il +52f27e28cf0d3564397098e6751bd61a2fea3c9467dee076068fec6eacbee27f *QR.mustache +99bac67ed1acd2342b3833198187126af0598f22cd6bec0e174b8bea70d3700d *QR.asm +76172f798d41df453a7d90107364b6a082eca5bd782a0ced635f2c2949549124 *QR.neko +7847fdf95de6f67c4e40b47473fb81b17f21cb49e22380b623ffaa6ea1ae3e32 *QR.5c +df5eb8033d6e4d4208e00a638497a697a367c58d31fb5b4b6c18d1ccb050b4db *QR.nim +441e00880dd5013b4785b7a6add5b69353f5c4f257616ab866f72f6a7feade1d *QR.m +7a1f599a21b37a9cdd9f457029cf660efbb2670c751632aeebb54ef36b8fd0f2 *QR.ml +dc13771e7f5ef7ee38feeb480602c3c35398af09eef01c0033a5649974c1708b *QR.octave +1531bf3fbb1eadfbae21b8c7d217c5d71f893c4fba9095f942f6749aa81564d7 *QR.ook +68c697201e0d40015d845485930439d6611a72f63ff6fe4e7c99f98720d1f1b3 *QR.gp +9ed4737a55cd8bb23c4437e1be9e272a0d8f44343a629fb3bc50ea56bcd04f62 *QR.p +28ebbab2f56917f6dd8f1836cc50315b0e237e6a693d68a1249152b1c6d9c06a *QR.pas +881815cc8ac99e346fe52dfa2e8d29d99bf7e53c1527adad9f0c2e59bc179338 *QR.pl +3b9416bea50dbc88d58d17386a73e166335ea9f239a2a5b0368b1608510a00a3 *QR.pl6 +8fcb994017b63425f0e97f842379585cf0c962700c073bf030ebb4303a9bc43f *QR.php +00ec0c2dd1c7807bd91d48049cf660c67dca5e9055a68689ae098c62412c84fb *QR.png +b2f07a0d08fa0f85b97c363ee6a38f271860c953093e29146fe6edeb4e07c4c2 *QR.pike +181d6f849e2edd3324e9e010d1a14dfb344b7da6ad4f9b7b2329b95fbb53b68a *QR.ps +5118af4c809d0dc393ac8938f5a2d933fd7acc9ccd960534cf59656fa24c740d *QR.prolog +6497c658d645f63a423eeb157d710a304afb2990ed81583112fc07c37c23e4e3 *QR.pr +790c905f02a659ffa2f46ac4fa3eb6863b01f4fcf8f95912693ed369c8d40bad *QR.py +507d99209394c76d007fce4758d7ff8ff033589e232a66acf659fba5b86283ae *QR.R +9300fd699a79f6fdf96b96c835ac8874fd6ce81e7315101b394493040d313b6d *QR.ratfor +ec91acdf2de50735e14590e98a5a47dfd23db57756156a3262ac1b7c6a50eeee *QR.rc +bd3e5f2c65c933b8c3c10704cce3af91c445a96f12252ed6ae93edc6a23ff097 *QR.rexx diff --git a/langs.png b/langs.png index 68b6496..4e3d1d8 100644 Binary files a/langs.png and b/langs.png differ diff --git a/src/Dockerfile.gen.rb b/src/Dockerfile.gen.rb index 9bb29e2..909df02 100644 --- a/src/Dockerfile.gen.rb +++ b/src/Dockerfile.gen.rb @@ -8,7 +8,6 @@ dockerfile = [] dockerfile << "FROM ubuntu:#{ `bash -c 'source /etc/os-release && echo $VERSION_ID'`.chomp }" dockerfile << "ENV DEBIAN_FRONTEND noninteractive" -dockerfile << "RUN rm /etc/dpkg/dpkg.cfg.d/excludes" # maxima requires /usr/share/doc/maxima/... dockerfile << "RUN apt-get update && apt-get upgrade -y" dockerfile << "RUN apt-get -qq install -y apt-utils > /dev/null" dockerfile << "RUN apt-get -qq install -y moreutils" diff --git a/src/README.md.gen.rb b/src/README.md.gen.rb index 0cb8d20..b498898 100644 --- a/src/README.md.gen.rb +++ b/src/README.md.gen.rb @@ -336,6 +336,14 @@ Added: Pike +## for Ubuntu 24.10 + +128 languages + +Removed: Dafny, Maxima + +Added: Execline, Squirrel + ## License The MIT License applies to all resources @@ -349,7 +357,7 @@ The MIT License (MIT) -Copyright (c) 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Yusuke Endoh (@mametter), @hirekoke +Copyright (c) 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Yusuke Endoh (@mametter), @hirekoke Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/src/code-gen-pool.rb b/src/code-gen-pool.rb index b4a505b..d0bc585 100644 --- a/src/code-gen-pool.rb +++ b/src/code-gen-pool.rb @@ -29,14 +29,6 @@ # Code = %q(%((for i, c in#{E[PREV]}:echo ",",int(c),"CO");echo "Q")) #end -class Execline < CodeGen - After = Erlang - File = "QR.e" - Cmd = "execlineb QR.e > OUTFILE" - Apt = "execline" - Code = %q(%(echo "#{e[PREV]}")) -end - CodeGen::List.slice!(original_list_size..-1).each do |s| i = CodeGen::List.find_index(s::After) CodeGen::List.insert(i, s) diff --git a/src/code-gen.rb b/src/code-gen.rb index d177cdc..05b0f46 100644 --- a/src/code-gen.rb +++ b/src/code-gen.rb @@ -356,22 +356,11 @@ def code class MiniZinc < CodeGen File = "QR.mzn" - Cmd = "minizinc --solver Gecode --soln-sep '' QR.mzn > OUTFILE" + Cmd = "minizinc --solver COIN-BC --soln-sep '' QR.mzn > OUTFILE" Apt = "minizinc" Code = %q("solve satisfy;output [#{E[PREV]}];") end -class Maxima < CodeGen - File = "QR.mac" - Cmd = "maxima -q --init-mac=QR.mac > OUTFILE" - Apt = "maxima" - Backup = [[ - %(if [ "$(CI)" = "true" ]; then mv /tmp /tmp.bak && ln -s /dev/shm /tmp; fi), - %(if [ "$(CI)" = "true" ]; then rm /tmp && mv /tmp.bak /tmp; fi), - ]] - Code = %q("linel:99999;print#{E[PREV]};quit();") -end - class Makefile < CodeGen File = "QR.mk" Cmd = "make -f QR.mk > OUTFILE" @@ -445,7 +434,7 @@ class Ksh_LazyK_Lisaac < CodeGen Cmd = [ "ksh QR.ksh > OUTFILE", "lazyk QR.lazy > OUTFILE", - "lisaac qr.li && ./qr > OUTFILE", + "lisaac -gcc -Wno-implicit-function-declaration qr.li && ./qr > OUTFILE", ] Apt = ["ksh", nil, "lisaac"] Backup = [nil, nil, "QR.c"] @@ -639,7 +628,7 @@ class Haxe < CodeGen class Haskell < CodeGen File = "QR.hs" - Cmd = "ghc QR.hs && ./QR > OUTFILE" + Cmd = "rm -f QR.o && ghc QR.hs && ./QR > OUTFILE" Apt = "ghc" Code = %q("main=putStr"+E[PREV]) end @@ -830,12 +819,12 @@ class FSharp < CodeGen Code = %q('printfn("""'+d[PREV,?%]+' """)') end -#class Execline < CodeGen -# File = "QR.e" -# Cmd = "execlineb QR.e > OUTFILE" -# Apt = "execline" -# Code = %q(%(echo "#{e[PREV]}")) -#end +class Execline < CodeGen + File = "QR.e" + Cmd = "execlineb QR.e > OUTFILE" + Apt = "execline" + Code = %q(%(echo "#{e[PREV]}")) +end class Erlang < CodeGen File = "QR.erl" @@ -886,13 +875,6 @@ class Dc_Dhall < CodeGen Code = %q("['']p[#{PREV}]p['']pq") end -class Dafny < CodeGen - File = "QR.dfy" - Cmd = "dafny QR.dfy && mono QR.exe > OUTFILE" - Apt = "dafny" - Code = %q(%(method Main(){print(@"#{d[PREV]}");})) -end - class D < CodeGen File = "QR.d" Cmd = "gdc -o QR QR.d && ./QR > OUTFILE" @@ -1498,6 +1480,13 @@ def code end end +class Squirrel < CodeGen + File = "QR.nut" + Cmd = "squirrel QR.nut > OUTFILE" + Apt = "squirrel3" + Code = %q("print"+E[PREV]) +end + class Scilab_Sed_Shakespeare_SLang < CodeGen Name = ["Scilab", "sed", "Shakespeare", "S-Lang"] File = ["QR.sci", "QR.sed", "QR.spl", "QR.sl"] diff --git a/thumbnail.png b/thumbnail.png index 88c6a37..e9c88e1 100644 Binary files a/thumbnail.png and b/thumbnail.png differ diff --git a/vendor/wasi-runtime.js b/vendor/wasi-runtime.js index 04a0978..14adc1f 100644 --- a/vendor/wasi-runtime.js +++ b/vendor/wasi-runtime.js @@ -2,7 +2,7 @@ const fs = require('fs'); const { WASI } = require('wasi'); -const wasi = new WASI(); +const wasi = new WASI({ version: "preview1" }); const importObject = { wasi_snapshot_preview1: wasi.wasiImport }; (async () => {