タグ

lexに関するmasterqのブックマーク (3)

  • Algol 60 in PLY (Python Lex-Yacc)

    PLY (Python Lex-Yacc) で作る Algol 60 処理系 2008.9.26 - 2008.10.17 - 2008.12.8 - 2009.2.17 (鈴) 第1部 1. はじめに 2. Algol 60 とは 2.1 Algol 60 修正報告書 3. PLY の導入 4. 字句解析 4.1 字句解析ルールの記述 5. 構文解析 5.1 構文解析ルールの記述 5.2 Algol 60 生成規則の修正 6. ここまでのまとめ 第2部 7. 名前の解決 8. インタープリタ - 文の単方向リンクと goto 文 9. インタープリタ - 手続きとディスプレイとスタック 10. インタープリタ - 式の中からの大域脱出 11. インタープリタ - call-by-name の実現 12. インタープリタ - のこりの言語要素 第3部 13. インタープリタへの標準関数の組

  • PLY (Python Lex-Yacc)

    原文 Documentation version: $Header: /cvs/projects/PLY/doc/ply.html,v 1.3 2004/05/27 17:30:56 beazley Exp $ PLY Version: 1.5 目次 Introduction PLY概要 Lexの例 Lex実装ノート 基的なパージング yaccの例 文法規則関数の結合 空生成規則 曖昧文法を扱う parser.out ファイルについて 構文エラーの処理 行番号の追跡 ASTの構築 Yacc 実装ノート パーサとLexer State Management Pythonの最適化モードを使用する 次にすべきこと Introduction PLYはポピュラーなコンパイラ構築ツールであるlexとyaccのピュアPython実装である。この実装は、先人の

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

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

  • 1