タグ

2011年5月26日のブックマーク (2件)

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

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

  • http://www.netfort.gr.jp/~ohura/document/lms200206.pdf

    ツールとしての yacc と lex 大浦 真@ LILO ohura@netfort.gr.jp http://www.netfort.gr.jp/˜ohura/ LMS 2002/06 – p. 1/22 目次 yacc って何? lex って何? yacc と lex yacc のファイルの構造 lex のファイルの構造 lex の利用例 yacc と lex の利用例 おわりに LMS 2002/06 – p. 2/22 yacc って何? UNIX で古くから使われているツール。 yacc = Yet Anothoer Compiler Compiler 文法定義から構文解析プログラム (パーサ) を生成するプ ログラム パーサとは 入力された文について、正しい文かどうか、 どういう構造をした文か、などを分析するプログラム。 yacc は単なるプログラムではなく、プログラムを生