進藤/Flex
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
//研究室限定
[[進藤/修士論文(タイトル未定)]]
*Flex [#vc6f829b]
ページを後世に残して役に立つかわからないが作成。~
入門書が少しわかりにくいので作成。自分のためにw~
使えそうなマニュアル集↓↓↓~
[[日本語マニュアル>http://www.linux.or.jp/JM/html/flex/man1/flex.1.html]]~
[[Flex入門Web版>http://www.asahi-net.or.jp/~wg5k-ickw/html/online/flex-2.5.4/flex_toc.html]]
~
**Flexとは [#oa99acf8]
-lex の GNU 版、様々な拡張
-lex: lexical analyzer (作者の名前は Lesk)
-コンパイラなどの字句解析が簡単に記述可能
-構文解析機 bison と相性がよい
**Flexの動作 [#ka93e894]
-拡張子 .l で終わる flex 入力ファイルを作る (例: test.l)
-flex で test.l ファイルから lex.yy.c ファイルを作る:
->flex test.l
-lex.yy.c を (他のファイルと一緒に) コンパイルする
**Flexの使い方 [#o8500c43]
1.独自のファイル処理に使う (正規表現によるファイルの一部の認識・変更)~
main から yylex() 関数を一回呼ぶ~
~
2.構文解析から使う~
構文解析から yylex() を繰り返し読んで、トークンを返すようにする~
**入力の形式 [#ef16c36d]
flex 専用の指示と C プログラムの一部分が混在~
~
主に、二つの %% で区切られている三つの部分からなる: ~
~
-前文 (変数の定義と初期化、良く使う字句の定義など) ~
-字句規則とその場合に実行するプログラムの部分 ~
-そのほかのの関数など ~
その三つの部分の間に区切りとして %% がある~
つまり…~
~
~
変数定義、初期化、字句定義~
%%~
字句規則、と、適合時のプログラム~
%%~
そのほかの関数など、Cコード~
~
の三部分に分かれて記述されている。~
~
終了行:
//研究室限定
[[進藤/修士論文(タイトル未定)]]
*Flex [#vc6f829b]
ページを後世に残して役に立つかわからないが作成。~
入門書が少しわかりにくいので作成。自分のためにw~
使えそうなマニュアル集↓↓↓~
[[日本語マニュアル>http://www.linux.or.jp/JM/html/flex/man1/flex.1.html]]~
[[Flex入門Web版>http://www.asahi-net.or.jp/~wg5k-ickw/html/online/flex-2.5.4/flex_toc.html]]
~
**Flexとは [#oa99acf8]
-lex の GNU 版、様々な拡張
-lex: lexical analyzer (作者の名前は Lesk)
-コンパイラなどの字句解析が簡単に記述可能
-構文解析機 bison と相性がよい
**Flexの動作 [#ka93e894]
-拡張子 .l で終わる flex 入力ファイルを作る (例: test.l)
-flex で test.l ファイルから lex.yy.c ファイルを作る:
->flex test.l
-lex.yy.c を (他のファイルと一緒に) コンパイルする
**Flexの使い方 [#o8500c43]
1.独自のファイル処理に使う (正規表現によるファイルの一部の認識・変更)~
main から yylex() 関数を一回呼ぶ~
~
2.構文解析から使う~
構文解析から yylex() を繰り返し読んで、トークンを返すようにする~
**入力の形式 [#ef16c36d]
flex 専用の指示と C プログラムの一部分が混在~
~
主に、二つの %% で区切られている三つの部分からなる: ~
~
-前文 (変数の定義と初期化、良く使う字句の定義など) ~
-字句規則とその場合に実行するプログラムの部分 ~
-そのほかのの関数など ~
その三つの部分の間に区切りとして %% がある~
つまり…~
~
~
変数定義、初期化、字句定義~
%%~
字句規則、と、適合時のプログラム~
%%~
そのほかの関数など、Cコード~
~
の三部分に分かれて記述されている。~
~
ページ名: