標準でないC環境で使用するための設定ファイルパーサを作成しようとしています。具体的には、私は<stdio.h>
によって提供されるユーティリティに頼ることができません。組み込みシステムでLexトークナイザを使用する
私はFlexを使用しようとしていますが、<stdio.h>
のFILEポインタではなく、自分の入力構造体を使用する必要があります。
標準でないC環境で使用するための設定ファイルパーサを作成しようとしています。具体的には、私は<stdio.h>
によって提供されるユーティリティに頼ることができません。組み込みシステムでLexトークナイザを使用する
私はFlexを使用しようとしていますが、<stdio.h>
のFILEポインタではなく、自分の入力構造体を使用する必要があります。
あなたはYY_INPUTメソッドを定義することにより、独自の入力方法を定義することができます。まさに私が探しているもののように見えます
%{
#define YY_INPUT(buf,result,max_size) \
{ \
int c = getchar(); \
result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \
}
%}
Ragelは、生成されたコードをC関数内で使用できる汎用ステートマシンコンパイラです。トークナイザを構築するための特別なサポートがあります。
おかげで、。 –