equal
deleted
inserted
replaced
12 val pos_of: source -> Position.T |
12 val pos_of: source -> Position.T |
13 val range_of: source -> Position.range |
13 val range_of: source -> Position.range |
14 val source: bool -> Symbol_Pos.text -> Position.range -> source |
14 val source: bool -> Symbol_Pos.text -> Position.range -> source |
15 val empty: source |
15 val empty: source |
16 val string: string -> source |
16 val string: string -> source |
|
17 val cartouche_content: Symbol_Pos.T list -> source |
17 val reset_pos: source -> source |
18 val reset_pos: source -> source |
18 val source_explode: source -> Symbol_Pos.T list |
19 val source_explode: source -> Symbol_Pos.T list |
19 val source_content: source -> string |
20 val source_content: source -> string |
20 val equal_content: source * source -> bool |
21 val equal_content: source * source -> bool |
21 end; |
22 end; |
39 |
40 |
40 val empty = source false "" Position.no_range; |
41 val empty = source false "" Position.no_range; |
41 |
42 |
42 fun string text = source true text Position.no_range; |
43 fun string text = source true text Position.no_range; |
43 |
44 |
|
45 fun cartouche_content syms = |
|
46 let |
|
47 val range = Symbol_Pos.range syms; |
|
48 val (text, _) = Symbol_Pos.implode_range range (Symbol_Pos.cartouche_content syms); |
|
49 in source true text range end; |
|
50 |
44 fun reset_pos (Source {delimited, text, ...}) = source delimited text Position.no_range; |
51 fun reset_pos (Source {delimited, text, ...}) = source delimited text Position.no_range; |
45 |
52 |
46 |
53 |
47 (* content *) |
54 (* content *) |
48 |
55 |