equal
deleted
inserted
replaced
12 val triple1: ('a * 'b) * 'c -> 'a * 'b * 'c |
12 val triple1: ('a * 'b) * 'c -> 'a * 'b * 'c |
13 val triple2: 'a * ('b * 'c) -> 'a * 'b * 'c |
13 val triple2: 'a * ('b * 'c) -> 'a * 'b * 'c |
14 val triple_swap: ('a * 'b) * 'c -> ('a * 'c) * 'b |
14 val triple_swap: ('a * 'b) * 'c -> ('a * 'c) * 'b |
15 val not_eof: Token.T parser |
15 val not_eof: Token.T parser |
16 val token: 'a parser -> Token.T parser |
16 val token: 'a parser -> Token.T parser |
|
17 val range: 'a parser -> ('a * Position.range) parser |
17 val position: 'a parser -> ('a * Position.T) parser |
18 val position: 'a parser -> ('a * Position.T) parser |
18 val source_position: 'a parser -> Symbol_Pos.source parser |
19 val source_position: 'a parser -> Symbol_Pos.source parser |
19 val inner_syntax: 'a parser -> string parser |
20 val inner_syntax: 'a parser -> string parser |
20 val command_: string parser |
21 val command_: string parser |
21 val keyword: string parser |
22 val keyword: string parser |
170 |
171 |
171 val not_eof = RESET_VALUE (Scan.one Token.not_eof); |
172 val not_eof = RESET_VALUE (Scan.one Token.not_eof); |
172 |
173 |
173 fun token atom = Scan.ahead not_eof --| atom; |
174 fun token atom = Scan.ahead not_eof --| atom; |
174 |
175 |
|
176 fun range scan = (Scan.ahead not_eof >> (Token.range_of o single)) -- scan >> Library.swap; |
175 fun position scan = (Scan.ahead not_eof >> Token.pos_of) -- scan >> Library.swap; |
177 fun position scan = (Scan.ahead not_eof >> Token.pos_of) -- scan >> Library.swap; |
176 fun source_position atom = Scan.ahead atom |-- not_eof >> Token.source_position_of; |
178 fun source_position atom = Scan.ahead atom |-- not_eof >> Token.source_position_of; |
177 fun inner_syntax atom = Scan.ahead atom |-- not_eof >> Token.inner_syntax_of; |
179 fun inner_syntax atom = Scan.ahead atom |-- not_eof >> Token.inner_syntax_of; |
178 |
180 |
179 fun kind k = |
181 fun kind k = |