From ddcc768d9d2e798814989037a286df9951840bcd Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Wed, 12 Aug 2020 01:01:30 -0400 Subject: WIP: New build-tool named Aedifex (can read project descriptions). --- compilers.md | 283 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100644 compilers.md (limited to 'compilers.md') diff --git a/compilers.md b/compilers.md new file mode 100644 index 000000000..56d6601ca --- /dev/null +++ b/compilers.md @@ -0,0 +1,283 @@ +# Clean all + +``` +cd ~/lux/lux-jvm/ && lein clean && \ +cd ~/lux/lux-js/ && lein clean && \ +cd ~/lux/lux-python/ && lein clean && \ +cd ~/lux/lux-lua/ && lein clean && \ +cd ~/lux/lux-ruby/ && lein clean && \ +cd ~/lux/lux-php/ && lein clean && \ +cd ~/lux/lux-cl/ && lein clean && \ +cd ~/lux/lux-scheme/ && lein clean && \ +cd ~/lux/lux-r/ && lein clean +``` + +--- + +# JVM compiler + +## Test + +``` +cd ~/lux/lux-jvm/ && lein lux auto test +cd ~/lux/lux-jvm/ && lein clean && lein lux auto test +``` + +## Build + +``` +cd ~/lux/lux-jvm/ && lein lux auto build +cd ~/lux/lux-jvm/ && lein clean && lein lux auto build +``` + +## REPL + +``` +cd ~/lux/lux-jvm/ && java -jar target/program.jar repl --source ~/lux/stdlib/source --target ~/lux/stdlib/target +``` + +## Try + +``` +cd ~/lux/lux-jvm/ && time java -jar target/program.jar build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux +cd ~/lux/stdlib/ && lein clean && cd ~/lux/lux-jvm/ && time java -jar target/program.jar build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux +cd ~/lux/stdlib/ && cd ~/lux/lux-jvm/ && time java -jar target/program.jar build --source ~/lux/stdlib/source --library ~/lux/stdlib/target/library.tar --target ~/lux/stdlib/target --module test/lux +cd ~/lux/lux-jvm/ && java -jar target/program.jar export --source ~/lux/stdlib/source --target ~/lux/stdlib/target + +cd ~/lux/stdlib/target/ && java -jar program.jar +``` + +## Deploy + +``` +cd ~/lux/lux-jvm/ && mvn install:install-file -Dfile=target/program.jar -DgroupId=com.github.luxlang -DartifactId=lux-jvm -Dversion=0.6.0-SNAPSHOT -Dpackaging=jar + +cd ~/lux/lux-jvm/ && mvn deploy:deploy-file \ +-Durl=https://:@oss.sonatype.org/content/repositories/snapshots/ \ +-Dfile=target/program.jar \ +-DgroupId=com.github.luxlang \ +-DartifactId=lux-jvm \ +-Dversion=0.6.0-SNAPSHOT \ +-Dpackaging=jar +``` + +--- + +# JavaScript compiler + +## Test + +``` +cd ~/lux/lux-js/ && lein lux auto test +cd ~/lux/lux-js/ && lein clean && lein lux auto test +``` + +## Build + +``` +cd ~/lux/lux-js/ && lein lux auto build +cd ~/lux/lux-js/ && lein clean && lein lux auto build +cd ~/lux/lux-js/ && lein clean && lein lux build && mv target/program.jar program.jar +``` + +## Try + +``` +cd ~/lux/stdlib/ && lein clean && cd ~/lux/lux-js/ && time java -jar program.jar build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux +cd ~/lux/stdlib/target/ && node program.js + +cd ~/lux/lux-js/ && lein clean && time java -jar program.jar build --source ~/lux/lux-js/source --target ~/lux/lux-js/target --module program && mv target/program.js program.js + +cd ~/lux/stdlib/ && lein clean && cd ~/lux/lux-js/ && time node --stack_size=8192 program.js build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux +``` + +--- + +# Python compiler + +## Test + +``` +cd ~/lux/lux-python/ && lein lux auto test +cd ~/lux/lux-python/ && lein clean && lein lux auto test +``` + +## Build + +``` +cd ~/lux/lux-python/ && lein lux auto build +cd ~/lux/lux-python/ && lein clean && lein lux auto build +``` + +## Try + +``` +cd ~/lux/lux-python/ && java -jar target/program.jar build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux +``` + +--- + +# Lua compiler + +## Test + +``` +cd ~/lux/lux-lua/ && lein lux auto test +cd ~/lux/lux-lua/ && lein clean && lein lux auto test +``` + +## Build + +``` +cd ~/lux/lux-lua/ && lein lux auto build +cd ~/lux/lux-lua/ && lein clean && lein lux auto build +``` + +## Try + +``` +cd ~/lux/lux-lua/ && java -jar target/program.jar build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux +``` + +--- + +# Ruby compiler + +## Test + +``` +cd ~/lux/lux-ruby/ && lein lux auto test +cd ~/lux/lux-ruby/ && lein clean && lein lux auto test +``` + +## Build + +``` +cd ~/lux/lux-ruby/ && lein lux auto build +cd ~/lux/lux-ruby/ && lein clean && lein lux auto build +``` + +## Try + +``` +cd ~/lux/lux-ruby/ && java -jar target/program.jar build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux +``` + +--- + +# PHP compiler + +## Test + +``` +cd ~/lux/lux-php/ && lein lux auto test +cd ~/lux/lux-php/ && lein clean && lein lux auto test +``` + +## Build + +``` +cd ~/lux/lux-php/ && lein lux auto build +cd ~/lux/lux-php/ && lein clean && lein lux auto build +``` + +## Try + +``` +cd ~/lux/lux-php/ && java -jar target/program.jar build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux +``` + +--- + +# Common Lisp compiler + +## Test + +``` +cd ~/lux/lux-cl/ && lein lux auto test +cd ~/lux/lux-cl/ && lein clean && lein lux auto test +``` + +## Build + +``` +cd ~/lux/lux-cl/ && lein lux auto build +cd ~/lux/lux-cl/ && lein clean && lein lux auto build +``` + +## Try + +``` +cd ~/lux/lux-cl/ && java -jar target/program.jar build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux +``` + +--- + +# Scheme compiler + +## Test + +``` +cd ~/lux/lux-scheme/ && lein lux auto test +cd ~/lux/lux-scheme/ && lein clean && lein lux auto test +``` + +## Build + +``` +cd ~/lux/lux-scheme/ && lein lux auto build +cd ~/lux/lux-scheme/ && lein clean && lein lux auto build +``` + +## Try + +``` +cd ~/lux/lux-scheme/ && java -jar target/program.jar build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux +``` + +--- + +# R compiler + +## Test + +``` +cd ~/lux/lux-r/ && lein lux auto test +cd ~/lux/lux-r/ && lein clean && lein lux auto test +``` + +## Build + +``` +cd ~/lux/lux-r/ && lein lux auto build +cd ~/lux/lux-r/ && lein clean && lein lux auto build +``` + +## REPL + +``` +cd ~/lux/lux-r/ && java -jar target/program.jar repl --source ~/lux/stdlib/source --target ~/lux/stdlib/target +``` + +## Try + +``` +cd ~/lux/lux-r/ && time java -jar target/program.jar build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux +cd ~/lux/stdlib/ && lein clean && cd ~/lux/lux-r/ && time java -jar target/program.jar build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux +cd ~/lux/stdlib/ && lein clean && cd ~/lux/lux-r/ && time java -jar target/program.jar build --source ~/lux/stdlib/source --library ~/lux/stdlib/target/library.tar --target ~/lux/stdlib/target --module test/lux +cd ~/lux/lux-r/ && java -jar target/program.jar export --source ~/lux/stdlib/source --target ~/lux/stdlib/target + +cd ~/lux/stdlib/target/ && java -jar program.jar +``` + +--- + +# Compiler trial + +## Build + +``` +cd ~/lux/lux-trial/ && lein clean && lein lux build +cd ~/lux/lux-trial/target/ && java -jar program.jar +``` + -- cgit v1.2.3