diff options
author | Ryo Nihei <nihei.dev@gmail.com> | 2022-05-09 23:52:56 +0900 |
---|---|---|
committer | Ryo Nihei <nihei.dev@gmail.com> | 2022-05-10 23:14:52 +0900 |
commit | 054307b6c99ab962cfa9bcb4c4d50f3aea5406ea (patch) | |
tree | 73aea74559c64f3bcb55f3a39b2399714b616174 /spec/syntax_error.go | |
parent | Change the default suffix of a grammar file from .vr to .vartan (diff) | |
download | cotia-054307b6c99ab962cfa9bcb4c4d50f3aea5406ea.tar.gz cotia-054307b6c99ab962cfa9bcb4c4d50f3aea5406ea.tar.xz |
Make the identifier format strict
Diffstat (limited to 'spec/syntax_error.go')
-rw-r--r-- | spec/syntax_error.go | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/spec/syntax_error.go b/spec/syntax_error.go index ad847a2..cf64e75 100644 --- a/spec/syntax_error.go +++ b/spec/syntax_error.go @@ -16,12 +16,15 @@ func (e *SyntaxError) Error() string { var ( // lexical errors - synErrAutoGenID = newSyntaxError("you cannot define an identifier beginning with an underscore") - synErrUnclosedTerminal = newSyntaxError("unclosed terminal") - synErrUnclosedString = newSyntaxError("unclosed string") - synErrIncompletedEscSeq = newSyntaxError("incompleted escape sequence; unexpected EOF following a backslash") - synErrEmptyPattern = newSyntaxError("a pattern must include at least one character") - synErrEmptyString = newSyntaxError("a string must include at least one character") + synErrIDInvalidChar = newSyntaxError("an identifier can contain only the lower-case letter, the digits, and the underscore") + synErrIDInvalidUnderscorePos = newSyntaxError("the underscore cannot be placed at the beginning or end of an identifier") + synErrIDConsecutiveUnderscores = newSyntaxError("the underscore cannot be placed consecutively") + synErrIDInvalidDigitsPos = newSyntaxError("the digits cannot be placed at the biginning of an identifier") + synErrUnclosedTerminal = newSyntaxError("unclosed terminal") + synErrUnclosedString = newSyntaxError("unclosed string") + synErrIncompletedEscSeq = newSyntaxError("incompleted escape sequence; unexpected EOF following a backslash") + synErrEmptyPattern = newSyntaxError("a pattern must include at least one character") + synErrEmptyString = newSyntaxError("a string must include at least one character") // syntax errors synErrInvalidToken = newSyntaxError("invalid token") |