[英]EBNF to JavaCC lexer
您如何將:: = [A-Za-z]轉換為JavaCC?
我做了什么:
TOKEN :
{
< LETTER : (["A"-"Z"])>
}
但我不知道怎么做較小的字母部分
像這樣:
TOKEN :
{
< LETTER : (["A"-"Z", "a"-"z"])>
}
參考 :
字符列表描述了一組字符。 字符列表的合法匹配是該集合中的任何字符。 字符列表是由方括號內的逗號分隔的字符描述符的列表。 每個字符描述符描述一個字符或一個字符范圍(請參見下面的字符描述符),並將其添加到字符列表的字符集中。 如果字符列表以“〜”符號為前綴,則它表示的字符集是不在指定集中的任何UNICODE字符。
注意規則:
TOKEN :
{
< LETTER : (["A"-"Z", "a"-"z"])>
}
等效於:
TOKEN :
{
< LETTER : ["A"-"Z", "a"-"z"]>
}
兩者都匹配一個字母。 如果要重復該類,則需要括號並附加一個+
量詞:
TOKEN :
{
< LETTERS : (["A"-"Z", "a"-"z"])+ >
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.