1
私はこの
Abc \(Def\) Gh (Ij; Kl); Mno (Pqr)
のような文字ストリームのためのJavaCCパーサを書いていると、この
- Abcの\(デフ\)のようにそれをtokenizedを取得する必要があります
Ghのエスケープ
- LPAREN
- Ij
- SEMICOLON
- のKI
- RPAREN
- SEMICOLON
- MNO
- LPAREN
- PQR
- RPAREN
現在のトークン定義が
TOKEN:
{
< WORDCHAR : (~[";", "(", ")"])+ >
| <LPAREN: "(">
| <RPAREN: ")">
| <SEMICOLON: ";">
}
あります
バックスラッシュのエスケープされた括弧を含むようにWORDCHARトークンを変更するにはどうすればよいですか?
'| "\\(" | "\\)" 'WORDCHARのトークン定義はトリックでした。 – haba713
元のポスターの質問に間違いはありません。そしてこの答えに間違いはありません。問題は「バックスラッシュをエスケープした括弧を含むようにWORDCHARトークンを変更するにはどうしたらよいでしょうか?この答えはその質問に正確に答えます。 OPがなぜコードがうまくいかないのか尋ねられたら、それは別の問題です。オリジナルがうまくいかなかった理由は完全に明白です。バックスラッシュについては言及していませんでした。なぜ回答コードが動作するのかを知るには、誰でもその文書を読むことができます。 –