equal
deleted
inserted
replaced
346 } |
346 } |
347 |
347 |
348 private def other_token(is_command: String => Boolean) |
348 private def other_token(is_command: String => Boolean) |
349 : Parser[Token] = |
349 : Parser[Token] = |
350 { |
350 { |
351 val id = one(Symbol.is_letter) ~ many(Symbol.is_letdig) ^^ { case x ~ y => x + y } |
351 val letdigs1 = many1(Symbol.is_letdig) |
|
352 val sub_sup = |
|
353 one(s => |
|
354 s == Symbol.sub_decoded || s == "\\<^sub>" || |
|
355 s == Symbol.isub_decoded || s == "\\<^isub>" || |
|
356 s == Symbol.sup_decoded || s == "\\<^sup>" || |
|
357 s == Symbol.isup_decoded || s == "\\<^isup>") |
|
358 val id = |
|
359 one(Symbol.is_letter) ~ |
|
360 (rep(letdigs1 | (sub_sup ~ letdigs1 ^^ { case x ~ y => x + y })) ^^ (_.mkString)) ^^ |
|
361 { case x ~ y => x + y } |
|
362 |
352 val nat = many1(Symbol.is_digit) |
363 val nat = many1(Symbol.is_digit) |
353 val natdot = nat ~ "." ~ nat ^^ { case x ~ y ~ z => x + y + z } |
364 val natdot = nat ~ "." ~ nat ^^ { case x ~ y ~ z => x + y + z } |
354 val id_nat = id ~ opt("." ~ nat) ^^ { case x ~ Some(y ~ z) => x + y + z case x ~ None => x } |
365 val id_nat = id ~ opt("." ~ nat) ^^ { case x ~ Some(y ~ z) => x + y + z case x ~ None => x } |
355 |
366 |
356 val ident = id ~ rep("." ~> id) ^^ |
367 val ident = id ~ rep("." ~> id) ^^ |