私の大学はもうすぐ始まりますが、残りの数週間で何かしたいです:)
私は前学期にコースを受講しましたがprogramming languages
、自分の知識を実現したいと思っています。ジュニアプログラマーが通訳を実装できるシンプルでエレガントな言語は何ですか?
言語が非常に小さいか実験的であるかは気にしません。
私の大学はもうすぐ始まりますが、残りの数週間で何かしたいです:)
私は前学期にコースを受講しましたがprogramming languages
、自分の知識を実現したいと思っています。ジュニアプログラマーが通訳を実装できるシンプルでエレガントな言語は何ですか?
言語が非常に小さいか実験的であるかは気にしません。
組み立て
私はそれをマシンコードにコンパイルすることについて話しているのではありません。ただの通訳。
初年度に作成しましたが、教授が仮想マシンを作成しましたが、それでも自分で作成することができます。
RPALはラムダ式にコンパイルされ、ラムダ式を解釈できます。
独自の言語を設計し、それを実装しようとします。次に、c ++、Java、c Sharpなどを設計および実装した言語の前に、謙虚に身をかがめます。
でもぜひお試しください!それはやりがいがあり、ほとんどが楽しいです!
Wirth's Pascalは、簡単に構文解析できるように設計された古典言語であり、厳密ですが単純なセマンティクスを持ち、構文解析/コンパイラー作成の演習としてよく使用されます。
命令型(変更ベース)の背景(アセンブリ、C、Pascalに精通している)から来て、解釈が非常に簡単なため、 brainfuckの適応を試すことができます。
これは、人間が読める形式の構文をほとんど使用せずにアセンブリのような言語に拡張でき、ある程度の努力を払えば、少し基本(またはC)になります。
関数型言語をターゲットにすると、少しのLISPまたはラムダ計算は比較的簡単です。IronLispや48時間のチュートリアルで自分でスキームを書くなどのいくつかの実装があります。
何人かの人々は彼らの暇な時に私のスタックベースの言語(Cat)の変形を実装しました。
jasmin スタックベースのアセンブリであり、Javaを逆コンパイルして、簡単に記述できる簡単なテストプログラムにすることができます。
任意の言語を選択できますが、その言語のサブセットに対してのみ通訳を行います。このようにして、慣れ親しんだ言語で作業を開始でき、新しい言語の学習に時間を費やす必要がありません。
PALは、コンパイラクラスで使用した言語です。PALとは何ですか?それはPASCALのサブセットです。
とにかく、すべてがコンパイル時なので、pascalは素晴らしいです。
BASICはかなり基本的です....よく基本的です:)。式を評価することから始めることができます。それでも、コラージュをしているときはとても満足です。どの言語を使用する予定ですか?