equal
deleted
inserted
replaced
125 |
125 |
126 val locale_keyword = |
126 val locale_keyword = |
127 Parse.$$$ "fixes" || Parse.$$$ "constrains" || Parse.$$$ "assumes" || |
127 Parse.$$$ "fixes" || Parse.$$$ "constrains" || Parse.$$$ "assumes" || |
128 Parse.$$$ "defines" || Parse.$$$ "notes"; |
128 Parse.$$$ "defines" || Parse.$$$ "notes"; |
129 |
129 |
130 val class_expression = plus1_unless locale_keyword Parse.class; |
130 val locale_keyword' = |
|
131 Parse.$$$ "includes" || locale_keyword; |
|
132 |
|
133 val class_expression = plus1_unless locale_keyword' Parse.class; |
131 |
134 |
132 val locale_expression = |
135 val locale_expression = |
133 let |
136 let |
134 val expr2 = Parse.name_position; |
137 val expr2 = Parse.name_position; |
135 val expr1 = |
138 val expr1 = |
136 locale_prefix -- expr2 -- |
139 locale_prefix -- expr2 -- |
137 instance >> (fn ((p, l), i) => (l, (p, i))); |
140 instance >> (fn ((p, l), i) => (l, (p, i))); |
138 val expr0 = plus1_unless locale_keyword expr1; |
141 val expr0 = plus1_unless locale_keyword' expr1; |
139 in expr0 -- Scan.optional (Parse.$$$ "for" |-- Parse.!!! locale_fixes) [] end; |
142 in expr0 -- Scan.optional (Parse.$$$ "for" |-- Parse.!!! locale_fixes) [] end; |
140 |
143 |
141 val context_element = Parse.group (fn () => "context element") loc_element; |
144 val context_element = Parse.group (fn () => "context element") loc_element; |
142 |
145 |
143 end; |
146 end; |