JavaCC 令牌中的反斜杠转义字符

Backslash escaped characters in JavaCC token

我正在为这样的字符流编写 JavaCC 解析器

Abc \(Def\) Gh (Ij; Kl); Mno (Pqr)

应该tokenized像这样

  1. Abc \(Def\) Gh
  2. LPAREN
  3. Ij
  4. 分号
  5. Kl
  6. RPAREN
  7. 分号
  8. 没有
  9. LPAREN
  10. Pqr
  11. RPAREN

当前的令牌定义是

TOKEN:
{
  < WORDCHAR : (~[";", "(", ")"])+ >
   |  <LPAREN: "(">
   |  <RPAREN: ")">
   |  <SEMICOLON: ";">
}

我应该如何更改 WORDCHAR 标记以包含反斜杠转义括号而不是没有前导反斜杠的括号?

TOKEN:
{
  < WORDCHAR : (~[";", "(", ")"] | "\(" | "\)")+ >
   |  <LPAREN: "(">
   |  <RPAREN: ")">
   |  <SEMICOLON: ";">
}