しょぼいマシンで自作プログラミング言語を作ってみる (12)

方針変換

CMakeのmlir-tblgenが動かない……

 うまいこと*.tdファイルからヘッダファイルが作られてくれません。
 何がいけないんでしょうか?
 よくわからないので、MLIRからゴニョゴニョするのは一旦、パスします。
 自作言語でMLIRを使えるようにはしたいとは思います。

ちょっと寄り道

コマンドライン引数を処理するクラスを追加

 コンパイルの過程は字句解析、構文解析、LLVM IRへの返還ですが、その途中での成果物を表示するためのコマンドラインオプションを処理するようにはしたいとおもいます。
 とりあえず、"--dump-tokens"、"--dump-ast"、"--dump-llvm-ir"でいいですかね。

パッケージ名、モジュール名を宣言できるようにはした方がいいだろうか?

 パッケージ名、モジュール名を宣言できるようにしたほうがいいのでしょうか。
 今、決めてしまったほうがいいでしょうね。
 ASTを構築する際の構造にも変化がありそうです。

 …………。決めました!
 仕組みを導入しましょう。

 条件を整理しましょうか。

  • インタプリタの場合
    パッケージ名、モジュール名は宣言できない。

  • 標準入力ストリームからの単一コンパイルの場合
    パッケージ名は宣言できない。モジュール名は宣言できる。

  • ファイルからのコンパイルの場合
    パッケージ名、モジュール名を宣言できる。

 ファイルからのコンパイルの場合は、外出ししたソースファイルのインクルードを行えたり、コンパイル済モジュールのインポートできればいいのですが……。
 コンパイル済モジュールのインポートの仕組みをどうするか。それは先々に決めればいいでしょうかね?
 たぶんですが、コンパイル時にバイナリとともに定義情報を自動生成できればいいのでしょうかね?

 前回からはまだ進捗が大きく変化してないですが、また状況が変わったら報告します。

いいなと思ったら応援しよう!