flex/bison は、N が事前にわかっている場合、x、y、z 座標を表す 3 つの float で構成される N 個の頂点を含むデータ構造の解析に適していますか? もしそうなら、パーサー/レクサーのセットアップはどのようになりますか?
埋めたい構造 (これらの配列を作成します)
struct Vertex
{
float x;
float y;
float z;
};
入力テキスト
Vertices: n
x1 y1 z1
x2 y2 z2
...
xN yN zN
私が真実であると想定していること (flex/bison で新しいので、おそらく間違っている)
パーサー定義で定義されたトークン
%token VERTICES_IDENTIFIER
%token COLON
%token NUM
レクサー規則
Vertices { return VERTICES_IDENTIFIER;}
: { return COLON; }
[0-9]+ |
[0-9]+"."[0-9]* {return NUM;}