Index: Parser.h =================================================================== --- Parser.h (revision 11076) +++ Parser.h (working copy) @@ -42,10 +42,10 @@ void PassChar(char c) throw(Error); void PassChar2(char c1, char c2) throw(Error); void PassChar3(char c1, char c2, char c3) throw(Error); - bool Id(const char *s) { return term[0] == s[0] && (s[1] == 0 || term[1] == s[1]) && Id0(s); } + bool Id(const char *s) { return iscib(*term) && term[0] == s[0] && (s[1] == 0 || term[1] == s[1]) && Id0(s); } void PassId(const char *s) throw(Error); bool IsId() const { return iscib(*term); } - bool IsId(const char *s) const { return term[0] == s[0] && (s[1] == 0 || term[1] == s[1]) && IsId0(s); } + bool IsId(const char *s) const { return iscib(*term) && term[0] == s[0] && (s[1] == 0 || term[1] == s[1]) && IsId0(s); } String ReadId() throw(Error); String ReadIdt() throw(Error); bool IsInt() const;