Skip to content

Commit

Permalink
* the 88th language: Falcon
Browse files Browse the repository at this point in the history
  • Loading branch information
mame committed Dec 11, 2014
1 parent 2b1fdd3 commit 9214618
Show file tree
Hide file tree
Showing 7 changed files with 245 additions and 226 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ before_install:
- sudo apt-get install emacs23
- sudo apt-get install erlang
- sudo apt-get install f2c
- sudo apt-get install falconpl
- sudo apt-get install fp-compiler
- sudo apt-get install fsharp
- sudo apt-get install g++
Expand Down
98 changes: 53 additions & 45 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ all: QR2.rb
diff QR.rb QR2.rb

SHA1SUMS: all
sha1sum -b QR.rb QR.scala QR.scm QR.sci QR.bash QR.sl QR.st QR.spl QR.sml QR.sq QR.tcl QR.t QR.unl QR.vala QR.v QR.vb QR.ws QR.xslt QR.yorick QR.azm QR.+ qr.adb QR.als QR.a68 QR.ante QR.asy QR.dats QR.awk QR.bc QR.bef QR.Blc QR.boo QR.bf QR.c QR.cpp QR.cs QR.cd QR.chef QR.clj QR.cob QR.coffee QR.lisp QR.d QR.dc QR.ec QR.el QR.erl QR.fsx QR.fs QR.f QR.f90 QR.go QR.groovy QR.hs QR.icn QR.i QR.j QR.java QR.js QR.ll QR.logo QR.lol QR.lua QR.mk QR.mac QR.il QR.asm QR.neko QR.5c QR.m QR.ml QR.octave QR.ook QR.gp QR.pasm QR.pas QR.pl QR.php QR.png QR.pike QR.ps QR.ppt QR.prolog QR.py QR.R QR.r QR.rexx > SHA1SUMS
sha1sum -b QR.rb QR.scala QR.scm QR.sci QR.bash QR.sl QR.st QR.spl QR.sml QR.sq QR.tcl QR.t QR.unl QR.vala QR.v QR.vb QR.ws QR.xslt QR.yorick QR.azm QR.+ qr.adb QR.als QR.a68 QR.ante QR.asy QR.dats QR.awk QR.bc QR.bef QR.Blc QR.boo QR.bf QR.c QR.cpp QR.cs QR.cd QR.chef QR.clj QR.cob QR.coffee QR.lisp QR.d QR.dc QR.ec QR.el QR.erl QR.fsx QR.fal QR.fs QR.f QR.f90 QR.go QR.groovy QR.hs QR.icn QR.i QR.j QR.java QR.js QR.ll QR.logo QR.lol QR.lua QR.mk QR.mac QR.il QR.asm QR.neko QR.5c QR.m QR.ml QR.octave QR.ook QR.gp QR.pasm QR.pas QR.pl QR.php QR.png QR.pike QR.ps QR.ppt QR.prolog QR.py QR.R QR.r QR.rexx > SHA1SUMS

QR.scala: QR.rb
@echo
Expand Down Expand Up @@ -432,27 +432,35 @@ QR.fsx: QR.erl
@echo
escript QR.erl > QR.fsx

QR.fs: QR.fsx
QR.fal: QR.fsx
@echo
@echo "#######################"
@echo "## 48: F# -> Forth ##"
@echo "#######################"
@echo "########################"
@echo "## 48: F# -> Falcon ##"
@echo "########################"
@echo
fsharpc QR.fsx -o QR.exe
mono QR.exe > QR.fs
mono QR.exe > QR.fal

QR.fs: QR.fal
@echo
@echo "###########################"
@echo "## 49: Falcon -> Forth ##"
@echo "###########################"
@echo
falcon QR.fal > QR.fs

QR.f: QR.fs
@echo
@echo "##############################"
@echo "## 49: Forth -> FORTRAN77 ##"
@echo "## 50: Forth -> FORTRAN77 ##"
@echo "##############################"
@echo
gforth QR.fs > QR.f

QR.f90: QR.f
@echo
@echo "##################################"
@echo "## 50: FORTRAN77 -> Fortran90 ##"
@echo "## 51: FORTRAN77 -> Fortran90 ##"
@echo "##################################"
@echo
mv QR.c QR.c.bak
Expand All @@ -464,7 +472,7 @@ QR.f90: QR.f
QR.go: QR.f90
@echo
@echo "###########################"
@echo "## 51: Fortran90 -> Go ##"
@echo "## 52: Fortran90 -> Go ##"
@echo "###########################"
@echo
gfortran -o QR QR.f90
Expand All @@ -473,23 +481,23 @@ QR.go: QR.f90
QR.groovy: QR.go
@echo
@echo "########################"
@echo "## 52: Go -> Groovy ##"
@echo "## 53: Go -> Groovy ##"
@echo "########################"
@echo
go run QR.go > QR.groovy

