2 use Module::Runtime qw(use_module);
3 use DX::Utils qw(:builders);
5 { package FakeReadline;
7 return undef unless defined(my $line = readline($_[0]));
14 use_module('DX::ShellFrontend')->new(
15 session_mode => 'shell',
16 session => use_module('DX::ShellSession')->new(
17 shell_state => use_module('DX::ShellState')->new(
19 template_query_state => use_module('DX::QueryState')->new(
21 'eq' => use_module('DX::Predicate::Eq')->new,
22 member_at => use_module('DX::Predicate::MemberAt')->new,
23 dict => use_module('DX::Predicate::Dict')->new,
27 => use_module('DX::PropositionSequence')->new_empty,
34 open my $fh, '<', $ARGV[0] or die "Couldn't open script: $!";
35 bless($fh, 'FakeReadline')