yaccとは、"yet another compiler-compiler"(さらにもう一つのコンパイラ-コンパイラ)という意味で、
yaccの開発者である、スティーヴ・ジョンソン氏が当時(1972年頃)に存在していた同種のプログラムの多さを
皮肉った言葉に由来している。yaccはその中で生き残ったごく少数のうちの一つである。
lexはyaccがパーサーを作成するのと同様の方法で字句解析ルーチンを作る。即ち、自分の言語の字句規則の
仕様を正規表現と、その正規表現に一致する文字列が見つかった時に、実行すべきCプログラムにより記述すればよい。
lexとyaccは、我々が既に書いてきた字句解析ルーチンと同一のメカニズムで、共同して働く。
yacc & lex
■ このスレッドは過去ログ倉庫に格納されています
1SystemX
NGNGNGNG
>>12
ユッケ食いたいなぁ・・・。
ユッケ食いたいなぁ・・・。
14棄教者 ◆witdLTi2
NGNGNGNG
lex どんな時に使ってる?
NGNG
みゆりんってだれ?
18名無しさん@お腹いっぱい。
NGNG 率直な話、プログラマじゃなきゃ使い道ないとおもうなぁ。
ふつーの文字列処理で使えるものなのか?
一般人の使うような使い方があったらだれか教えて
ふつーの文字列処理で使えるものなのか?
一般人の使うような使い方があったらだれか教えて
NGNG
>>18
個人的なプチコンパイラつくって悦に浸るとき。
個人的なプチコンパイラつくって悦に浸るとき。
NGNG
意外と便利だが、最近はXMLパーサを利用してしまう……
NGNG
22えんぢにあ
NGNG23棄教者 ◆witdLTi2
NGNGNGNG
個人レベルでパーサ作る時はracc使うなあ…
正直、lex&yaccは面倒すぎ。
正直、lex&yaccは面倒すぎ。
NGNG
俺、yacc は使うけど lex の部分は手で書いちゃう。
再帰降下型パーサーで、ちょちょいと書けるような
簡単な文法だと、yacc も使わずに、すべて手で書い
ちゃう。
これって、ひょっとして old type よりもさらに
older ってことですか? 欝だ死脳
再帰降下型パーサーで、ちょちょいと書けるような
簡単な文法だと、yacc も使わずに、すべて手で書い
ちゃう。
これって、ひょっとして old type よりもさらに
older ってことですか? 欝だ死脳
NGNG
いや、yacc も lex も使わず手で書いてしまうってのはよくある。
NGNG
何でいまだにほとんどのUnixに標準添付なのかと。
いやツールのmakeんときに必要なんだろうけどさ
いやツールのmakeんときに必要なんだろうけどさ
28名無しさん@お腹いっぱい。
NGNG29名無しさん@Emacs
NGNGNGNG
SymphonyXに見えた
NGNG
>>30
あのウソコバソドか
あのウソコバソドか
32萌え萌え ◆MOE73MOE
NGNG プログラム板にも何冊か推薦図書がありましたが、ぼくが参考にしたのは
yacc/lex プログラムジェネレータ on UNIX 五月女健治 テクノプレス
コンパイラ構成法 原田賢一 共立出版
他にも「コンパイラ」に関する本は何冊かありましたが、むしろ
yacc/lex の使い方よりもコンパイラの理論が中心になっているので、
初心者には取っつきにくいかもしれません。
yacc/lex プログラムジェネレータ on UNIX 五月女健治 テクノプレス
コンパイラ構成法 原田賢一 共立出版
他にも「コンパイラ」に関する本は何冊かありましたが、むしろ
yacc/lex の使い方よりもコンパイラの理論が中心になっているので、
初心者には取っつきにくいかもしれません。
33棄教者 ◆KIKYO7cg
NGNG >>32ハンドル間違えた。
34棄教者 ◆KIKYO7cg
NGNG http://www.linux.or.jp/JF/workshop/JF-in-Progress.html
の翻訳進捗状況一覧眺めていたら
Lex-YACC-HOWTO 未訳だってさ。
2CHer で訳さない?
の翻訳進捗状況一覧眺めていたら
Lex-YACC-HOWTO 未訳だってさ。
2CHer で訳さない?
NGNG
NGNG
37仕様書無しさん
NGNG lex&yacc入門なら
「UNIXプログラミング環境」 アスキー
に、素晴らしい章がある。本気でやってみたいんなら、
この章を読むためだけに買ってもいいんじゃないかと思う。
これを読んだ後で、ほかの本を買えばいいんじゃないかな。
でも、この本、まだ売ってんのかな?
「UNIXプログラミング環境」 アスキー
に、素晴らしい章がある。本気でやってみたいんなら、
この章を読むためだけに買ってもいいんじゃないかと思う。
これを読んだ後で、ほかの本を買えばいいんじゃないかな。
でも、この本、まだ売ってんのかな?
NGNG
NGNG
>>37
その章だけ学校の図書館でコピーしたよ、昔。
その章だけ学校の図書館でコピーしたよ、昔。
4035
NGNG >>36
本のほうは入手困難ぽ。俺もだいぶ苦労しますた。
Cマガの99年10月号についてるCDにキモの部分が入ってるそうなんで
(http://www.context.co.jp/~cond/books/ ご参照)
これをなんとか入手するのが早いかもです。
x86向けコードを吐き出す (最適化はあんまりやってないけど)
実物のCコンパイラを題材として分かりやすく説明してくれてるいい本でした。
>>37
残念ながらそっちも絶版ぽ
本気で言語処理系学ぶならやっぱドラゴンブックに挑むのがいいんかねえ。
本のほうは入手困難ぽ。俺もだいぶ苦労しますた。
Cマガの99年10月号についてるCDにキモの部分が入ってるそうなんで
(http://www.context.co.jp/~cond/books/ ご参照)
これをなんとか入手するのが早いかもです。
x86向けコードを吐き出す (最適化はあんまりやってないけど)
実物のCコンパイラを題材として分かりやすく説明してくれてるいい本でした。
>>37
残念ながらそっちも絶版ぽ
本気で言語処理系学ぶならやっぱドラゴンブックに挑むのがいいんかねえ。
NGNG
読み方についてなのだが、以下の形でよいのだろうか?
lex ......... レックス
yacc .... ヤック
flex ....... フレックス
bison ... バイソン
lex ......... レックス
yacc .... ヤック
flex ....... フレックス
bison ... バイソン
NGNG
lex レフ
yacc ヤッシッシー
flex フレフ
bison ビソン
yacc ヤッシッシー
flex フレフ
bison ビソン
NGNG
れきしかるあならいざじぇねれーた
いぇっとあなざーこんぱいらこんぱいら
ふぁーすとれきしかるあならいざじぇねれーた
のうし
いぇっとあなざーこんぱいらこんぱいら
ふぁーすとれきしかるあならいざじぇねれーた
のうし
NGNG
炒飯
餃子
レバニラ炒め
天津飯
餃子
レバニラ炒め
天津飯
NGNG
>>41
いいんじゃネーノ?
いいんじゃネーノ?
NGNG
UNIXに関する言葉のカタカナ読みスレッド
http://pc.2ch.net/test/read.cgi/unix/979465046/
http://pc.2ch.net/test/read.cgi/unix/979465046/
47名無しさん@お腹いっぱい。
NGNG 誰か、%type に複数の項目をカンマで区切って並べる書き方の載っている
マニュアルか何かを知りませんか?
bison-1.75 がタコで、ルールの末尾のセミコロンが絶対必要になったのと
複数項目をカンマで区切って並べる書き方を認めなくなったおかげで、
世間に存在する大量の yacc コードがコンパイルできなくなった模様。
作者は「こりゃ仕様だセミコロンつけないヤシが悪いんだゴルァ」と
MLでおっしゃってます。
直してもらおうと思って Single Unix Specification ではどうなって
いるか調べてみたんだけど、ダメらしい。yaccによるyaccの文法定義は
PSD:15の孫引きなんで、世間のマニュアルはみんな右に倣えの予感。
V7のyaccをコンパイルして試してみたらカンマでもちゃんと通ります。
マニュアルか何かを知りませんか?
bison-1.75 がタコで、ルールの末尾のセミコロンが絶対必要になったのと
複数項目をカンマで区切って並べる書き方を認めなくなったおかげで、
世間に存在する大量の yacc コードがコンパイルできなくなった模様。
作者は「こりゃ仕様だセミコロンつけないヤシが悪いんだゴルァ」と
MLでおっしゃってます。
直してもらおうと思って Single Unix Specification ではどうなって
いるか調べてみたんだけど、ダメらしい。yaccによるyaccの文法定義は
PSD:15の孫引きなんで、世間のマニュアルはみんな右に倣えの予感。
V7のyaccをコンパイルして試してみたらカンマでもちゃんと通ります。
48名無しさん@お腹いっぱい。
NGNG49山崎渉
NGNG (^^)
50ファンキー大山
NGNG やっくすのせりかた
52山崎渉
NGNG (^^)
53山崎渉
NGNG (^^)
54あぼーん
NGNGあぼーん
55名無しさん@お腹いっぱい。
NGNG flex でルール部を C の変数で動的に生成することって出来ないですかね?
56クンクン(葬式)
NGNG57あぼーん
NGNGあぼーん
58名無しさん@お腹いっぱい。
NGNG59名無しさん@お腹いっぱい。
NGNG yacc -d とか bison -y が通らないものは
"byacc"つかうとたいてい通る。
しかしナニをするものなのかとかは
全くシラン。
"byacc"つかうとたいてい通る。
しかしナニをするものなのかとかは
全くシラン。
60あぼーん
NGNGあぼーん
61名無しさん@お腹いっぱい。
NGNGNGNG
63名無しさん@お腹いっぱい。
NGNG64あぼーん
NGNGあぼーん
65あぼーん
NGNGあぼーん
NGNG
設定ファイルの書式もなんだかんだでXMLになりつつあるしなあ。
NGNG
>>63
正規表現ライブラリの代わりとか
正規表現ライブラリの代わりとか
NGNG
補修
69名無しさん@お腹いっぱい。
NGNG raccのこととかも語ってちょ。
70名無しさん@お腹いっぱい。
NGNG アドベンチャーゲームなど用にスクリプトプログラムを作成したいのですが、
そのような目的にyaccやlexって向いていますか?
yaccやlexについて調べようとおもったのですが、見つけることができませんでした。
開発環境はWindowsですので、bisonとflexというのを入れてみました。
そのような目的にyaccやlexって向いていますか?
yaccやlexについて調べようとおもったのですが、見つけることができませんでした。
開発環境はWindowsですので、bisonとflexというのを入れてみました。
NGNG
>>70
スクリプトプログラムを作成するインタプリタプログラムを作るには
むいてるかもしれない。日本語周りは要注意ね。
Unix板的には
「既存のものを使え」
「既存のもので満足できなければ改造しろ」
と思う。車輪の再発明はもっとも愚かだ
スクリプトプログラムを作成するインタプリタプログラムを作るには
むいてるかもしれない。日本語周りは要注意ね。
Unix板的には
「既存のものを使え」
「既存のもので満足できなければ改造しろ」
と思う。車輪の再発明はもっとも愚かだ
72名無しさん@お腹いっぱい。
NGNG Lexで標準入力以外(例えば文字列)を取得したい場合、下記のような定義をすると思うんですが、
#undef YY_INPUT
#define YY_INPUT(buf, result, max_size) (result = my_yyinput(buf, max_size))
この場合、my_yyinput()はどういうタイミングで呼ばれるのでしょうか?
また、bufの値はどこで設定すればよいのでしょうか?
#undef YY_INPUT
#define YY_INPUT(buf, result, max_size) (result = my_yyinput(buf, max_size))
この場合、my_yyinput()はどういうタイミングで呼ばれるのでしょうか?
また、bufの値はどこで設定すればよいのでしょうか?
NGNG
>>71
私は車輪を再発明して理解しろ。という方が好きです
私は車輪を再発明して理解しろ。という方が好きです
NGNG
学生やアマチュアはそれで良いんじゃないの
75名無しさん@Vim%Chalice
05/01/30 03:09:2105/01/30 09:05:18
>>71
お前は愚かだ
お前は愚かだ
05/02/01 12:45:38
車輪の再発明は勉強にはなるけど学生のうちに済ませとけ
05/02/01 17:58:32
自分らは普段なにやってるの?車輪磨き?
05/03/05 23:39:09
UNIXプログラミング環境
在庫があるところにはあるらしい
www.boople.com/servlet/AFsearch?&isc=&idn=321429&iqm=2
在庫があるところにはあるらしい
www.boople.com/servlet/AFsearch?&isc=&idn=321429&iqm=2
05/03/07 20:57:01
2006/01/18(水) 02:07:16
からあげ うまうま だよもん
2006/04/03(月) 12:15:00
flex のyy_push_state() って、FlexLexer ではprotected なのですが
ってことは、.y 側のルールでyy_push_state() を使うのはunsupported でつか?
ってことは、.y 側のルールでyy_push_state() を使うのはunsupported でつか?
2006/07/05(水) 02:03:44
初めて lex を使ってみました。なんか面白いのねん。
2006/07/10(月) 19:35:15
lex は yy.lex.c吐くわ、yyナンチャラいう変数/関数をもってるわ
なぜそこで yy? あんた lexさんでしょう?と思ってしまうのですが
yyがつくものは yaccへの引渡しを想定していますよという暗示なのん?
なんつ−か、
歴史的な経緯とかyacc/lex開発時のエピソ−ドがあるようなら教えて下しい
もしかして lex is Yet another Yacc だからとかいう話しなのかしらん?
という質問はくだ質逝ったほうが吉?
なぜそこで yy? あんた lexさんでしょう?と思ってしまうのですが
yyがつくものは yaccへの引渡しを想定していますよという暗示なのん?
なんつ−か、
歴史的な経緯とかyacc/lex開発時のエピソ−ドがあるようなら教えて下しい
もしかして lex is Yet another Yacc だからとかいう話しなのかしらん?
という質問はくだ質逝ったほうが吉?
8584
2006/07/11(火) 13:01:49 << yy.lex.c
>> lex.yy.c 誤記ですた
>> lex.yy.c 誤記ですた
2006/07/27(木) 18:31:21
bisonでコンパイルするときに使う記号テーブルって何で必要なんだ?
誰か教えてくれorz
ぐぐっても見つかんない・・・
誰か教えてくれorz
ぐぐっても見つかんない・・・
2006/07/27(木) 18:50:10
88名無しさん@お腹いっぱい。
2006/07/27(木) 23:20:24 >>86
そんなレベルで bison 使うの?
そんなレベルで bison 使うの?
8986
2006/07/28(金) 00:59:27 使わないといけないらしいです。
http://www.kuzbass.ru/docs/unixprogenv/src/hoc4/
これでy=1+5*yを計算したときにどうなるかって言う課題が出て
プリントを復習中ですけど、明日までに間に合いそうに無いので
困り果ててますorz
constpush:1
constpush:5
varpush:x
eval
mul
add
varpush:y
assign
pop
STOP
って感じでいいのかなぁ・・・。
http://www.kuzbass.ru/docs/unixprogenv/src/hoc4/
これでy=1+5*yを計算したときにどうなるかって言う課題が出て
プリントを復習中ですけど、明日までに間に合いそうに無いので
困り果ててますorz
constpush:1
constpush:5
varpush:x
eval
mul
add
varpush:y
assign
pop
STOP
って感じでいいのかなぁ・・・。
2006/07/28(金) 22:52:12
なんじゃそりゃ
91名無しさん@お腹いっぱい。
2007/06/28(木) 02:50:14 yyac 使って,define に相当するようなコマンドをもつ
コンパイラ or インタプリタを作るには
どうしたらいいのでしょうか.
参考文献を教えて下さると有難いです.
それとも不可能ですか?
コンパイラ or インタプリタを作るには
どうしたらいいのでしょうか.
参考文献を教えて下さると有難いです.
それとも不可能ですか?
2007/06/28(木) 02:59:57
BNFで書けるなら(つまり文脈自由文法なら)yaccで記述出来るし
BNFで書けないならyaccで記述出来ない
そのdefineをBNFで書いて見る事をお奨めする
BNFで書けないならyaccで記述出来ない
そのdefineをBNFで書いて見る事をお奨めする
2007/06/30(土) 14:03:07
ああ、ひょっとして91が作りたかったのは
defineじゃなくてインタプリタの事じゃないだろうか?
もしそうならyaccでは不可能。
だって、yaccはCompiler Compilerだから。
defineじゃなくてインタプリタの事じゃないだろうか?
もしそうならyaccでは不可能。
だって、yaccはCompiler Compilerだから。
2007/06/30(土) 15:08:19
(´・ω・`)
2007/06/30(土) 20:15:09
2007/07/01(日) 02:27:18
97名無しさん@お腹いっぱい。
2007/07/01(日) 22:01:53 >>93
マクロ定義ができるコンパイラが作りたかったんじゃね?
マクロ定義ができるコンパイラが作りたかったんじゃね?
2007/07/02(月) 00:15:22
(´・ω・`)
99名無しさん@お腹いっぱい。
2007/07/07(土) 17:12:42 関数定義ができるコンパイラを yacc で記述するにはどうしたらいいですか?
2007/07/08(日) 10:09:07
100ゲト!
普通が一番だよ
普通が一番だよ
2007/07/19(木) 15:40:27
rAwIsK name is Kostya.My nick is Zold . I want to find friends .ICQ 324600825
2007/07/26(木) 17:55:32
antlr
2008/08/30(土) 23:01:26
BS1にチョムスキー出てた
104名無しさん@お腹いっぱい。
2008/10/30(木) 23:58:54 c言語でコメント/*から*/を字句解析できないようにさせるには、
規則部にどういう正規表現をすればいいですか?
/*
・・・・・・
*/
となっています。
規則部にどういう正規表現をすればいいですか?
/*
・・・・・・
*/
となっています。
2008/10/31(金) 00:52:06
lex?
flexのFAQに、
How can I match C-style comments?
ってのがあるよ。
flexのFAQに、
How can I match C-style comments?
ってのがあるよ。
2008/10/31(金) 12:09:51
flex だったらそれでいいね。
一般的には、
非欲張り型量指定子 *? が使えるなら /\*.*?\*/ でおk
使えない場合は少々厄介で、
/\*([^*]|\*+[^/*])*\*+/
詳説正規表現の第二版だと 6.6.8.3 にある。
一般的には、
非欲張り型量指定子 *? が使えるなら /\*.*?\*/ でおk
使えない場合は少々厄介で、
/\*([^*]|\*+[^/*])*\*+/
詳説正規表現の第二版だと 6.6.8.3 にある。
107名無しさん@お腹いっぱい。
2008/11/01(土) 00:04:56108名無しさん@お腹いっぱい。
2008/11/01(土) 00:35:06109名無しさん@お腹いっぱい。
2008/11/01(土) 01:56:53 ファイルからプログラムを読み込ませてそのプログラムに出てくる演算子とか
識別子の数を一番下に表示させるようにするにはどうしたらいいですか?
識別子の数を一番下に表示させるようにするにはどうしたらいいですか?
2008/11/01(土) 09:43:16
パーズしろ。
2008/11/01(土) 16:25:17
C言語のコメントってプリプロセッサが空白に置換するものだよ。
2008/11/02(日) 11:08:35
サーバの役割のひとつに
クライアントからの電文をプロトコルにしたがって解析して、処理し、返答を
返すという役割があるかと思います。
パーサジェネレータをつかって、簡単に上記のような枠組みを
実装するようなことはできないでしょうか。
インタプリタをパーサジェネレータを使って実装するような流れはあるのに、
drubyやerlang、アクターモデルなどの実装方法とパーサジェネレータが
なぜか結び付けられていないのが不思議に思われます。
クライアントからの電文をプロトコルにしたがって解析して、処理し、返答を
返すという役割があるかと思います。
パーサジェネレータをつかって、簡単に上記のような枠組みを
実装するようなことはできないでしょうか。
インタプリタをパーサジェネレータを使って実装するような流れはあるのに、
drubyやerlang、アクターモデルなどの実装方法とパーサジェネレータが
なぜか結び付けられていないのが不思議に思われます。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【ゲーム】「余命宣告を受けた息子の為に“Switch2”を優先的に買わせて欲しい」母親が任天堂に直談判した結果… ★2 [ネギうどん★]
- 【田中圭との不倫報道】《憔悴の近影》永野芽郁、頬がこけ、目元を腫らして…移動時には“厳戒態勢”「事務所車までダッシュ」 [Ailuropoda melanoleuca★]
- 【石破首相】消費税減税について3点あげ否定的な考え示す「次の時代に責任を持つ。本当に困窮の方に手厚い措置する」 [ぐれ★]
- 大阪万博で販売されていた“旧統一教会系企業”が製造する炭酸飲料「メッコール」を販売停止 [おっさん友の会★]
- 【千葉】若葉区 殺人事件 中学3年生の15歳少年 殺人の疑いで逮捕 2人は面識なしか [ぐれ★]
- かっぱえびせん値上げ [おっさん友の会★]
- ジャップ、ヘコヘコしてMAGA帽子まで被ったのに強硬中国以下の関税交渉成果… [667744927]
- 三三👊😅👊💥🏡💥👊😅👊三三
- 【速報】アメリカ、中国製品への関税145⇒30%に、中国、アメリカ製品への関税125⇒10%に引き下げ。90日間 [718678614]
- 【速報】1ドル147円。再び円安ドル高に [718678614]
- 【朗報】千葉の新ロッテスタジアム、建設費用はわずか2,505億円程度で収まる模様!!税金払ってる身としては助かるね❤ [339712612]
- 【脱獄】Grokに安倍晋三のエロ小説を書かせるプロンプト作った [159091185]