equal
deleted
inserted
replaced
37 val is_digit: symbol -> bool |
37 val is_digit: symbol -> bool |
38 val is_quasi: symbol -> bool |
38 val is_quasi: symbol -> bool |
39 val is_blank: symbol -> bool |
39 val is_blank: symbol -> bool |
40 val is_quasi_letter: symbol -> bool |
40 val is_quasi_letter: symbol -> bool |
41 val is_letdig: symbol -> bool |
41 val is_letdig: symbol -> bool |
|
42 val is_ident: symbol list -> bool |
42 val beginning: int -> symbol list -> string |
43 val beginning: int -> symbol list -> string |
43 val scanner: string -> (string list -> 'a * string list) -> symbol list -> 'a |
44 val scanner: string -> (string list -> 'a * string list) -> symbol list -> 'a |
44 val scan_id: string list -> string * string list |
45 val scan_id: string list -> string * string list |
45 val scan: string list -> symbol * string list |
46 val scan: string list -> symbol * string list |
46 val source: bool -> (string, 'a) Source.source -> |
47 val source: bool -> (string, 'a) Source.source -> |
351 fun is_blank s = kind s = Blank; |
352 fun is_blank s = kind s = Blank; |
352 |
353 |
353 fun is_quasi_letter s = let val k = kind s in k = Letter orelse k = Quasi end; |
354 fun is_quasi_letter s = let val k = kind s in k = Letter orelse k = Quasi end; |
354 fun is_letdig s = let val k = kind s in k = Letter orelse k = Digit orelse k = Quasi end; |
355 fun is_letdig s = let val k = kind s in k = Letter orelse k = Digit orelse k = Quasi end; |
355 |
356 |
|
357 fun is_ident [] = false |
|
358 | is_ident (c :: cs) = is_letter c andalso forall is_letdig cs; |
|
359 |
356 |
360 |
357 |
361 |
358 (** symbol input **) |
362 (** symbol input **) |
359 |
363 |
360 (* scanning through symbols *) |
364 (* scanning through symbols *) |