equal
deleted
inserted
replaced
421 } |
421 } |
422 |
422 |
423 object Parse_Context { |
423 object Parse_Context { |
424 case class Seen(inlines: Set[Keys], tables: Set[Keys]) |
424 case class Seen(inlines: Set[Keys], tables: Set[Keys]) |
425 |
425 |
426 def empty: Parse_Context = new Parse_Context(Map(Nil -> Seen(Set.empty, Set.empty))) |
426 def apply(): Parse_Context = new Parse_Context(Map(Nil -> Seen(Set.empty, Set.empty))) |
427 } |
427 } |
428 |
428 |
429 def parse(s: Str, context: Parse_Context = Parse_Context.empty): Table = { |
429 def parse(s: Str, context: Parse_Context = Parse_Context()): Table = { |
430 val file = Parsers.parse(s) |
430 val file = Parsers.parse(s) |
431 |
431 |
432 def convert(ks0: Keys, ks1: Keys, v: Parsers.V): T = { |
432 def convert(ks0: Keys, ks1: Keys, v: Parsers.V): T = { |
433 def to_table(ks: Keys, t: T): Table = |
433 def to_table(ks: Keys, t: T): Table = |
434 ks.dropRight(1).foldRight(Table(ks.last -> t))((k, v) => Table(k -> v)) |
434 ks.dropRight(1).foldRight(Table(ks.last -> t))((k, v) => Table(k -> v)) |