equal
deleted
inserted
replaced
172 |
172 |
173 val long_identifier = |
173 val long_identifier = |
174 identifier @@@ (Scan.repeat1 ($$$ "." @@@ identifier) >> flat); |
174 identifier @@@ (Scan.repeat1 ($$$ "." @@@ identifier) >> flat); |
175 |
175 |
176 val whitespace = Scan.many (is_whitespace o symbol); |
176 val whitespace = Scan.many (is_whitespace o symbol); |
|
177 val whitespace1 = Scan.many1 (is_whitespace o symbol); |
177 val whitespace' = Scan.many (is_whitespace' o symbol); |
178 val whitespace' = Scan.many (is_whitespace' o symbol); |
178 val newline = Scan.one (is_newline o symbol); |
179 val newline = Scan.one (is_newline o symbol); |
179 |
180 |
180 fun beginning n cs = |
181 fun beginning n cs = |
181 let |
182 let |
259 fun scan header comment = |
260 fun scan header comment = |
260 !!! "bad header" header --| whitespace -- |
261 !!! "bad header" header --| whitespace -- |
261 Scan.repeat (Scan.unless (Scan.one is_char_eof) |
262 Scan.repeat (Scan.unless (Scan.one is_char_eof) |
262 (!!! "bad input" |
263 (!!! "bad input" |
263 ( comment |
264 ( comment |
264 || (keyword "For" -- whitespace) |-- |
265 || (keyword "For" -- whitespace1) |-- |
265 Scan.repeat1 (Scan.unless (keyword ":") any) --| |
266 Scan.repeat1 (Scan.unless (keyword ":") any) --| |
266 keyword ":" >> make_token Traceability |
267 keyword ":" >> make_token Traceability |
267 || Scan.max leq_token |
268 || Scan.max leq_token |
268 (Scan.literal lexicon >> make_token Keyword) |
269 (Scan.literal lexicon >> make_token Keyword) |
269 ( long_identifier >> make_token Long_Ident |
270 ( long_identifier >> make_token Long_Ident |