1

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 を出力する、つまり引用符を削除するアイデア

4

1 に答える 1