아래 문법에서는 '
으로 시작하는 줄을 한 줄 주석으로 구성하고 /' Multiline Comment '/
사이의 항목을 구성하려고합니다. 한 줄짜리 주석은 잘 작동합니다. 하지만 어떤 이유로 든 /
또는 '
또는 ';' 또는 <
또는 '>'오류가 발생합니다. 위의 문자가 구성되어 있지 않습니다. 기본값으로 간주되고 구문 분석을 건너 뛰지 않아야합니까?줄 0, 열 0에서 어휘 에러가 발생했습니다.
오류
Lexical error at line 0, column 0. Encountered: "\"" (34), after : ""
Lexical error at line 0, column 0. Encountered: ">" (62), after : ""
Lexical error at line 0, column 0. Encountered: "\n" (10), after : "-"
는 난 단지 간결함을 위해 아래 코드의 일부를 포함했다. 전체 렉서 정의를 보려면 link
TOKEN :
{
< WHITESPACE:
" "
| "\t"
| "\n"
| "\r"
| "\f">
}
/* COMMENTS */
MORE :
{
<"/'"> { input_stream.backup(1); } : IN_MULTI_LINE_COMMENT
}
<IN_MULTI_LINE_COMMENT>
TOKEN :
{
<MULTI_LINE_COMMENT: "'/" > : DEFAULT
}
<IN_MULTI_LINE_COMMENT>
MORE :
{
< ~[] >
}
TOKEN :
{
<SINGLE_LINE_COMMENT: "'" (~["\n", "\r"])* ("\n" | "\r" | "\r\n")?>
}
어제 시도한 것들 중 하나는 'TOKEN : {}'입니다. 다른 이유로 인해 작동하지 않았습니다. IDE에서 구문 하이라이팅을 제공하기 위해이 렉서를 개발 중이므로 '입력하자 마자'라고 말했습니다. 파서를 아직 구현할 계획이 없습니다. 언어에 속하지 않는 문자는 건너 뛰어도 충분합니다. 나는 이것을 고치려고 하루 종일 보냈고 오늘 아침에 답을보고 한 번에 해결할 수있었습니다. 나는 그들이 당신을 과학자라고 부른다고 생각합니다 :). 이와 같은 답변은 적어도 100 점을 부여해야합니다. 고마워. 감사합니다. –
ShaggyInjun
. 당신은 그 해결책을 가지고있었습니다. 프로젝트에 행운을 빌어 요. –