タグ

lexに関するuokadaのブックマーク (5)

  • Cコンパイラ設計(yacc・lexの応用)

    近年、Linuxやcygwinの普及によってだれでもyacc/lexを使って新しい言語を作成し、その処理系を作成することができるようになってきた。 G・フリードマンの「Cコンパイラ設計」は、yacc/lexの使い方を丁寧に説明した名著であるが、英語の原も日も絶版で、amazonのオークションでも買えないため日語訳を借り、OCRから復刻することにした。 Linux、cygwinではbison, flexが使われているので若干書と内容が異なる部分があるが、それも別枠で整理してみたいと考えている。 4章以降は、竹 浩のページ(Wiki)に追加中2008/05/15 コンピュータの発達とともに、これまでにCOBOL,FORTRAN、Pasca1,Lisp、C等、数多くのコンピュータ言語が作られてきました。一般には,新たなコンピュータ言語、あるいはそのコンパイラを作るなどということは

  • フィックスポイント技術者ブログ: ANTLR と Python で構文解析を試してみる

    はじめにKompira では、ジョブフロー言語の構文解析に、PLY (Python Lex-Yacc) [1] を使用しています。PLY は Yacc/Lex という定番の構文字句解析ツールの Python による実装です。Python から利用できるパーサジェネレータは [2] のように数多くあるのですが、筆者自身が使いなれた Yacc/Lex ベースということと、Python ネイティブな実装ということで、PLY を選んでました。 今回は前から気になっていたパーサジェネレータである ANTLR [3] を使って、簡単な式言語の構文解析を実現してみようかと思います。ANTLR は、LL(*) [4] という強力なトップダウン解析手法にもとづいており、サンフランシスコ大学の Terence Parr 教授が中心となって開発しています。ちなみに Terence Parr 教授は「言語実装パタ

  • yacc/lex―プログラムジェネレータon UNIX

    T-press.com Site Name Reserved Dave Lahoti Connect Via Unregistered Alternatives Subscribe to Newsletter SUBSCRIBE 29+ Public Site Names Start With: Tpress T-press.net T-press.site Tpress.com Tpress.house Tpress.net Tpress.online Tpress.store Tpress.top Tpress.website T-press-Plus.com T-pressO.bio T-pressO.biz T-pressO.club T-pressO.com T-pressO.info T-pressO.net T-pressO.org T-pressO.us TpressLlc

  • 自分でプログラム言語を書いてみたい人は「Create Your Own Programming Language」がおすすめ - ブログのおんがえし

    読み終わった。たった100Pにプログラム言語を作るための基礎(字句解析、構文解析、ランタイム、インタプリタ、仮想マシン、ネイティブコンパイルまで!)が一通り学べ、さらに書で作った実際に動くプログラミング言語がついてくる。 $39.99 とちょっと高いがプログラム言語を作る勉強代だと考えれば最も安くそして早く(ドラゴンブックは1090P)学べるのではないだろうか。洋書なのが難点だが半分くらいはソースコードなので苦労しながらなんとかなりました。(日語訳出てほしいなぁ) 書籍内で作る言語は2種類で Awesome Rubyの構文にPythonのインデントブロックを混ぜ合わせたようなオブジェクト型 Mio Ioを参考にしたメッセージ型 言語自体はどちらもRubyで書かれているが紹介される概念は特に言語の制約を受けないものが多い。 よかったところ yaccやbison, JVM系の構文解析ツール

    自分でプログラム言語を書いてみたい人は「Create Your Own Programming Language」がおすすめ - ブログのおんがえし
  • PLY (Python Lex-Yacc)

    Welcome to the PLY homepage. PLY is an implementation of lex and yacc parsing tools for Python. If you don't have the slightest idea what that means, you're probably in the wrong place. Otherwise, keep reading. In a nutshell, PLY is nothing more than a straightforward lex/yacc implementation. Here is a list of its essential features: It's implemented entirely in Python. It uses LR-parsing which is

  • 1