以下のようなプレフィックス表記の正規表現が与えられます。
(r* (r. r| a ( r. b b) (r. c (r* c))) a))
どこ:
c (for any char c) means "regex accepting the single-character string c"
r. means "regex accepting the empty string"
r/ means "regex accepting nothing"
(r| r1 r2 ...) means "r1 union r2 union ..."
(r. r1 r2 ...) means "r1 concat r2 union ..."
(r* r1) means "r1*"
上記の正規表現を入力として与えられた式ツリーにこれを解析するにはどうすればよいですか? 一部の用語内に空白があるため、空白で分割することはできません。そのため、どこから始めればよいかわかりません。