src/Pure/Isar/outer_syntax.ML
changeset 67136 1368cfa92b7a
parent 64556 851ae0e7b09c
child 67439 78759a7bd874
equal deleted inserted replaced
67134:66ce07e8dbf2 67136:1368cfa92b7a
   181 
   181 
   182 val before_command =
   182 val before_command =
   183   Scan.option (Parse.position (Parse.private >> K true || Parse.qualified >> K false));
   183   Scan.option (Parse.position (Parse.private >> K true || Parse.qualified >> K false));
   184 
   184 
   185 fun parse_command thy =
   185 fun parse_command thy =
   186   Scan.ahead (before_command |-- Parse.position Parse.command_) :|-- (fn (name, pos) =>
   186   Scan.ahead (before_command |-- Parse.position Parse.command) :|-- (fn (name, pos) =>
   187     let
   187     let
   188       val keywords = Thy_Header.get_keywords thy;
   188       val keywords = Thy_Header.get_keywords thy;
   189       val command_tags = Parse.command_ -- Parse.tags;
   189       val command_tags = Parse.command -- Parse.tags;
   190       val tr0 =
   190       val tr0 =
   191         Toplevel.empty
   191         Toplevel.empty
   192         |> Toplevel.name name
   192         |> Toplevel.name name
   193         |> Toplevel.position pos
   193         |> Toplevel.position pos
   194         |> Keyword.is_proof_open keywords name ? Toplevel.skip_proof_open
   194         |> Keyword.is_proof_open keywords name ? Toplevel.skip_proof_open