New language: Cat
This commit is contained in:
parent
a17c80ae8c
commit
55186a016f
|
@ -395,6 +395,17 @@ int main() {
|
||||||
`,
|
`,
|
||||||
skip: ["lsp"],
|
skip: ["lsp"],
|
||||||
},
|
},
|
||||||
|
cat: {
|
||||||
|
aliases: ["cat-language"],
|
||||||
|
name: "Cat",
|
||||||
|
repl: "NODE_PATH=/opt/cat node /opt/cat/repl.js",
|
||||||
|
input: "123 234 mul",
|
||||||
|
main: "main.cat",
|
||||||
|
run: "NODE_PATH=/opt/cat node /opt/cat/repl.js main.cat",
|
||||||
|
hello: "72,101,108,108,111,44,32,119,111,114,108,100,33,10",
|
||||||
|
template: `72 101 108 108 111 44 32 119 111 114 108 100 33 10
|
||||||
|
`,
|
||||||
|
},
|
||||||
ceylon: {
|
ceylon: {
|
||||||
name: "Ceylon",
|
name: "Ceylon",
|
||||||
main: "source/main.ceylon",
|
main: "source/main.ceylon",
|
||||||
|
|
|
@ -25,6 +25,12 @@ wget -nv https://www.ioccc.org/2012/tromp/tromp.c
|
||||||
clang tromp.c -Wno-everything -DInt=long -DX=8 -DA=500000 -o /usr/local/bin/tromp
|
clang tromp.c -Wno-everything -DInt=long -DX=8 -DA=500000 -o /usr/local/bin/tromp
|
||||||
rm tromp.c
|
rm tromp.c
|
||||||
|
|
||||||
|
# Cat
|
||||||
|
git clone https://github.com/cdiggins/cat-language.git /opt/cat
|
||||||
|
pushd /opt/cat >/dev/null
|
||||||
|
npm install
|
||||||
|
popd >/dev/null
|
||||||
|
|
||||||
# Erlang
|
# Erlang
|
||||||
git clone https://github.com/erlang-ls/erlang_ls.git
|
git clone https://github.com/erlang-ls/erlang_ls.git
|
||||||
pushd erlang_ls >/dev/null
|
pushd erlang_ls >/dev/null
|
||||||
|
|
|
@ -130,6 +130,29 @@ while True:
|
||||||
EOF
|
EOF
|
||||||
chmod +x /usr/local/bin/brainf-repl
|
chmod +x /usr/local/bin/brainf-repl
|
||||||
|
|
||||||
|
# Cat
|
||||||
|
tee /opt/cat/repl.js >/dev/null <<"EOF"
|
||||||
|
const fs = require("fs");
|
||||||
|
const repl = require("repl");
|
||||||
|
|
||||||
|
const args = process.argv.slice(2);
|
||||||
|
if (args.length > 1) {
|
||||||
|
console.error("usage: repl.js [FILE]");
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
const program = args.length === 1 ? fs.readFileSync(args[0], "utf-8") : null;
|
||||||
|
|
||||||
|
const cat = require("cat");
|
||||||
|
const ce = new cat.CatLanguage.CatEvaluator();
|
||||||
|
|
||||||
|
if (program !== null) {
|
||||||
|
ce.eval(program);
|
||||||
|
}
|
||||||
|
|
||||||
|
repl.start({prompt: "cat> ", eval: (cmd, context, filename, callback) => callback(null, ce.eval(cmd))});
|
||||||
|
EOF
|
||||||
|
|
||||||
# Haskell
|
# Haskell
|
||||||
mkdir -p /opt/haskell
|
mkdir -p /opt/haskell
|
||||||
tee /opt/haskell/hie.yaml >/dev/null <<"EOF"
|
tee /opt/haskell/hie.yaml >/dev/null <<"EOF"
|
||||||
|
|
Loading…
Reference in New Issue