QR.hs: QR.groovy
@echo
@echo "#############################"
@echo "## 53: Groovy -> Haskell ##"
@echo "## 54: Groovy -> Haskell ##"
@echo "#############################"
@echo
groovy QR.groovy > QR.hs

QR.icn: QR.hs
@echo
@echo "###########################"
@echo "## 54: Haskell -> Icon ##"
@echo "## 55: Haskell -> Icon ##"
@echo "###########################"
@echo
ghc QR.hs
Expand All @@ -498,7 +506,7 @@ QR.icn: QR.hs
QR.i: QR.icn
@echo
@echo "############################"
@echo "## 55: Icon -> INTERCAL ##"
@echo "## 56: Icon -> INTERCAL ##"
@echo "############################"
@echo
icont -s QR.icn
Expand All @@ -507,7 +515,7 @@ QR.i: QR.icn
QR.j: QR.i
@echo
@echo "##############################"
@echo "## 56: INTERCAL -> Jasmin ##"
@echo "## 57: INTERCAL -> Jasmin ##"
@echo "##############################"
@echo
mv QR.c QR.c.bak
Expand All @@ -518,7 +526,7 @@ QR.j: QR.i
QR.java: QR.j
@echo
@echo "##########################"
@echo "## 57: Jasmin -> Java ##"
@echo "## 58: Jasmin -> Java ##"
@echo "##########################"
@echo
jasmin QR.j
Expand All @@ -527,7 +535,7 @@ QR.java: QR.j
QR.js: QR.java
@echo
@echo "##############################"
@echo "## 58: Java -> JavaScript ##"
@echo "## 59: Java -> JavaScript ##"
@echo "##############################"
@echo
javac QR.java
Expand All @@ -536,15 +544,15 @@ QR.js: QR.java
QR.ll: QR.js
@echo
@echo "##################################"
@echo "## 59: JavaScript -> LLVM asm ##"
@echo "## 60: JavaScript -> LLVM asm ##"
@echo "##################################"
@echo
$(JAVASCRIPT) QR.js > QR.ll

QR.logo: QR.ll
@echo
@echo "############################"
@echo "## 60: LLVM asm -> Logo ##"
@echo "## 61: LLVM asm -> Logo ##"
@echo "############################"
@echo
mv QR.bc QR.bc.bak
Expand All @@ -555,47 +563,47 @@ QR.logo: QR.ll
QR.lol: QR.logo
@echo
@echo "###########################"
@echo "## 61: Logo -> LOLCODE ##"
@echo "## 62: Logo -> LOLCODE ##"
@echo "###########################"
@echo
logo QR.logo > QR.lol

QR.lua: QR.lol
@echo
@echo "##########################"
@echo "## 62: LOLCODE -> Lua ##"
@echo "## 63: LOLCODE -> Lua ##"
@echo "##########################"
@echo
lci QR.lol > QR.lua

QR.mk: QR.lua
@echo
@echo "###########################"
@echo "## 63: Lua -> Makefile ##"
@echo "## 64: Lua -> Makefile ##"
@echo "###########################"
@echo
lua QR.lua > QR.mk

QR.mac: QR.mk
@echo
@echo "##############################"
@echo "## 64: Makefile -> Maxima ##"
@echo "## 65: Makefile -> Maxima ##"
@echo "##############################"
@echo
make -f QR.mk > QR.mac

QR.il: QR.mac
@echo
@echo "##########################"
@echo "## 65: Maxima -> MSIL ##"
@echo "## 66: Maxima -> MSIL ##"
@echo "##########################"
@echo
maxima -q --init-mac=QR.mac > QR.il

QR.asm: QR.il
@echo
@echo "########################"
@echo "## 66: MSIL -> NASM ##"
@echo "## 67: MSIL -> NASM ##"
@echo "########################"
@echo
ilasm QR.il
Expand All @@ -604,7 +612,7 @@ QR.asm: QR.il
QR.neko: QR.asm
@echo
@echo "########################"
@echo "## 67: NASM -> Neko ##"
@echo "## 68: NASM -> Neko ##"
@echo "########################"
@echo
nasm -felf QR.asm
Expand All @@ -614,7 +622,7 @@ QR.neko: QR.asm
QR.5c: QR.neko
@echo
@echo "##########################"
@echo "## 68: Neko -> Nickle ##"
@echo "## 69: Neko -> Nickle ##"
@echo "##########################"
@echo
nekoc QR.neko
Expand All @@ -623,15 +631,15 @@ QR.5c: QR.neko
QR.m: QR.5c
@echo
@echo "#################################"
@echo "## 69: Nickle -> Objective-C ##"
@echo "## 70: Nickle -> Objective-C ##"
@echo "#################################"
@echo
nickle QR.5c > QR.m

