タグ

flexに関するmasa_iwasakiのブックマーク (2)

  • Flex - Flex入門

    この章では字句スキャン処理の概念を紹介し、 Flexのようなツールの必要性を指摘します。 この章の後半部分でFlexを紹介し、 Flexを使うことのできる状況の実例をいくつか紹介します。 UnixおよびCの世界では、 ファイルは通常個々のバイトが連続したものとして扱われます。 個々のバイトを集めてどのようにグループ化するかという点は、 プログラマが決めることです。 このような抽象化は非常に強力です。 というのは、 どのようなファイルであってもこの抽象化方法によって表現することができるからです。 しかしこの方法には短所もあり、 プログラマはほとんど常に生のファイルに対して構造をあてはめなければなりません。 言葉を変えると、 ファイルをより意味のある部分に分割しなければならないということです。 例えば、 コンパイラのある部分はファイルから連続した文字を受け取り、 構文チェッカが理解することので

  • bison/flex

    bison/flex(yacc/lex)について (コンパイラコンパイラ) 始めに パーサーを自分で作る必要性がでてきたので、 コンパイラコンパイラを利用してみることにしました。 (パーサーとは、文法に基づいて書かれている文章の中身を 解析するソフトのこと) あまり参考資料がなかったので苦労しました。 苦労したところ、経験して理解したことについてメモしていきます。 基的な文法については、他のぺーじを見て勉強してください。 ちなみにここでは、linuxにインストールされている、 「bison,flex」を利用しています。(多分、どこでも同じでしょうけど。) 1.コンパイルとファイルの関係について flexファイル「*.l」と、bisonファイル「*.y」がソースファイルになる。 ここでは、「parse.y」と「parsel.l」を例にとって説明する。 コンパイルの手順 bison -d p

  • 1