萌え言語を作ろう!at TECH
萌え言語を作ろう! - 暇つぶし2ch618:デフォルトの名無しさん
05/12/01 07:51:33
>>612
素直に再帰下降で書かれているから、仕掛けが判れば改造も難しくないと思う

1、常に1句 sym {numVar/str} を先読みする GetSym が1句の読み出し
  考え方としては、
   「その句が自分の担当でなければ知らん顔をして何もせずに帰る」
  という手続きを順に呼び出す事で処理させてゆく
  

2、計算以外の句は、1句毎に処理させてゆく
  計算部は再帰下降を使う


3、四則演算は、 左数字 演算子 右数字 という格好をしているので
  演算子を確認したら、
   左数字を保存し、 
   右の式を再帰を使って計算させてから、帰って来た結果と演算させる

 という方式で計算する。この時、演算子の優先順位を付ける方法として
 優先順位毎に関数を作り、
 各処理関数で、自分より一つ高い優先順位の処理を先に実行させる
 という簡単な方法で対応させる
 一番高い優先順位は括弧 一番低いのは加減算





次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch