タグ

CとLispに関するyouzのブックマーク (2)

  • SC: The SC Language System

    Japanese / English SC言語は,Common Lispで実装された,S式の(Scheme風の)構文を持つC言語です.たとえば,以下のようなCコード long sum(long *ar, int n){ long s=0; int i=0; do{ if (i >= n) break; s += ar[i++]; } while(1); return s; } を,SCでは, (def (sum ar n) (fn long (ptr long) int) (def s long 0) (def i int 0) (do-while 1 (if (>= i n) (break)) (+= s (aref ar (inc i))) ) (return s) ) と書くことができます. また,拡張SC言語から別のSC言語への「変形規則」

  • ソフトウェア特論 講義資料 C言語によるLisp処理系

    Next: 1 Lisp処理系: Xlisp Up: Software IV Top ソフトウェア特論 講義資料 C言語によるLisp処理系 稲葉 雅幸 ここでは,LispのインタプリタをC言語で記述すること を紹介します.Lispの処理系は,read-eval-printを 繰り返すものですが,C言語でread, eval, print のそれぞれがどのようになるかを見ます. そして,Lispの処理系においては,データをreadした時, データを評価して計算中に新たにデータを生成したり, 新しいデータを結果として返したりします. 通常の計算機内で直線状に並んだメモリデータで, データの配列や長さが自由になるリストデータをどのように 表現するかが重要になります.そして,いらなくなった データがあった場合に,どのようにそのメモリデータを 再利用するのかについての仕組みを決める必要があります.

  • 1