https://github.com/moisutsu/pascal_compiler
C言語によるPascal風言語のコンパイラ
https://github.com/moisutsu/pascal_compiler
c lex llvm pascal-compiler yacc
Last synced: 4 months ago
JSON representation
C言語によるPascal風言語のコンパイラ
- Host: GitHub
- URL: https://github.com/moisutsu/pascal_compiler
- Owner: moisutsu
- Created: 2020-05-28T14:05:42.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-06-02T08:37:44.000Z (over 5 years ago)
- Last Synced: 2025-03-12T16:44:59.283Z (7 months ago)
- Topics: c, lex, llvm, pascal-compiler, yacc
- Language: Yacc
- Homepage:
- Size: 14.6 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pascal Compiler
C言語によるPascal風言語のコンパイラの実装
## 使用技術
- LLVM
- Yacc
- Lex## 実行方法
`docker-compose`でアプリケーションを立ち上げる。
```bash
$ docker-compose run --rm compiler
````make run`でプログラムをコンパイルし、`llvm`で実行する。
```bash
$ make run
```これにより、`samples`内の`prime_numbers.p`を実行。
`make run`するときに、引数を与えることで、`samples`内のプログラムをファイルを指定できる。
```bash
$ make run FILE=bubble_sort.p
```## samples
`samples`内のプログラムを紹介
- prime_numbers.p
数値を一つ入力することで、2からその数値までの素数を出力する。
- fact.p
数値を一つ入力することで、その数値の階乗を出力する。
- bubble_sort.p
まず数値を一つ入力し要素数を決める。そして、その要素を1要素ずつ入力することで、バブルソートを行い出力する。