equal
deleted
inserted
replaced
293 local |
293 local |
294 |
294 |
295 val scan_vname = |
295 val scan_vname = |
296 let |
296 let |
297 fun nat n [] = n |
297 fun nat n [] = n |
298 | nat n (c :: cs) = nat (n * 10 + (ord c - ord "0")) cs; |
298 | nat n (c :: cs) = nat (n * 10 + (ord c - Char.ord #"0")) cs; |
299 |
299 |
300 fun idxname cs ds = (implode (rev cs), nat 0 ds); |
300 fun idxname cs ds = (implode (rev cs), nat 0 ds); |
301 fun chop_idx [] ds = idxname [] ds |
301 fun chop_idx [] ds = idxname [] ds |
302 | chop_idx (cs as (_ :: "\<^sub>" :: _)) ds = idxname cs ds |
302 | chop_idx (cs as (_ :: "\<^sub>" :: _)) ds = idxname cs ds |
303 | chop_idx (c :: cs) ds = |
303 | chop_idx (c :: cs) ds = |
369 |
369 |
370 (* read_num: hex/bin/decimal *) |
370 (* read_num: hex/bin/decimal *) |
371 |
371 |
372 local |
372 local |
373 |
373 |
374 val ten = ord "0" + 10; |
374 val ten = Char.ord #"0" + 10; |
375 val a = ord "a"; |
375 val a = Char.ord #"a"; |
376 val A = ord "A"; |
376 val A = Char.ord #"A"; |
377 val _ = a > A orelse raise Fail "Bad ASCII"; |
377 val _ = a > A orelse raise Fail "Bad ASCII"; |
378 |
378 |
379 fun remap_hex c = |
379 fun remap_hex c = |
380 let val x = ord c in |
380 let val x = ord c in |
381 if x >= a then chr (x - a + ten) |
381 if x >= a then chr (x - a + ten) |