diff --git a/src/frontend/lexer.mll b/src/frontend/lexer.mll index 821a7f3b0..d8a08948e 100644 --- a/src/frontend/lexer.mll +++ b/src/frontend/lexer.mll @@ -554,8 +554,8 @@ and mathexpr stack = parse | "^" { SUPERSCRIPT(get_pos lexbuf) } | "_" { SUBSCRIPT(get_pos lexbuf) } | "'"+ { let n = String.length (Lexing.lexeme lexbuf) in PRIMES(get_pos lexbuf, n) } - | (mathsymboltop (mathsymbol*)) { MATHCHAR(get_pos lexbuf, Lexing.lexeme lexbuf) } - | mathstr+ { MATHCHAR(get_pos lexbuf, Lexing.lexeme lexbuf) } + | (mathsymboltop (mathsymbol*)) { MATHCHARS(get_pos lexbuf, Lexing.lexeme lexbuf) } + | mathstr+ { MATHCHARS(get_pos lexbuf, Lexing.lexeme lexbuf) } | ("#" (identifier as varnm)) { VARINMATH(get_pos lexbuf, [], varnm) } @@ -577,7 +577,7 @@ and mathexpr stack = parse } | ("\\" symbol) { let tok = String.sub (Lexing.lexeme lexbuf) 1 1 in - MATHCHAR(get_pos lexbuf, tok) + MATHCHARS(get_pos lexbuf, tok) } | _ as c { report_error lexbuf ("illegal token '" ^ (String.make 1 c) ^ "' in a math area") } diff --git a/src/frontend/parser.mly b/src/frontend/parser.mly index a513182ed..71082912b 100644 --- a/src/frontend/parser.mly +++ b/src/frontend/parser.mly @@ -383,7 +383,7 @@ %token LITERAL %token POSITIONED_LITERAL %token SPACE BREAK -%token MATHCHAR +%token MATHCHARS %token PRIMES %token SUBSCRIPT SUPERSCRIPT %token LAMBDA ARROW COMMAND @@ -1120,7 +1120,9 @@ mathgroup: | utm=mathbot { utm } ; mathbot: - | tok=MATHCHAR { let (rng, char) = tok in (rng, UTMChar(char)) } + | tok=MATHCHARS { + let (rng, s) = tok in (rng, UTMChar(s)) + } | mcmd=mcmd; arglst=list(matharg) { let (rngcmd, mdlnmlst, csnm) = mcmd in let rnglast =