diff -r d8d8911a3d6f -r 0dfa2923a7c6 progs/lexer/lexer.sc --- a/progs/lexer/lexer.sc Wed Oct 16 13:14:13 2024 +0100 +++ b/progs/lexer/lexer.sc Fri Oct 18 05:45:14 2024 +0100 @@ -33,6 +33,7 @@ case class Rec(x: String, v: Val) extends Val // some convenience for typing in regular expressions +import scala.language.implicitConversions def charlist2rexp(s : List[Char]): Rexp = s match { case Nil => ONE @@ -40,9 +41,7 @@ case c::s => SEQ(CHAR(c), charlist2rexp(s)) } -implicit def string2rexp(s : String) : Rexp = - charlist2rexp(s.toList) - +given Conversion[String, Rexp] = (s => charlist2rexp(s.toList)) extension (s: String) { def $ (r: Rexp) = RECD(s, r) @@ -239,8 +238,9 @@ // escapes strings and prints them out as "", "\n" and so on def esc(raw: String): String = { - import scala.reflect.runtime.universe._ - Literal(Constant(raw)).toString + raw + //import scala.reflect.runtime.universe._ + //Literal(Constant(raw)).toString } def escape(tks: List[(String, String)]) = @@ -344,4 +344,4 @@ println(s) println(e) -*/ \ No newline at end of file +*/