Parse::RecDescent を使用して次の文法を定義しました
my $grammar = q{
top : operand equal value { print $item{value} }
operand: /\w+/
equal : /\=/
value : { my $value = extract_quotelike($text) ;$return =$value;}
};
次のケースを処理したい:
X = 2 -> 2 を出力する必要があります
X = "2" -> 2 を出力する必要があります
x = '2' -> 2 を出力する必要があります
しかし、上記の文法は異なる結果を提供します:
x=2 の場合、解析に失敗します
x="2" の場合 -> "2" を出力します
for x ='2' -> pring '2'
上記の文法を変更して、上記の 3 つのケースすべてで 2 を出力する、つまり引用符を削除するアイデア