エンジニアパパと4歳の娘で2024年に作ったもの 娘も4歳となり、何かを親が作る、というより「親と一緒に作る」ことが増えてきました。 今年も細かいモノづくりをたくさんおこなったので。年末ということで一気にまとめて紹介してみようと思います。 この記事は子育てエンジニア Advent Calendar 2024の12/07の記事で…
数値計算用インタプリタを作るのは難しいことではない。2001年前期の早稲田大学理工学部情報学科における2つの講義(数値計算,現代応用解析B)においては,数値計算インタプリタを作成せよとの課題を課した。その成果(学生がどのように反応してくれたか)の一端を,講義を社会に還元する意味でも,ここにまとめておくことにする。 数値計算ツールについて知ろう プログラミング言語の売りは「何がすごいところか」である。したがって,数値計算用インタプリタを作るとしたら,その売りは「すごい数値計算用のプログラムが含まれる」というところになる。その意味で,数値計算用のプログラムパッケージとして,プロが何を開発してきて,何が成功しているかを知らなくてはならない。この知識に関しては本ホームページのもう一つの柱のコーナー精度保証付き数値計算に詳しく解説している(学生の講義では,数値計算アルゴリズムの理論も解説したが,情報
インタプリタのしくみ プログラミング言語処理系には、コンパイラ、 アセンブラ以外にインタプリタと呼ばれるものもある。 コンパイラを用いた場合、 ソースプログラムは CPU が直接理解可能な機械語に変換されるので、 コンパイル後にできたプログラムはそれ単独で動く。 つまり、実行時には処理系(コンパイラ)の介在を必要としない。 ┌─────────┐ コンパイル ┌─────────┐ │ ソースプログラム │─────→│ 機械語プログラム │ └─────────┘ └─────────┘ ↑ CPU が直接 実行 これに対して、インタプリタはソースプログラムをコンパイルしない。 ソースプログラムを読んでその内容を解釈しながら実行する。 従って、実行時にインタプリタ処理系がなければプログラムを動かすことができない。 ┌─────────┐ │ ソースプログラム │ └─────────┘
Emacs から SLIME を起動すると (http://lispuser.net/emacs/lisphacking.html , http://lispuser.net/commonlisp/clisp.html 参照) 、 CL-USER> というプロンプトが表示されていると思います。 CL-USER> ここに、プログラムを入力することで、 Lisp にプログラムを解釈させて結果を確認することができます。 さっそく Lisp にプログラムを実行させてみましょう。 CL-USER> (+ 1 2) 3 これは、 1 + 2 を計算させるプログラムです。 (+ 1 2) の意味は、関数 + パラメータとして 1 と 2 を渡す、という意味になります。 乗算を行いたい場合には関数 * を使用してみてください。 CL-USER> (* 3 4) 12 もちろん、式を入れ個にする事もできます
Part4では,Lisp(リスプ:List Processor)インタプリタをJava言語を使って作っていきます。Lispは非常に歴史が古く,様々な分野で利用されている言語です。しかし,皆さんの中にはLisp自体をよく知らないという方もいらっしゃるかもしれません。どんなものを作るかわからないままでは面白みも半減してしまいますから,まずはLispのごく基本的な動作を紹介しましょう。 まずは簡単Lisp講座 Lispの本質は,すべてがリスト(正確にはS式,詳細は後述)で表現されることにあります。リストは要素を順序付きで並べたもので,“(1 2 3 4)”のように要素の並びをカッコでくくって表記します。このリストの要素は1,2,3,4の四つです。 「すべてがリストで表現される」という言葉の通り,Lispではプログラムもこのようなリストとして表現します。Lisp処理系は,与えられたリストの一つ目の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く