Restructure branching slighty. Fix error message.

This commit is contained in:
Oscar Campbell
2015-06-01 23:49:04 +02:00
parent d35887e492
commit dd30bab480
2 changed files with 9 additions and 9 deletions

View File

@@ -140,7 +140,8 @@ proc isKeyword*(kind: TTokType): bool =
proc isNimIdentifier*(s: string): bool =
if s[0] in SymStartChars:
var i = 1
while i < s.len:
var sLen = s.len
while i < sLen:
if s[i] == '_':
inc(i)
elif isMagicIdentSeparatorRune(cstring s, i):
@@ -637,7 +638,7 @@ proc getSymbol(L: var TLexer, tok: var TToken) =
buf[pos+1] == '\128' and
buf[pos+2] == '\147': # It's a 'magic separator' en-dash Unicode
if buf[pos + magicIdentSeparatorRuneByteWidth] notin SymChars:
lexMessage(L, errInvalidToken, "·")
lexMessage(L, errInvalidToken, "")
break
inc(pos, magicIdentSeparatorRuneByteWidth)
else:

View File

@@ -130,14 +130,13 @@ proc hashIgnoreStyle*(x: string): THash =
var c = x[i]
if c == '_':
inc(i)
continue # skip _
if isMagicIdentSeparatorRune(cstring(x), i):
elif isMagicIdentSeparatorRune(cstring(x), i):
inc(i, magicIdentSeparatorRuneByteWidth)
continue # skip '·' (unicode middle dot)
if c in {'A'..'Z'}:
c = chr(ord(c) + (ord('a') - ord('A'))) # toLower()
h = h !& ord(c)
inc(i)
else:
if c in {'A'..'Z'}:
c = chr(ord(c) + (ord('a') - ord('A'))) # toLower()
h = h !& ord(c)
inc(i)
result = !$h