いまだに自分が作っているものの種別がよくわからないのです。
ゲーム製作ツールって呼ぶものなのかなぁ。
コマンド解析実行クラスに基本構文の解析実行を実装できました。
for i = 0 to 5
variable = 22 + i
next
こういう感じのを解析して実行します。
設計をはじめてからここまで一年程度でたどり着けたのは割りとうれしいです。
基本的に怠惰な性分なので半年くらいずれるかと思ってたんですが。
次は画像描画系のコマンドを実装していこうかと思っていますが、まずコマンドの引数とかそういうところをちゃんと考え直さないとなぁとか。
この部分が特にベースにしているツールの仕様から結構かけ離れているので、よく考えて使いやすいように作りたいです。
8月くらいにはα版出したいなぁ。
基本構文が実装できました
Re: 基本構文が実装できました
それはきっと「言語処理系」(コンパイラ,インタプリタ)と呼ぶのもですね.
何という言語ですか?見た感じVisual Basicっぽいですが.
言語処理系の作り方って理論が進んでて,字句解析,構文解析,コード生成について書籍が沢山出ているので参考にするといいかもです.
何という言語ですか?見た感じVisual Basicっぽいですが.
言語処理系の作り方って理論が進んでて,字句解析,構文解析,コード生成について書籍が沢山出ているので参考にするといいかもです.
Re: 基本構文が実装できました
>beatleさん
「言語処理系」と言うほど高尚なもんじゃないなぁと思っているのですが、大別としてはそれが正しいのかなぁとか。
参考元のツールがVB5で実装されていて、そのエンジンで定義されているスクリプト言語の仕様もおおむねVBライクなのでそのあたりを踏襲してます。
字句解析、構文解析は自前で実装してみました。
基本的な演算子と変数、関数の呼び出しあたりをサポートしてます。
アルゴリズム考えるのはここが一番長かった気がしますね。
「言語処理系」と言うほど高尚なもんじゃないなぁと思っているのですが、大別としてはそれが正しいのかなぁとか。
参考元のツールがVB5で実装されていて、そのエンジンで定義されているスクリプト言語の仕様もおおむねVBライクなのでそのあたりを踏襲してます。
字句解析、構文解析は自前で実装してみました。
基本的な演算子と変数、関数の呼び出しあたりをサポートしてます。
アルゴリズム考えるのはここが一番長かった気がしますね。
Re: 基本構文が実装できました
お恥ずかしながらcdeclというものの存在をはじめて知りました…
呼び出しの部分でリターンアドレスを記憶しておいて、呼び元で色々削除しているのでcdeclっぽい…のでしょうか。
引数をスタックに積むのは左から順なのですが、関数の引数はすべて可変長引数として扱われる仕様にしているのでそのあたりだけ違うみたいですね。
呼び出しの部分でリターンアドレスを記憶しておいて、呼び元で色々削除しているのでcdeclっぽい…のでしょうか。
引数をスタックに積むのは左から順なのですが、関数の引数はすべて可変長引数として扱われる仕様にしているのでそのあたりだけ違うみたいですね。