C言語によるPascal風言語のコンパイラの実装
- LLVM
- Yacc
- Lex
docker-compose
でアプリケーションを立ち上げる。
$ docker-compose run --rm compiler
make run
でプログラムをコンパイルし、llvm
で実行する。
$ make run
これにより、samples
内のprime_numbers.p
を実行。
make run
するときに、引数を与えることで、samples
内のプログラムをファイルを指定できる。
$ make run FILE=bubble_sort.p
samples
内のプログラムを紹介
-
prime_numbers.p
数値を一つ入力することで、2からその数値までの素数を出力する。
-
fact.p
数値を一つ入力することで、その数値の階乗を出力する。
-
bubble_sort.p
まず数値を一つ入力し要素数を決める。そして、その要素を1要素ずつ入力することで、バブルソートを行い出力する。