タグ

言語処理系に関するlike_futsalのブックマーク (4)

  • 二週間で簡単なインタープリタ言語を実装してみた (日記) - プログラムモグモグ

    私は昔から言語処理系に興味があり、自分で言語を作ることを夢見てきました。 しかし、いざ言語を実装しようと思って言語処理系に関するを読んでも何から手を付けていいか分からず、アセンブラもまともに読めないまま、数年が経ってしまいました。 大学時代は情報系ではなかったため、コンパイラの実験がある情報系の学科のカリキュラムを羨ましく思い、情報系の授業の教科書を手にとって見ても読む気が起きず、自分に作れるのは所詮、構文木をちょこっといじって変換するレベルのもの (例えばsjspなど) にとどまっていました。 そんな中、去年のRebuild.fmで、とても感銘を受けた回がありました。 LLVMのlinkerであるLLDを開発されているrui314さんの回です。 rebuild.fm セルフコンパイルできるC言語のコンパイラを実装するという話のなかで、インクリメンタルに開発する重要性について話をされてい

    二週間で簡単なインタープリタ言語を実装してみた (日記) - プログラムモグモグ
  • B3 OS/Programming

    シラバス コースは、プログラミングの基について、ひととおりの技術を学び終えた受講者を対象とする。コースの目的は、実際のソフトウェアを開発する際に、具体的にどのようにプログラムを設計し、またどのように OS の機能を利用していけばよいか、感覚をつかんでもらうことである。このため、コースは講義中心ではなく、いくつかのソフトウェアの作成演習をとおして、そのソフトウェアのプログラムはなぜそのように設計されているのか等を考えてもらう。 1. 簡単な C コンパイラ 言語仕様を簡略化したCコンパイラを作成し、言語処理系の基構成を学ぶ。また関数呼び出しや配列参照など、C言語の各基機能が実際にどのような機械語に変換されていくのかを学ぶ。 実際に作成する処理系は2つで、まずはじめに字句解析の練習として、ごく簡単なLispインタプリタを作る。 その後、構文解析、コード生成の演習のため、C言語風の手続

  • プログラミング言語処理系論 (2016年度)

    (東京大学 大学院工学系研究科 講義) by 佐藤周行 この授業の目的 アルゴリズムを表現するためのプログラミング言語でかかれたプログラムを 具体的なアーキテクチャに向けて最適なコードに変換することは、 従来からコンピュータサイエンスの中心的な話題であったが、 プログラミング言語の抽象度とアーキテクチャの複雑度の両方が 飛躍的に増している現在、その重要度と問題の複雑度は飛躍的に増加している。 講義では、プログラミング言語をどう設計するか、 そこで表現する概念をどう実装するか、 その時に処理効率をあげるにはどうしたらよいかを理解することを目標とする。 今年度は、現在重要性を増しているスクリプト言語を一部教材に採用する予定である。 授業予定 授業導入とプログラミング言語概説(2回)4/6, 4/13 授業導入 プログラミング言語概説 プログラミング言語の定義の手法(4回)4/20, 4/27

  • 言語処理系とは

    さて、ここ数日、ハードウェアの動作を勉強しようと思って、このページを参考にしててちょこちょこプログラムをSchemeで書く為に格闘してました。 いやぁ、なかなかC言語を読むのが難しくて手こずってたんですが、ある程度カタチになったんで、メモ代わりに。 しっかし、Cのプログラム見てると、大域変数使いまくりで、破壊的変更ありーの、ポインタなんて出てきた日にゃあ何やってんだか一発で分からんし、ホント困ったもんですよ。 例によって、関数プログラミング的に解題していきたいと思います。 インタプリタとコンパイラ 言語処理系とは、プログラミング言語で記述されたプログラムを計算機上で実 行するためのソフトウエアである。そのための構成として、大別して2つの構 成方法がある。 インタープリター(interpreter,翻訳系): 言語の意味を解析しながら、その意味する動作を実行する。 コンパイラ(compile

  • 1