YACCおよび他のYaccのようなプログラム。現在解析されているトークングループのアクション位置変数があります。私は、いくつかのcsvファイル入力を処理して、未知の理由で列の数が変わってしまうことがあるかもしれません。私のルールでは、quoted_stringsと数字は1つ以上のインスタンスを見つけることができます。YACCまたはBisonのアクション変数位置の最大値
rule : DATE_TOKEN QUOTED_NUMBERS q_string numbers { printf(..... $1,$2....}
q_string
: QUOTED_STRING
| QUOTED_STRING q_string
;
numbers
: number numbers
| number
;
number
: INT_VALUE
| FLOAT_VALUE
;
{ printf("%s %s %s \n",$<string>1, $<string>1, $<string>1); }
あるよう
アクションはので、私読まれているどのように多くのトークンを私に告げるランタイムマクロ、constuctまたは変数があり、これまでに解析されたもので物事を行うに追加することができますすべてのトークン値を出力するループを書くことができますか?
はバイソンアクションで$n
変数がないトークンに、右側のシンボルを参照してください$最大