タグ

yaccに関するtrashsuiteのブックマーク (2)

  • プログラミング言語を作る yaccとlex

    yacc/lexとは Cでプログラミング言語の処理系を実装するのであれば、 多くの場合、yaccとlexというツールを使います。 実のところ、Cとyacc/lexで簡単なプログラミング言語を作る、というのは、 以前、「C言語ヨタ話 」で書いた「 電卓を作ってみよう」 の焼き直しになります。yaccとlexの説明もそちらに簡単に書いたので、 そちらを見てください――と言いたいところですが、 まあここでも軽く説明します。 内容的には重複、というかコピペしている部分もありますが。 プログラミング言語の処理系は、通常、以下のような手順を取ります。 字句解析 ソースプログラムを、「字句(トークン)」の並びに分割する処理です。 構文解析 トークンの並びから、解析木を構築する処理です。 この後、Cなどの機械語を吐くコンパイラや Javaのようなバイトコードを吐くコンパイラなら、 「コード生成」という処理

    trashsuite
    trashsuite 2009/01/09
    構文解析
  • Schemeを作ろう 第1回

    Last update 1999/08/07 Scheme処理系の制作 第1回 (C)平山直之 無断転載は禁止、リンクはフリー 誤字脱字の指摘は歓迎 ゲームとスクリプト はい、また例によって行き当たりばったりな企画です。 といっても、相当長い間私の心の大きな部分を占めていた問題ではあります。 それは言語の処理系の必要性についての問題です。 ゲーム制作、特にRPG・アドベンチャーなどの「シナリオ」の重要性が高いものを作るのに必要不可欠なものに、「イベントスクリプトの処理系」というものがあります。ネットでもこうした「イベントスクリプトの処理系」について考える人が少なくないのも、こうした必要性の表われと言えるでしょう。 しかし、こうした処理系は、それぞれのプログラマが独自の文法でプロジェクトごとに作り直しているのが現状です。これが、コードの再利用、ひいては「気楽にゲームを作る」上での大きな障害に

  • 1