言語設計のお勉強この広告は、90日以上更新していないブログに表示しています。langの練習用にチューリングマシンエミュレータのようなものを作った。Lによって状態を遷移させる遷移関数とする。syntaxで判別する。テープは構造体で表し、Vectorと現在の参照位置をusizeで持った。w'が並んでいるww'なテープを得たときのみState::start()がtrueを返す。雰囲気はテストコードを見て感じ取って欲しい。runで9つのテストコードかmain関数が走るようになっている。usize,}と書いている。Vectorで無限長のテープの表現、ptrで今の参照位置だ。変数名ptrなのにvalueなのが気持ち悪いとか言わないで欲しい。}}のような関数はコンパイルエラー。いうと、selfはmutableでborrowingしているのにVectorはimmutableになって変更できないため。immutableを選べるとはしらなかった。sefl.tape.clone()でvectorの参照をclone()してくれると思って書いていたら値も丸ごとcloneしていた。}}--出力0000次のお題マークアップ言語パーサを書く。(1)はてなブログをはじめよう!KeizoBookmanさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。