Files
mercury/tests/debugger/interpreter.exp
Zoltan Somogyi a5f9cb6851 Reduce differences between interpreter.m versions.
extras/trailed_update/samples/interpreter.m:
samples/interpreter.m:
    We have these two different versions of a pure Prolog interpreter
    as examples of Mercury code. Reduce the number of unneeded points
    of difference between them, by copying the better code at each such point
    to the other file.

tests/debugger/interpreter.m:
    This file is automatically copied from samples/interpreter.m.

tests/debugger/interpreter.exp:
    Expect the changes caused by the update to the source file.
2023-06-22 14:54:59 +02:00

51 lines
2.1 KiB
Plaintext

E1: C1 CALL pred interpreter.main/2-0 (det) interpreter.m:48
mdb> echo on
Command echo enabled.
mdb> context none
Contexts will not be printed.
mdb> register --quiet
mdb> b consult_file
0: + stop interface pred interpreter.consult_file/5-0 (det)
mdb> c
Pure Prolog Interpreter.
E2: C2 CALL pred interpreter.consult_file/5-0 (det)
mdb> delete 0
0: E stop interface pred interpreter.consult_file/5-0 (det)
mdb> vars
1 File (arg 1)
2 STATE_VARIABLE_Database_0 (arg 2)
mdb> print *
File (arg 1) "interpreter.m"
STATE_VARIABLE_Database_0 (arg 2) []
mdb> b database_assert_clause
0: + stop interface pred interpreter.database_assert_clause/4-0 (det)
mdb> c
Consulting file `interpreter.m'...
E3: C3 CALL pred interpreter.database_assert_clause/4-0 (det)
mdb> delete 0
0: E stop interface pred interpreter.database_assert_clause/4-0 (det)
mdb> finish
E4: C3 EXIT pred interpreter.database_assert_clause/4-0 (det)
mdb> print *
VarSet (arg 1) varset(var_supply(0), empty, empty)
Term (arg 2) functor(atom(":-"), [functor(atom/1, [|]/2, context/2)], context("interpreter.m", 28))
Database (arg 3) []
HeadVar__4 [clause(varset(var_supply/1, empty, empty), functor(atom/1, [|]/2, context/2), functor(atom/1, [], context/2))]
mdb> finish -a
This command is a no-op from this port.
mdb> print *
VarSet (arg 1) varset(var_supply(0), empty, empty)
Term (arg 2) functor(atom(":-"), [functor(atom/1, [|]/2, context/2)], context("interpreter.m", 28))
Database (arg 3) []
HeadVar__4 [clause(varset(var_supply/1, empty, empty), functor(atom/1, [|]/2, context/2), functor(atom/1, [], context/2))]
mdb>
E5: C4 CALL pred interpreter.consult_until_eof/5-0 (det)
mdb> finish -n
E6: C4 EXIT pred interpreter.consult_until_eof/5-0 (det)
mdb>
E7: C5 EXIT pred interpreter.consult_until_eof/5-0 (det)
mdb> finish 1
E8: C2 EXIT pred interpreter.consult_file/5-0 (det)
mdb> continue
?-