NATIONAL [\001-\006\021-\027\031\036\200-\377]
TEX {AA}|-|{PUNCT}|{ACCENT}|{NATIONAL}
WORD {A}{AN}*
+DASHED_WORD {A}({AN}|-)*
+DASHED_KEY_WORD \\{DASHED_WORD}
ALPHAWORD {A}+
DIGIT {N}
UNSIGNED {N}+
LexerError (_ ("quoted string expected after \\version").c_str ());
yy_pop_state ();
}
-<sourcefilename>>. {
+<sourcefilename>. {
LexerError (_ ("quoted string expected after \\sourcefilename").c_str ());
yy_pop_state ();
}
{
yyinput ();
}
- char_count_stack_.top () += n;
+ char_count_stack_.back () += n;
if (unpack_identifier (sval) != SCM_UNDEFINED)
{
yyterminate ();
}
+<INITIAL>{
+ {DASHED_WORD} {
+ return scan_bare_word (YYText ());
+ }
+ {DASHED_KEY_WORD} {
+ return scan_escaped_word (YYText () + 1);
+ }
+}
{WORD} {
return scan_bare_word (YYText ());
{
ssize i = frac.find ('/');
std::string left = frac.substr (0, i);
- std::string right = frac.substr (i - 1);
+ std::string right = frac.substr (i + 1, (frac.length () - i + 1));
int n = String_convert::dec2int (left);
int d = String_convert::dec2int (right);