QR.ml: QR.m
@echo
@echo "################################"
@echo "## 70: Objective-C -> OCaml ##"
@echo "## 71: Objective-C -> OCaml ##"
@echo "################################"
@echo
gcc -o QR QR.m
Expand All @@ -640,23 +648,23 @@ QR.ml: QR.m
QR.octave: QR.ml
@echo
@echo "###########################"
@echo "## 71: OCaml -> Octave ##"
@echo "## 72: OCaml -> Octave ##"
@echo "###########################"
@echo
ocaml QR.ml > QR.octave

QR.ook: QR.octave
@echo
@echo "##########################"
@echo "## 72: Octave -> Ook! ##"
@echo "## 73: Octave -> Ook! ##"
@echo "##########################"
@echo
octave -qf QR.octave > QR.ook

QR.gp: QR.ook
@echo
@echo "###########################"
@echo "## 73: Ook! -> PARI/GP ##"
@echo "## 74: Ook! -> PARI/GP ##"
@echo "###########################"
@echo
ruby vendor/ook-to-bf.rb QR.ook QR.ook.bf
Expand All @@ -665,23 +673,23 @@ QR.gp: QR.ook
QR.pasm: QR.gp
@echo
@echo "#################################"
@echo "## 74: PARI/GP -> Parrot asm ##"
@echo "## 75: PARI/GP -> Parrot asm ##"
@echo "#################################"
@echo
gp -f -q QR.gp > QR.pasm

QR.pas: QR.pasm
@echo
@echo "################################"
@echo "## 75: Parrot asm -> Pascal ##"
@echo "## 76: Parrot asm -> Pascal ##"
@echo "################################"
@echo
parrot QR.pasm > QR.pas

QR.pl: QR.pas
@echo
@echo "##########################"
@echo "## 76: Pascal -> Perl ##"
@echo "## 77: Pascal -> Perl ##"
@echo "##########################"
@echo
fpc QR.pas
Expand All @@ -690,79 +698,79 @@ QR.pl: QR.pas
QR.php: QR.pl
@echo
@echo "#######################"
@echo "## 77: Perl -> PHP ##"
@echo "## 78: Perl -> PHP ##"
@echo "#######################"
@echo
perl QR.pl > QR.php

QR.png: QR.php
@echo
@echo "#######################"
@echo "## 78: PHP -> Piet ##"
@echo "## 79: PHP -> Piet ##"
@echo "#######################"
@echo
php QR.php > QR.png

QR.pike: QR.png
@echo
@echo "########################"
@echo "## 79: Piet -> Pike ##"
@echo "## 80: Piet -> Pike ##"
@echo "########################"
@echo
npiet QR.png > QR.pike

QR.ps: QR.pike
@echo
@echo "##############################"
@echo "## 80: Pike -> PostScript ##"
@echo "## 81: Pike -> PostScript ##"
@echo "##############################"
@echo
pike QR.pike > QR.ps

QR.ppt: QR.ps
@echo
@echo "############################################"
@echo "## 81: PostScript -> PPT (Punched tape) ##"
@echo "## 82: PostScript -> PPT (Punched tape) ##"
@echo "############################################"
@echo
gs -dNODISPLAY -q QR.ps > QR.ppt

QR.prolog: QR.ppt
@echo
@echo "########################################"
@echo "## 82: PPT (Punched tape) -> Prolog ##"
@echo "## 83: PPT (Punched tape) -> Prolog ##"
@echo "########################################"
@echo
ppt -d < QR.ppt > QR.prolog

QR.py: QR.prolog
@echo
@echo "############################"
@echo "## 83: Prolog -> Python ##"
@echo "## 84: Prolog -> Python ##"
@echo "############################"
@echo
swipl -q -t qr -f QR.prolog > QR.py

QR.R: QR.py
@echo
@echo "#######################"
@echo "## 84: Python -> R ##"
@echo "## 85: Python -> R ##"
@echo "#######################"
@echo
python QR.py > QR.R

QR.r: QR.R
@echo
@echo "#######################"
@echo "## 85: R -> Ratfor ##"
@echo "## 86: R -> Ratfor ##"
@echo "#######################"
@echo
R --slave -f QR.R > QR.r

QR.rexx: QR.r
@echo
@echo "##########################"
@echo "## 86: Ratfor -> REXX ##"
@echo "## 87: Ratfor -> REXX ##"
@echo "##########################"
@echo
ratfor -o QR.r.f QR.r
Expand All @@ -772,7 +780,7 @@ QR.rexx: QR.r
QR2.rb: QR.rexx
@echo
@echo "########################"
@echo "## 87: REXX -> Ruby ##"
@echo "## 88: REXX -> Ruby ##"
@echo "########################"
@echo
rexx ./QR.rexx > QR2.rb
Expand Down
Loading

0 comments on commit 9214618

Please sign in to comment.