ずいぶん前のことなのに反応があって嬉しいよ。
とりあえず、行継続もプリプロセッサディレクティブの処理もエラーチェックも無し、
コメントと文字列だけでいいなら 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■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★2 [BFU★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 [おっさん友の会★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★3 [BFU★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★3 [ぐれ★]
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★8 [おっさん友の会★]
- 高市政権「生んだ以上は育てる」 麻生氏 [どどん★]
- 【高市速報】トヨタ社長、MAGA帽子をかぶって登場し世界を震撼させる [462275543]
- 【実況】博衣こよりのえちえち雑談🧪★2
- 【実況】博衣こよりのえちえち雑談🧪
- 【高市有事】牛肉の対中輸出再開協議が中止wwwwwwwwwwwwwwww [834922174]
- 【👊専】ロケット🚀👊😅👊🚀パーンチww🏡
- 【悲報】コバホーク「中国はちょっと冷静になれよw」 [616817505]
