* or send an email to <lpadovan@cs.unibo.it>
*/
+#include <string>
+#include <cctype>
+#include <cassert>
+
#include "TToken.hh"
#include "TPushLexer.hh"
#include "APushParser.hh"
{
buffer.erase();
state = ACCEPT;
+
+ displayCursor();
}
void
case '^': parser.push(TToken(TToken::SUPERSCRIPT)); break;
case '_': parser.push(TToken(TToken::SUBSCRIPT)); break;
case '\t':
- case ' ': parser.push(TToken(TToken::SPACE, ch)); break;
+ case ' ': parser.push(TToken(TToken::IGNORABLE_SPACE, ch)); break;
case '~': parser.push(TToken(TToken::ACTIVE, ch)); break;
case '%': parser.push(TToken(TToken::COMMENT)); break;
default:
break;
}
- switch (state)
- {
- case ESCAPE: parser.setCursorHint("\\"); break;
- case MACRO: parser.setCursorHint("\\" + buffer); break;
- case PARAMETER: parser.setCursorHint("#"); break;
- default: parser.setCursorHint(""); break;
- }
+ displayCursor();
+
}
void
break;
}
+ displayCursor();
+
+}
+
+void
+TPushLexer::displayCursor()
+{
switch (state)
{
case ESCAPE: parser.setCursorHint("\\"); break;