generated at
『言語のしくみ』


これ、自作言語を作りたい人からするとマジで神みたいな本だな...mrsekutmrsekutmrsekut

なぜ言語を作るのか
プログラミング能力の向上
デザイン能力の向上
自己ブランド化
自由の獲得

タイニー言語の例
GAME
BASIC起源
予約語が全て記号、すべての文が代入文
TL/1
Pascalっぽい構文と変数の型が1バイト整数しかない

プログラミング言語の構造
多層的な構造を持つ
言語と言語処理系

言語と言語処理系
言語
言語をデザインするのはコンピュータはなくてもできる
大きくは文法と語彙にわけられる
文法
どのような記述がその言語でのプログラムの表現になるのかを定めたルール
語彙
その言語で記述されたプログラムから呼び出せる機能の集合
言語処理系
文法や語彙を実際にコンピュータ上で実行できるようにするためのソフトウェア
コンパイラ、ライブラリ、ランタイムにわけられる
文法を解釈する
Compile: 編集する、という意味
ライブラリ
語彙に相当
ランタイム
ソフトウェアを実際に動作させるのに必要なもの
バーチャルマシンなど

流れ




2章
ShellScriptのパイプ | は、マルチプロセスで並列に実行している
手軽に並列処理を書けるのは良いが、いかんせんプロセスの生成はコストが高いので、小さいプロセスを作りまくるのはあまり効率が良くない
プロセス間通信もしてるので、そのコストも掛かっている