-3

式が正しいか、正規表現を使用していないかを確認する必要があります。これには、「if ステートメント」の形式のチェックも含まれます。例: case1:

 if(x==1)
   x = x+1;

正しいと言えます。ケース 2:

else x=x+1;

「部分の場合」が欠落しているため、falseとなります

4

2 に答える 2

1

正規表現を使用してコードを解析することはできません。

次のことを考えてみてください。単純な数式があります。

((x+y))+z...

任意に多くの括弧を使用して、正規表現とどのように一致させますか? 通常の言語にはない何らかの形の記憶が必要です。

できません。A*B*より形式的には、言語(* はKleene star ) が規則的でないことを (ピジョンホールの原理で) 示すことができます。(それ以上、正規表現の一般的な方言はそれを解析できません)

于 2013-04-07T14:33:38.243 に答える
0

正規表現はこれに適したツールではありません。パーサージェネレーターにもっと近いものが必要になるでしょう。

于 2013-04-07T14:33:50.347 に答える