diff -r 957f69b9b7df -r f952f2679a11 ProgTutorial/Parsing.thy --- a/ProgTutorial/Parsing.thy Sun Aug 22 22:56:52 2010 +0800 +++ b/ProgTutorial/Parsing.thy Sat Aug 28 13:27:16 2010 +0800 @@ -548,7 +548,7 @@ you obtain a list consisting of only one command and two keyword tokens. If you want to see which keywords and commands are currently known to Isabelle, - type: + use the function @{ML_ind get_lexicons in Keyword}: @{ML_response_fake [display,gray] "let @@ -956,7 +956,7 @@ *} ML{*let - val do_nothing = Scan.succeed (Local_Theory.theory I) + val do_nothing = Scan.succeed (Local_Theory.background_theory I) val kind = Keyword.thy_decl in Outer_Syntax.local_theory "foobar" "description of foobar" kind do_nothing @@ -993,7 +993,7 @@ \isacommand{ML}~@{text "\"}\\ @{ML "let - val do_nothing = Scan.succeed (Local_Theory.theory I) + val do_nothing = Scan.succeed (Local_Theory.background_theory I) val kind = Keyword.thy_decl in Outer_Syntax.local_theory \"foobar\" \"description of foobar\" kind do_nothing @@ -1110,7 +1110,7 @@ The crucial part of a command is the function that determines the behaviour of the command. In the code above we used a ``do-nothing''-function, which because of @{ML_ind succeed in Scan} does not parse any argument, but immediately - returns the simple function @{ML "Local_Theory.theory I"}. We can + returns the simple function @{ML "Local_Theory.background_theory I"}. We can replace this code by a function that first parses a proposition (using the parser @{ML Parse.prop}), then prints out the tracing information (using a new function @{text trace_prop}) and @@ -1119,7 +1119,7 @@ ML{*let fun trace_prop str = - Local_Theory.theory (fn ctxt => (tracing str; ctxt)) + Local_Theory.background_theory (fn ctxt => (tracing str; ctxt)) val kind = Keyword.thy_decl in