コンパイラ インタプリタ作品一覧

  • 基礎からのプログラミングリテラシー [コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ!]
    3.7
    プログラミングブームやエンジニア不足を背景にプログラミングの独習をする方が増えています。 いざ、Webで人気の講座を受講してみたり、 店頭で平積みになっているベストセラープログラミング書籍を手にしたものの、 どれも理解できずに挫折してしまった、という方も多いのではないでしょうか。 コンピュータやプログラミングの解説がわからないのは、次のような知識の不足が要因です。 1.コンピュータのしくみがわからない 2.プログラミングのしくみがわからない 3.アプリケーションが動くしくみがわからない 4.開発スタイルやエンジニアの仕事像がわからない 5.業界の標準やツールを知らない 6.プログラミング書籍の選び方がわからない これらは専門書やインターネットで検索上位にくるWeb記事では前提知識として省略されることが多く「読み進めるにはほかの資料が必要になった」なんてことがよくあります。 そこで、本書ではプログラミング独習者がつまずきやすい知識を厳選して取り上げ、初心者の分からなかったをサポートします。 図解を多用し、「サーバーとクライアント」、「コンパイラとインタプリタ」のように用語を比較しながら学習することで、いままで曖昧になっていた知識が整理され理解が進みます。 プログラミング初心者必携の1冊です!
  • Pythonでインタプリタを作る コンピュータ言語を設計・実装してインタプリタの動作を理解しよう
    -
    本書は流行のPythonを用いてコンピュータをコントロールするインタプリタを作る方法についてやさしく、詳しく解説します。 コンピュータ言語の設計者はいったいどうやって言語を作ったのでしょうか。それに対する答えがこの本です。 本書ではコンパイラの世界では有名なlex(字句解析プログラムのソースを作るプログラム)など、他のライブラリには一切頼りません(使うのはPythonの標準的なライブラリのみ)。フルスクラッチで、つまり読者の力のみで、読者の書いたプログラム通りにコンピュータを動かすシステムを作ります。本書に沿って、説明を読み、実際にコードを入力しては実行して動作を確認、ということを繰り返してゆけば最後には小規模ですが確実に動く、自分で動作の理屈が分かっているインタプリタが完成します。 特別のライブラリを使うわけでもなくPython で普通にコーディングしているだけなので、できあがったインタプリタ(新しい言語)は実行速度という点ではあまり期待できません。しかし、今や多くの人がPython を使いますし、そのPython で「インタプリタをどうやって作るのか」理解できるのだと考えれば本書の意義は大いにあるでしょう。またC++など高速なコンパイラを使える読者ならば、本書で得た知識があれば高速なインタプリタを作ることができるでしょう。
  • マンガと図解でスッキリわかる プログラミングのしくみ
    3.0
    【プログラミングは暗記じゃない!】 プログラミング言語を学ぶ前に押さえておきたい、コンピュータとソフトウェア、プログラミングの仕組みを楽しく学べる入門書です。 コミカルなマンガとイラスト図解で、「プログラムは難しい」という先入観にとらわれることなく、すんなり理解が進みます。プログラムの勉強中にはついついおろそかになりがちなコンピュータとソフトウェアのモヤモヤを、スッキリ解消してくれる一冊です。 【本書の内容】 ■CHAPTER 1 プログラムとコンピューター コンピューターとプログラムってどんな関係?/プログラムがコンピューターを動かす流れ/CPUの仕組みを見てみよう/メモリは数値を記憶する/コンピューターが画像や音楽を扱う仕組み etc. ■CHAPTER 2 プログラミング言語って何? プログラミング言語はいろいろある/プログラミング言語の歴史/実行方式で2つに分類できる/コンパイラとインタプリタの発展 etc. ■CHAPTER 3 メモリの管理とデータ型 データには「型」がある/数値はこうやって記憶する/文字はこうやって記憶する/画像はこうやって記憶する/データを記憶するときは「変数」を使う/変数に記憶してみよう/複合的な変数/配列を試してみよう etc. ■CHAPTER 4 プログラミング言語の文法 「演算子」を使って「式」を書く/演算子には優先順位がある/式を書いて計算してみよう/3種類の構文だけでプログラムを書く/分岐構文で「判断」させる/同じ仕事を繰り返させる/繰り返し処理をしてみよう/自分で命令を作る「関数」etc. ■CHAPTER 5 オブジェクト指向プログラミング オブジェクト指向プログラミングとは?/なぜオブジェクト指向が生まれたのか/インスタンスを作ってから使う/標準で付いてくるオブジェクトを利用してみよう/新しいクラスを作る/データを隠蔽する「カプセル化」/既存のものから機能を「継承」する/違うものを同じように操作する「多態性」 etc. ■CHAPTER 6 データ構造とアルゴリズム データ構造ってどんなもの?/リンクリストを自作しよう/アルゴリズムってどんなもの?/バブルソートに挑戦してみよう

    試し読み

    フォロー
  • 明快入門 コンパイラ・インタプリタ開発 C処理系を作りながら学ぶ
    4.0
    ※この電子書籍は固定レイアウト型で配信されております。固定レイアウト型は文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 プログラマーであれば一度は挑戦したくなる究極のプログラムがコンパイラの製作。本書は仕様を限定したC言語のプログラムの処理系(コンパイラ/インタープリタ)をC言語で作り上げていく。コンパイラ技術を楽しみながら学習していこう。
  • Rustで作るプログラミング言語 —— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで
    NEW
    -
    【言語の開発を通して、プログラミングそのものへの理解を深めよう!】 小さなプログラミング言語から本格的なプログラミング言語へ……ステップバイステップでの開発を通して、プログラミングそのものへの理解を深めよう!Rustでの開発の勘所もわかって二度おいしい一冊です。 ■こんな方におすすめ ・コンピュータサイエンス、とくにプログラミング言語そのものやコンパイラについての素養を得たいと考えている人 ・他言語でのプログラミング経験があり、Rustの習得に興味のある人。とくに、学習のための題材を探している人 ■目次 ●第1章:プログラミング言語概論 プログラミング言語の分類/他の切り口での分類方法/コンパイルパイプライン ●第2章:スタックベース仮想マシン 仮想マシン概論/Rustでの実装/標準入力からの読み込み/パースとコマンドの実行/ブロックとネスト構造/if制御構文/変数の定義/複数行のソースコードへの対応/関数呼び出し/関数の再帰呼び出し/WebAssemblyへのコンパイルとブラウザでの実行 ●第3章:プログラミング言語の構文解析 構文解析が解決する課題/構文へのマッチ/トークンの切り出し/括弧によるグループ化/木構造の構築/式の構文木/パーサコンビネータnom/Parsing Expression Grammarによる構文解析/ASTインタプリタ/関数呼び出しの構文と評価/設定ファイルへの応用 ●第4章:スクリプト言語ランタイム 本章で設計する言語/構文と意味論/AST実行モデル/文(Statement)の導入/変数宣言/代入文/条件分岐/ループ/関数定義/その他の制御構文/動的型の導入 ●第5章:静的型付けと型チェック 静的型システムの概要/型チェックの基本構成法/型宣言/式と文の型チェック/組み込み関数の型定義/エラー位置の報告 ●第6章:バイトコードへのコンパイル バイトコードとネイティブコード/スタックマシンとレジスタマシン/命令セットの特徴と設計/バイトコードの構成/最小限のバイトコードの定義と実行/バイトコードへのコンパイル/リテラルテーブルの実装/任意のソースコードをパースしてバイトコードへ翻訳/完全な式のコンパイルと実行/条件分岐式のコンパイルと実行/ループ制御のコンパイルと実行/ユーザー定義関数/型チェッカーとの統合/状態マシンとコルーチン/コルーチンオブジェクトとジェネレータ/応用例 ●第7章:LLVMを使ったネイティブコードへのコンパイル llvm-sysとinkwell/inkwellでのHello, world!/ネイティブコードによるパフォーマンスの向上 ■著者プロフィール 佐久田昌博:東京大学工学系研究科 精密工学専攻 修士卒。C、C++を中心にソフトウェア技術者として15年の経歴がある。マサチューセッツ工科大学に客員研究員(Visiting Scientist)として1年間在籍。Rust開発を7年ほど前から始め、数多くの個人プロジェクトとともに商用製品の一部に使っている。

最近チェックした本