mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-16 01:43:35 +00:00
Estimated hours taken: 2 Branches: main runtime/mercury_ml_expand_body.h: Construct strings representing c_pointer addresses. Used in the implementation of functor and deconstruct. library/deconstruct.m: Document the behaviour of functor and deconstruct for c_pointers. library/string.m: Export c_pointer_to_string for getting a string representation of the pointer address. library/io.m: library/rtti_implementation.m: Use c_pointer_to_string/1 to print c_pointers. Update comments. library/pprint.m: Undo Ralph's earlier change, since it is no longer required. tests/debugger/Mmakefile: tests/debugger/declarative/Mmakefile: Canonicalize the output of test cases in which c_pointers appear. tests: Update the expected output of test cases.
101 lines
3.4 KiB
Plaintext
101 lines
3.4 KiB
Plaintext
1: 1 1 CALL pred tabled_read_decl.main/2-0 (det) tabled_read_decl.m:17
|
|
mdb> echo on
|
|
Command echo enabled.
|
|
mdb> register --quiet
|
|
mdb> context none
|
|
Contexts will not be printed.
|
|
mdb> table_io
|
|
io tabling has not yet started
|
|
mdb> break tabled_read_decl__test
|
|
0: + stop interface pred tabled_read_decl.test/5-0 (det)
|
|
mdb> table_io start
|
|
io tabling started
|
|
mdb> continue
|
|
8: 4 3 CALL pred tabled_read_decl.test/5-0 (det)
|
|
mdb> finish -n
|
|
57: 4 3 EXIT pred tabled_read_decl.test/5-0 (det)
|
|
mdb> print *
|
|
Stream (arg 1) c_pointer(0xXXXX)
|
|
SoFar (arg 2) 0
|
|
N (arg 3) 123
|
|
DCG_2 (arg 5) state(c_pointer(0xXXXX))
|
|
mdb> retry
|
|
Retry across I/O operations is not always safe.
|
|
Are you sure you want to do it? y
|
|
8: 4 3 CALL pred tabled_read_decl.test/5-0 (det)
|
|
mdb> print *
|
|
Stream (arg 1) c_pointer(0xXXXX)
|
|
SoFar (arg 2) 0
|
|
DCG_0 (arg 4) state(c_pointer(0xXXXX))
|
|
mdb> finish -n
|
|
57: 4 3 EXIT pred tabled_read_decl.test/5-0 (det)
|
|
mdb> print *
|
|
Stream (arg 1) c_pointer(0xXXXX)
|
|
SoFar (arg 2) 0
|
|
N (arg 3) 123
|
|
DCG_2 (arg 5) state(c_pointer(0xXXXX))
|
|
mdb> break tabled_read_decl__poly_test
|
|
1: + stop interface pred tabled_read_decl.poly_test/6-0 (det)
|
|
mdb> continue
|
|
123
|
|
60: 24 3 CALL pred tabled_read_decl.poly_test/6-0 (det)
|
|
mdb> finish -n
|
|
109: 24 3 EXIT pred tabled_read_decl.poly_test/6-0 (det)
|
|
mdb> print *
|
|
Stream (arg 1) c_pointer(0xXXXX)
|
|
Unused (arg 2) ['a', 'b', 'c']
|
|
SoFar (arg 3) 0
|
|
N (arg 4) 456
|
|
DCG_2 (arg 6) state(c_pointer(0xXXXX))
|
|
mdb> retry
|
|
Retry across I/O operations is not always safe.
|
|
Are you sure you want to do it? y
|
|
60: 24 3 CALL pred tabled_read_decl.poly_test/6-0 (det)
|
|
mdb> finish -n
|
|
109: 24 3 EXIT pred tabled_read_decl.poly_test/6-0 (det)
|
|
mdb> print *
|
|
Stream (arg 1) c_pointer(0xXXXX)
|
|
Unused (arg 2) ['a', 'b', 'c']
|
|
SoFar (arg 3) 0
|
|
N (arg 4) 456
|
|
DCG_2 (arg 6) state(c_pointer(0xXXXX))
|
|
mdb> delete *
|
|
0: E stop interface pred tabled_read_decl.test/5-0 (det)
|
|
1: E stop interface pred tabled_read_decl.poly_test/6-0 (det)
|
|
mdb> break part_2
|
|
0: + stop interface pred tabled_read_decl.part_2/3-0 (det)
|
|
mdb> continue
|
|
456
|
|
113: 44 2 CALL pred tabled_read_decl.part_2/3-0 (det)
|
|
mdb> table_io end
|
|
io tabling ended
|
|
mdb> print action 0
|
|
open_input("tabled_read_decl.data", 0, c_pointer(0xXXXX))
|
|
mdb> print action 1
|
|
read_char_code(c_pointer(0xXXXX), 49)
|
|
mdb> browse action 1
|
|
browser> p
|
|
read_char_code(c_pointer(0xXXXX), 49)
|
|
browser> ^1
|
|
browser> p
|
|
c_pointer(0xXXXX)
|
|
browser> quit
|
|
mdb> print action 2
|
|
read_char_code(c_pointer(0xXXXX), 50)
|
|
mdb> print action 3
|
|
read_char_code(c_pointer(0xXXXX), 51)
|
|
mdb> print action 4
|
|
read_char_code(c_pointer(0xXXXX), 10)
|
|
mdb> print action 5
|
|
poly_read_char_code(list(character), c_pointer(0xXXXX), [|]('a', [|]('b', [|]/2)), 52)
|
|
mdb> print action 6
|
|
poly_read_char_code(list(character), c_pointer(0xXXXX), [|]('a', [|]('b', [|]/2)), 53)
|
|
mdb> print action 7
|
|
poly_read_char_code(list(character), c_pointer(0xXXXX), [|]('a', [|]('b', [|]/2)), 54)
|
|
mdb> print action 8
|
|
poly_read_char_code(list(character), c_pointer(0xXXXX), [|]('a', [|]('b', [|]/2)), 10)
|
|
mdb> print action 9
|
|
mdb: I/O action number not in range.
|
|
mdb> continue -S
|
|
789
|