Files
mercury/tests/debugger/tabled_read_decl.exp2
Mark Brown 0731932d14 Construct strings representing c_pointer addresses.
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.
2006-08-22 02:33:54 +00:00

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