反斜杠转义了JavaCC令牌

时间:2017-01-06 13:28:50

标签: javacc

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

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

并且应该像这样tokenized

  1. Abc \(Def \)Gh
  2. LPAREN
  3. IJ
  4. SEMICOLON
  5. 吉隆坡
  6. RPAREN
  7. SEMICOLON
  8. MNO
  9. LPAREN
  10. PQR
  11. RPAREN
  12. 当前令牌定义是

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

    如何更改WORDCHAR标记以包含反斜杠转义括号但不包括括号而不使用反斜杠?

1 个答案:

答案 0 :(得分:0)

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