パスワードを忘れた? アカウント作成
651996 journal

dragonetの日記: 一日中ではないが

日記 by dragonet

まぁ適当にyacc/lexの勉強を進めてみた。
相変わらず構文に曖昧な部分があると怒られながら
なんとか変数の導入と組み込み関数の実行を行う所まで出来た。

基本的にトークンを読んだら、扱いやすい形に変形して、
(文字列) and (関数ポインタ or 数字 or 文字列)を格納した辞書リストから
検索して振る舞いを決めるといった感じで巧くいくっぽい。

構文解析に拘る時間もないし、字句解析の段階でかなり絞れるようした。
例えば$変数、&関数、{命令}、"文字列"といった感じである。
また改行文字や空白文字には構文上の意味を持たせなかった。

# 改行文字は字句解析の段階で行数変数をインクリメントするだけ。

んで振る舞い = 実処理で使う構造体リストの構築と割り切れば
意外に早く制御用インタプリタ言語が作れるかもしれない。

本体の方も合わせて全部作り直さざるを得ないのだけどなにか。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

物事のやり方は一つではない -- Perlな人

読み込み中...