2009-03-07 19 views
1

標準でないC環境で使用するための設定ファイルパーサを作成しようとしています。具体的には、私は<stdio.h>によって提供されるユーティリティに頼ることができません。組み込みシステムでLexトークナイザを使用する

私はFlexを使用しようとしていますが、<stdio.h>のFILEポインタではなく、自分の入力構造体を使用する必要があります。

答えて

2

あなたはYY_INPUTメソッドを定義することにより、独自の入力方法を定義することができます。まさに私が探しているもののように見えます

%{ 
    #define YY_INPUT(buf,result,max_size) \ 
     { \ 
     int c = getchar(); \ 
     result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \ 
     } 
    %} 
+0

おかげで、。 –

1

Ragelは、生成されたコードをC関数内で使用できる汎用ステートマシンコンパイラです。トークナイザを構築するための特別なサポートがあります。

関連する問題