ずいぶん前のことなのに反応があって嬉しいよ。
とりあえず、行継続もプリプロセッサディレクティブの処理もエラーチェックも無し、
コメントと文字列だけでいいなら flex ならこう書ける。
https://ideone.com/NbLVjc
本当は '"' みたいな文字定数も想定しなきゃまずいけどね。
もちろん、flex を使わなくてもできる。
yylex を手書きするなら、まず 1 バイト読んで
switch ( c){
case '"': read_string(); break;
case '/': read_comment(); break;
みたいにするのが伝統的な方法だったりする。
この方法では switch から出る前にトークンを完結させる。
コメントや文字列定数の中と、それ以外の部分で文法が違うから
別の処理になっていると理解してほしい。
こうしなければならないわけではなく、テーブル駆動とかステートマシンが好みならそうすればいい。
重要なのは、yylex を 1 回呼べばトークンが 1 個完結しているということ。
もちろん Perl でも同じやり方はできる。できるけど…… Perl ですよ?
助けてくれるモジュールがあるんだから使ってみない? Parse::Lex とか。
flex をかじっておけば理解しやすいと思うよ。
Perlについての質問箱 63箱目
■ このスレッドは過去ログ倉庫に格納されています
753デフォルトの名無しさん
2017/06/14(水) 23:53:09.01ID:nXcqV3BV■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【コメ】卸売業者「簡単に安売りできない」 「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 [Hitzeschleier★]
- 中国から訓練の連絡あったが、区域など具体的な内容知らされず=小泉防衛相 [♪♪♪★]
- 空自機レーダー照射、音声データ公開 中国 ★4 [蚤の市★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★2 [少考さん★]
- 【高市早苗総理】食料品消費減税に慎重「今すぐ約束できない」…「物価上昇率は徐々に落ち着いていくと見込んでいる」 [Hitzeschleier★]
- 鈴木農水大臣「私がJAグループに何か利益誘導するということは全くありません」“おこめ券”めぐり“JA救済”をきっぱりと否定 [Hitzeschleier★]
- 【高市速報】小泉進次郎「事前に中国軍から飛行訓練を開始すると連絡があったのは事実」 [931948549]
- 長期国債の金利、一時的に1.98%まで行く [805596214]
- お昼のパワーアナルスレ
- 【正論】高市さん「『企業献金について与野党で協議する』という答弁は石破個人のものであり、もはや無効」特定野党を完全論破 [519511584]
- (ヽ°ん゚)「ODした」オーバードーズしてそうなもの [377482965]
- 【悲報】高市早苗政権に文春砲が連発! [115996789]
