世間は年末年始のお休み。何しようか。
そこで、タイトルの言葉が出た。
さっそくlex/yaccで字句解析&構文解析を作りはじめてはいけない。
そう、今の時代はflex/bison...、とかいう問題じゃねーよ!
まず、どんな言語にするのか、仕様の方針を決めねばならない。
世間は年末年始のお休み。何しようか。
そこで、タイトルの言葉が出た。
さっそくlex/yaccで字句解析&構文解析を作りはじめてはいけない。
そう、今の時代はflex/bison...、とかいう問題じゃねーよ!
まず、どんな言語にするのか、仕様の方針を決めねばならない。
最初に決めるべきは名称である!これが暫定的にでも決まらないと作業フォルダすら作れないのだ!!!
そして、それは一体どんなプラットフォームを対象にしているのだ?
で、コンパイルしたそれはネイティブで動作するのか?どのCPUの?あるいはVM上で?.net/monoの?Javaの?それとも別な何か?
中間コードにコンパイルする方式で。
中間コードへのコンパイラは、とりあえずWindowsのみ作る。
中間コードの実行環境はMacOSX版も作る。Linux、FreeBSDでも動くようにしたい。
実行環境:PCEOYC
中間コード:YCIX
中間コード記述言語:PCL
言語名:PLOYUM
YLソースコード: .y
YCILソースコード: .yc
オブジェクト: .yo
YLVM実行形式: .xy
YLVM動的ライブラリ: .dy
名称 | ファイル名 | 種別 | C/C++での実装 | 動作内容 |
---|---|---|---|---|
VM実行(インタープリタ) | pceoyc | .exe | ○ | .xyの実行 |
VM実行(JITコンパイル) | pcejit | .exe | .xyの実行 | |
PCLアセンブラ | pclasm | .exe | ○ | .ya → .yo |
リンカ | yll | .exe | ○ | .yo → .xy / .yo → .dy |
PLOYUMコンパイラ | yc | .exe | ○ | .y → .yo |
yccommon | .dll | ○ | C/C++での実装で使用する共通ライブラリ |
PLOYUM/PCLソースコードの中身はテキスト形式である。文字エンコーディングはUTF-8のみ。他は認めない。BOMの有無は問わない。
そして、yo形式とxy/dy形式は各ページに書いていく。とりあえず未定だ!
さらに、PLOYUMやPCLの仕様も決めていかねばならない