# HG changeset patch # User wenzelm # Date 1353958180 -3600 # Node ID b89b57bf4cf2defd14b545ce85dfb80adab2de2e # Parent c97c5c34fb1de09141788e42cf397f5894846561 tuned; diff -r c97c5c34fb1d -r b89b57bf4cf2 src/Pure/General/symbol.ML --- a/src/Pure/General/symbol.ML Mon Nov 26 20:09:51 2012 +0100 +++ b/src/Pure/General/symbol.ML Mon Nov 26 20:29:40 2012 +0100 @@ -230,147 +230,149 @@ datatype kind = Letter | Digit | Quasi | Blank | Other; local - val symbol_kinds = Symtab.make - [("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\

", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\

", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\
", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Other), (*sic!*) - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\<^isub>", Letter), - ("\\<^isup>", Letter)]; + val letter_symbols = + Symtab.make_set [ + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\

", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\

", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\

", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\
", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + (*"\\", sic!*) + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\", + "\\<^isub>", + "\\<^isup>" + ]; in fun kind s = if is_ascii_letter s then Letter @@ -378,7 +380,8 @@ else if is_ascii_quasi s then Quasi else if is_ascii_blank s then Blank else if is_char s then Other - else the_default Other (Symtab.lookup symbol_kinds s); + else if Symtab.defined letter_symbols s then Letter + else Other; end; fun is_letter s = kind s = Letter;

", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\", Letter), - ("\\