From 33325f1574b4b052e6761c32dfe97e45be6356bb Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Fri, 12 Jun 2020 18:26:38 -0600 Subject: [PATCH] remove vestigial prolog/ directory (#444) --- build.rs | 4 +- src/{prolog => }/allocator.rs | 10 ++-- src/{prolog => }/arithmetic.rs | 24 ++++---- src/{prolog => }/clause_types.rs | 10 ++-- src/{prolog => }/codegen.rs | 28 ++++----- src/{prolog => }/debray_allocator.rs | 14 ++--- .../bimetatrans_ruleml/bimetatrans_ruleml.pl | 0 .../bimetatrans_ruleml_tests.pl | 0 src/{prolog => }/examples/domain.pl | 0 src/{prolog => }/examples/echo_server.pl | 0 src/{prolog => }/examples/expert_system.pl | 0 src/{prolog => }/examples/least_time.pl | 0 src/{prolog => }/examples/minatotask.pl | 0 src/{prolog => }/examples/plres.pl | 0 src/{prolog => }/examples/utf8.pl | 0 src/{prolog => }/fixtures.rs | 10 ++-- src/{prolog => }/forms.rs | 18 +++--- src/{prolog => }/heap_iter.rs | 6 +- src/{prolog => }/heap_print.rs | 26 ++++---- src/{prolog => }/indexing.rs | 10 ++-- src/{prolog => }/instructions.rs | 16 ++--- src/{prolog => }/iterators.rs | 8 +-- src/{prolog => }/lib/arithmetic.pl | 0 src/{prolog => }/lib/assoc.pl | 0 src/{prolog => }/lib/atts.pl | 0 src/{prolog => }/lib/between.pl | 0 src/{prolog => }/lib/builtins.pl | 0 src/{prolog => }/lib/charsio.pl | 0 src/{prolog => }/lib/clpb.pl | 0 src/{prolog => }/lib/clpz.pl | 0 src/{prolog => }/lib/cont.pl | 0 src/{prolog => }/lib/crypto.pl | 0 src/{prolog => }/lib/dcgs.pl | 0 src/{prolog => }/lib/diag.pl | 0 src/{prolog => }/lib/dif.pl | 0 src/{prolog => }/lib/error.pl | 0 src/{prolog => }/lib/format.pl | 0 src/{prolog => }/lib/freeze.pl | 0 src/{prolog => }/lib/gensym.pl | 0 src/{prolog => }/lib/iso_ext.pl | 0 src/{prolog => }/lib/lists.pl | 0 src/{prolog => }/lib/ordsets.pl | 0 src/{prolog => }/lib/pairs.pl | 0 src/{prolog => }/lib/pio.pl | 0 src/{prolog => }/lib/queues.pl | 0 src/{prolog => }/lib/random.pl | 0 src/{prolog => }/lib/reif.pl | 0 src/{prolog => }/lib/si.pl | 0 src/{prolog => }/lib/sockets.pl | 0 src/{prolog => }/lib/tabling.pl | 0 .../lib/tabling/batched_worklist.pl | 0 .../lib/tabling/double_linked_list.pl | 0 .../lib/tabling/global_worklist.pl | 0 .../lib/tabling/table_data_structure.pl | 0 .../lib/tabling/table_link_manager.pl | 0 src/{prolog => }/lib/tabling/trie.pl | 0 src/{prolog => }/lib/tabling/wrapper.pl | 0 src/{prolog => }/lib/terms.pl | 0 src/{prolog => }/lib/time.pl | 0 src/{prolog => }/machine/arithmetic_ops.rs | 16 ++--- .../machine/attributed_variables.pl | 0 .../machine/attributed_variables.rs | 4 +- src/{prolog => }/machine/code_repo.rs | 20 +++---- src/{prolog => }/machine/code_walker.rs | 2 +- src/{prolog => }/machine/compile.rs | 39 ++++++------ src/{prolog => }/machine/copier.rs | 4 +- src/{prolog => }/machine/dynamic_database.rs | 12 ++-- src/{prolog => }/machine/heap.rs | 6 +- src/{prolog => }/machine/machine_errors.rs | 12 ++-- src/{prolog => }/machine/machine_indices.rs | 38 ++++++------ src/{prolog => }/machine/machine_state.rs | 38 ++++++------ .../machine/machine_state_impl.rs | 42 ++++++------- src/{prolog => }/machine/mod.rs | 38 ++++++------ src/{prolog => }/machine/modules.rs | 12 ++-- src/{prolog => }/machine/partial_string.rs | 0 .../machine/project_attributes.pl | 0 src/{prolog => }/machine/raw_block.rs | 0 src/{prolog => }/machine/stack.rs | 6 +- src/{prolog => }/machine/streams.rs | 14 ++--- src/{prolog => }/machine/system_calls.rs | 60 +++++++++---------- src/{prolog => }/machine/term_expansion.rs | 12 ++-- src/{prolog => }/machine/toplevel.rs | 18 +++--- src/{prolog => }/macros.rs | 0 src/main.rs | 39 ++++++++++-- src/{prolog => }/mod.rs | 1 - src/{prolog => }/read.rs | 22 +++---- src/{prolog => }/targets.rs | 10 ++-- src/{prolog => }/toplevel.pl | 0 src/{prolog => }/write.rs | 10 ++-- 89 files changed, 344 insertions(+), 315 deletions(-) rename src/{prolog => }/allocator.rs (93%) rename src/{prolog => }/arithmetic.rs (98%) rename src/{prolog => }/clause_types.rs (99%) rename src/{prolog => }/codegen.rs (98%) rename src/{prolog => }/debray_allocator.rs (98%) rename src/{prolog => }/examples/bimetatrans_ruleml/bimetatrans_ruleml.pl (100%) rename src/{prolog => }/examples/bimetatrans_ruleml/bimetatrans_ruleml_tests.pl (100%) rename src/{prolog => }/examples/domain.pl (100%) rename src/{prolog => }/examples/echo_server.pl (100%) rename src/{prolog => }/examples/expert_system.pl (100%) rename src/{prolog => }/examples/least_time.pl (100%) rename src/{prolog => }/examples/minatotask.pl (100%) rename src/{prolog => }/examples/plres.pl (100%) rename src/{prolog => }/examples/utf8.pl (100%) rename src/{prolog => }/fixtures.rs (98%) rename src/{prolog => }/forms.rs (98%) rename src/{prolog => }/heap_iter.rs (98%) rename src/{prolog => }/heap_print.rs (99%) rename src/{prolog => }/indexing.rs (98%) rename src/{prolog => }/instructions.rs (98%) rename src/{prolog => }/iterators.rs (99%) rename src/{prolog => }/lib/arithmetic.pl (100%) rename src/{prolog => }/lib/assoc.pl (100%) rename src/{prolog => }/lib/atts.pl (100%) rename src/{prolog => }/lib/between.pl (100%) rename src/{prolog => }/lib/builtins.pl (100%) rename src/{prolog => }/lib/charsio.pl (100%) rename src/{prolog => }/lib/clpb.pl (100%) rename src/{prolog => }/lib/clpz.pl (100%) rename src/{prolog => }/lib/cont.pl (100%) rename src/{prolog => }/lib/crypto.pl (100%) rename src/{prolog => }/lib/dcgs.pl (100%) rename src/{prolog => }/lib/diag.pl (100%) rename src/{prolog => }/lib/dif.pl (100%) rename src/{prolog => }/lib/error.pl (100%) rename src/{prolog => }/lib/format.pl (100%) rename src/{prolog => }/lib/freeze.pl (100%) rename src/{prolog => }/lib/gensym.pl (100%) rename src/{prolog => }/lib/iso_ext.pl (100%) rename src/{prolog => }/lib/lists.pl (100%) rename src/{prolog => }/lib/ordsets.pl (100%) rename src/{prolog => }/lib/pairs.pl (100%) rename src/{prolog => }/lib/pio.pl (100%) rename src/{prolog => }/lib/queues.pl (100%) rename src/{prolog => }/lib/random.pl (100%) rename src/{prolog => }/lib/reif.pl (100%) rename src/{prolog => }/lib/si.pl (100%) rename src/{prolog => }/lib/sockets.pl (100%) rename src/{prolog => }/lib/tabling.pl (100%) rename src/{prolog => }/lib/tabling/batched_worklist.pl (100%) rename src/{prolog => }/lib/tabling/double_linked_list.pl (100%) rename src/{prolog => }/lib/tabling/global_worklist.pl (100%) rename src/{prolog => }/lib/tabling/table_data_structure.pl (100%) rename src/{prolog => }/lib/tabling/table_link_manager.pl (100%) rename src/{prolog => }/lib/tabling/trie.pl (100%) rename src/{prolog => }/lib/tabling/wrapper.pl (100%) rename src/{prolog => }/lib/terms.pl (100%) rename src/{prolog => }/lib/time.pl (100%) rename src/{prolog => }/machine/arithmetic_ops.rs (99%) rename src/{prolog => }/machine/attributed_variables.pl (100%) rename src/{prolog => }/machine/attributed_variables.rs (98%) rename src/{prolog => }/machine/code_repo.rs (94%) rename src/{prolog => }/machine/code_walker.rs (98%) rename src/{prolog => }/machine/compile.rs (98%) rename src/{prolog => }/machine/copier.rs (99%) rename src/{prolog => }/machine/dynamic_database.rs (98%) rename src/{prolog => }/machine/heap.rs (99%) rename src/{prolog => }/machine/machine_errors.rs (98%) rename src/{prolog => }/machine/machine_indices.rs (98%) rename src/{prolog => }/machine/machine_state.rs (98%) rename src/{prolog => }/machine/machine_state_impl.rs (99%) rename src/{prolog => }/machine/mod.rs (98%) rename src/{prolog => }/machine/modules.rs (98%) rename src/{prolog => }/machine/partial_string.rs (100%) rename src/{prolog => }/machine/project_attributes.pl (100%) rename src/{prolog => }/machine/raw_block.rs (100%) rename src/{prolog => }/machine/stack.rs (98%) rename src/{prolog => }/machine/streams.rs (99%) rename src/{prolog => }/machine/system_calls.rs (99%) rename src/{prolog => }/machine/term_expansion.rs (98%) rename src/{prolog => }/machine/toplevel.rs (99%) rename src/{prolog => }/macros.rs (100%) rename src/{prolog => }/mod.rs (95%) rename src/{prolog => }/read.rs (95%) rename src/{prolog => }/targets.rs (96%) rename src/{prolog => }/toplevel.pl (100%) rename src/{prolog => }/write.rs (99%) diff --git a/build.rs b/build.rs index 715ea3ab..b8a5d224 100644 --- a/build.rs +++ b/build.rs @@ -1,6 +1,6 @@ extern crate indexmap; -use indexmap::IndexSet; +use crate::indexmap::IndexSet; use std::env; use std::fs::{File, copy, read_dir}; @@ -15,7 +15,7 @@ fn main() let mut libraries = File::create(&dest_path).unwrap(); let mut library_index = IndexSet::new(); - let paths = read_dir("./src/prolog/lib").unwrap(); + let paths = read_dir("./src/lib").unwrap(); for item in paths { let item = item.unwrap().path(); diff --git a/src/prolog/allocator.rs b/src/allocator.rs similarity index 93% rename from src/prolog/allocator.rs rename to src/allocator.rs index 8af5ab2b..9034efc5 100644 --- a/src/prolog/allocator.rs +++ b/src/allocator.rs @@ -1,9 +1,9 @@ -use prolog_parser::ast::*; +use crate::prolog_parser::ast::*; -use crate::prolog::fixtures::*; -use crate::prolog::forms::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::targets::*; +use crate::fixtures::*; +use crate::forms::*; +use crate::machine::machine_indices::*; +use crate::targets::*; use std::cell::Cell; use std::rc::Rc; diff --git a/src/prolog/arithmetic.rs b/src/arithmetic.rs similarity index 98% rename from src/prolog/arithmetic.rs rename to src/arithmetic.rs index e889b019..c4cefafe 100644 --- a/src/prolog/arithmetic.rs +++ b/src/arithmetic.rs @@ -1,18 +1,18 @@ -use prolog_parser::ast::*; +use crate::prolog_parser::ast::*; -use crate::prolog::clause_types::*; -use crate::prolog::fixtures::*; -use crate::prolog::forms::*; -use crate::prolog::instructions::*; -use crate::prolog::iterators::*; +use crate::clause_types::*; +use crate::fixtures::*; +use crate::forms::*; +use crate::instructions::*; +use crate::iterators::*; -use crate::prolog::machine::heap::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::machine_indices::*; +use crate::machine::heap::*; +use crate::machine::machine_errors::*; +use crate::machine::machine_indices::*; -use crate::prolog::ordered_float::*; -use crate::prolog::rug::ops::PowAssign; -use crate::prolog::rug::{Assign, Integer, Rational}; +use crate::ordered_float::*; +use crate::rug::ops::PowAssign; +use crate::rug::{Assign, Integer, Rational}; use std::cell::Cell; use std::cmp::{max, min, Ordering}; diff --git a/src/prolog/clause_types.rs b/src/clause_types.rs similarity index 99% rename from src/prolog/clause_types.rs rename to src/clause_types.rs index a6257082..8981ccce 100644 --- a/src/prolog/clause_types.rs +++ b/src/clause_types.rs @@ -1,10 +1,10 @@ -use prolog_parser::ast::*; +use crate::prolog_parser::ast::*; -use crate::prolog::forms::Number; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::rug::rand::RandState; +use crate::forms::Number; +use crate::machine::machine_indices::*; +use crate::rug::rand::RandState; -use ref_thread_local::RefThreadLocal; +use crate::ref_thread_local::RefThreadLocal; use std::collections::BTreeMap; diff --git a/src/prolog/codegen.rs b/src/codegen.rs similarity index 98% rename from src/prolog/codegen.rs rename to src/codegen.rs index cc2d1d2f..f23e4c93 100644 --- a/src/prolog/codegen.rs +++ b/src/codegen.rs @@ -1,17 +1,17 @@ -use prolog_parser::ast::*; - -use crate::prolog::allocator::*; -use crate::prolog::arithmetic::*; -use crate::prolog::clause_types::*; -use crate::prolog::fixtures::*; -use crate::prolog::forms::*; -use crate::prolog::indexing::*; -use crate::prolog::instructions::*; -use crate::prolog::iterators::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::targets::*; - -use indexmap::{IndexMap, IndexSet}; +use crate::prolog_parser::ast::*; + +use crate::allocator::*; +use crate::arithmetic::*; +use crate::clause_types::*; +use crate::fixtures::*; +use crate::forms::*; +use crate::indexing::*; +use crate::instructions::*; +use crate::iterators::*; +use crate::machine::machine_indices::*; +use crate::targets::*; + +use crate::indexmap::{IndexMap, IndexSet}; use std::cell::Cell; use std::rc::Rc; diff --git a/src/prolog/debray_allocator.rs b/src/debray_allocator.rs similarity index 98% rename from src/prolog/debray_allocator.rs rename to src/debray_allocator.rs index 5156b39a..9e129828 100644 --- a/src/prolog/debray_allocator.rs +++ b/src/debray_allocator.rs @@ -1,12 +1,12 @@ -use indexmap::IndexMap; +use crate::indexmap::IndexMap; -use prolog_parser::ast::*; +use crate::prolog_parser::ast::*; -use crate::prolog::allocator::*; -use crate::prolog::fixtures::*; -use crate::prolog::forms::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::targets::*; +use crate::allocator::*; +use crate::fixtures::*; +use crate::forms::*; +use crate::machine::machine_indices::*; +use crate::targets::*; use std::cell::Cell; use std::collections::BTreeSet; diff --git a/src/prolog/examples/bimetatrans_ruleml/bimetatrans_ruleml.pl b/src/examples/bimetatrans_ruleml/bimetatrans_ruleml.pl similarity index 100% rename from src/prolog/examples/bimetatrans_ruleml/bimetatrans_ruleml.pl rename to src/examples/bimetatrans_ruleml/bimetatrans_ruleml.pl diff --git a/src/prolog/examples/bimetatrans_ruleml/bimetatrans_ruleml_tests.pl b/src/examples/bimetatrans_ruleml/bimetatrans_ruleml_tests.pl similarity index 100% rename from src/prolog/examples/bimetatrans_ruleml/bimetatrans_ruleml_tests.pl rename to src/examples/bimetatrans_ruleml/bimetatrans_ruleml_tests.pl diff --git a/src/prolog/examples/domain.pl b/src/examples/domain.pl similarity index 100% rename from src/prolog/examples/domain.pl rename to src/examples/domain.pl diff --git a/src/prolog/examples/echo_server.pl b/src/examples/echo_server.pl similarity index 100% rename from src/prolog/examples/echo_server.pl rename to src/examples/echo_server.pl diff --git a/src/prolog/examples/expert_system.pl b/src/examples/expert_system.pl similarity index 100% rename from src/prolog/examples/expert_system.pl rename to src/examples/expert_system.pl diff --git a/src/prolog/examples/least_time.pl b/src/examples/least_time.pl similarity index 100% rename from src/prolog/examples/least_time.pl rename to src/examples/least_time.pl diff --git a/src/prolog/examples/minatotask.pl b/src/examples/minatotask.pl similarity index 100% rename from src/prolog/examples/minatotask.pl rename to src/examples/minatotask.pl diff --git a/src/prolog/examples/plres.pl b/src/examples/plres.pl similarity index 100% rename from src/prolog/examples/plres.pl rename to src/examples/plres.pl diff --git a/src/prolog/examples/utf8.pl b/src/examples/utf8.pl similarity index 100% rename from src/prolog/examples/utf8.pl rename to src/examples/utf8.pl diff --git a/src/prolog/fixtures.rs b/src/fixtures.rs similarity index 98% rename from src/prolog/fixtures.rs rename to src/fixtures.rs index 70a3b9b8..907c9227 100644 --- a/src/prolog/fixtures.rs +++ b/src/fixtures.rs @@ -1,10 +1,10 @@ -use prolog_parser::ast::*; +use crate::prolog_parser::ast::*; -use crate::prolog::forms::*; -use crate::prolog::instructions::*; -use crate::prolog::iterators::*; +use crate::forms::*; +use crate::instructions::*; +use crate::iterators::*; -use indexmap::{IndexMap, IndexSet}; +use crate::indexmap::{IndexMap, IndexSet}; use std::cell::Cell; use std::collections::BTreeSet; diff --git a/src/prolog/forms.rs b/src/forms.rs similarity index 98% rename from src/prolog/forms.rs rename to src/forms.rs index 0c3a7998..5e2681b0 100644 --- a/src/prolog/forms.rs +++ b/src/forms.rs @@ -1,14 +1,14 @@ -use prolog_parser::ast::*; -use prolog_parser::parser::OpDesc; -use prolog_parser::tabled_rc::*; +use crate::prolog_parser::ast::*; +use crate::prolog_parser::parser::OpDesc; +use crate::prolog_parser::tabled_rc::*; -use crate::prolog::clause_types::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::ordered_float::OrderedFloat; -use crate::prolog::rug::{Integer, Rational}; +use crate::clause_types::*; +use crate::machine::machine_errors::*; +use crate::machine::machine_indices::*; +use crate::ordered_float::OrderedFloat; +use crate::rug::{Integer, Rational}; -use indexmap::IndexMap; +use crate::indexmap::IndexMap; use std::cell::Cell; use std::collections::VecDeque; diff --git a/src/prolog/heap_iter.rs b/src/heap_iter.rs similarity index 98% rename from src/prolog/heap_iter.rs rename to src/heap_iter.rs index c478f547..a541d12f 100644 --- a/src/prolog/heap_iter.rs +++ b/src/heap_iter.rs @@ -1,7 +1,7 @@ -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::machine_state::*; +use crate::machine::machine_indices::*; +use crate::machine::machine_state::*; -use indexmap::IndexSet; +use crate::indexmap::IndexSet; use std::cmp::Ordering; use std::ops::Deref; diff --git a/src/prolog/heap_print.rs b/src/heap_print.rs similarity index 99% rename from src/prolog/heap_print.rs rename to src/heap_print.rs index 86f8c5a2..53fd481a 100644 --- a/src/prolog/heap_print.rs +++ b/src/heap_print.rs @@ -1,16 +1,16 @@ -use prolog_parser::ast::*; - -use crate::prolog::clause_types::*; -use crate::prolog::forms::*; -use crate::prolog::heap_iter::*; -use crate::prolog::machine::heap::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::machine_state::*; -use crate::prolog::machine::streams::*; -use crate::prolog::ordered_float::OrderedFloat; -use crate::prolog::rug::{Integer, Rational}; - -use indexmap::{IndexMap, IndexSet}; +use crate::prolog_parser::ast::*; + +use crate::clause_types::*; +use crate::forms::*; +use crate::heap_iter::*; +use crate::machine::heap::*; +use crate::machine::machine_indices::*; +use crate::machine::machine_state::*; +use crate::machine::streams::*; +use crate::ordered_float::OrderedFloat; +use crate::rug::{Integer, Rational}; + +use crate::indexmap::{IndexMap, IndexSet}; use std::cell::Cell; use std::convert::TryFrom; diff --git a/src/prolog/indexing.rs b/src/indexing.rs similarity index 98% rename from src/prolog/indexing.rs rename to src/indexing.rs index c03ff77a..add67bc5 100644 --- a/src/prolog/indexing.rs +++ b/src/indexing.rs @@ -1,10 +1,10 @@ -use prolog_parser::ast::*; -use prolog_parser::tabled_rc::*; +use crate::prolog_parser::ast::*; +use crate::prolog_parser::tabled_rc::*; -use crate::prolog::instructions::*; -use crate::prolog::rug::Integer; +use crate::instructions::*; +use crate::rug::Integer; -use indexmap::IndexMap; +use crate::indexmap::IndexMap; use std::collections::VecDeque; use std::convert::TryFrom; diff --git a/src/prolog/instructions.rs b/src/instructions.rs similarity index 98% rename from src/prolog/instructions.rs rename to src/instructions.rs index 93199289..33997018 100644 --- a/src/prolog/instructions.rs +++ b/src/instructions.rs @@ -1,13 +1,13 @@ -use prolog_parser::ast::*; +use crate::prolog_parser::ast::*; -use crate::prolog::clause_types::*; -use crate::prolog::forms::*; -use crate::prolog::machine::heap::*; -use crate::prolog::machine::machine_errors::MachineStub; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::rug::Integer; +use crate::clause_types::*; +use crate::forms::*; +use crate::machine::heap::*; +use crate::machine::machine_errors::MachineStub; +use crate::machine::machine_indices::*; +use crate::rug::Integer; -use indexmap::IndexMap; +use crate::indexmap::IndexMap; use std::collections::VecDeque; use std::rc::Rc; diff --git a/src/prolog/iterators.rs b/src/iterators.rs similarity index 99% rename from src/prolog/iterators.rs rename to src/iterators.rs index 55087f54..218ed78e 100644 --- a/src/prolog/iterators.rs +++ b/src/iterators.rs @@ -1,8 +1,8 @@ -use prolog_parser::ast::*; +use crate::prolog_parser::ast::*; -use crate::prolog::clause_types::*; -use crate::prolog::forms::*; -use crate::prolog::machine::machine_indices::*; +use crate::clause_types::*; +use crate::forms::*; +use crate::machine::machine_indices::*; use std::cell::Cell; use std::collections::VecDeque; diff --git a/src/prolog/lib/arithmetic.pl b/src/lib/arithmetic.pl similarity index 100% rename from src/prolog/lib/arithmetic.pl rename to src/lib/arithmetic.pl diff --git a/src/prolog/lib/assoc.pl b/src/lib/assoc.pl similarity index 100% rename from src/prolog/lib/assoc.pl rename to src/lib/assoc.pl diff --git a/src/prolog/lib/atts.pl b/src/lib/atts.pl similarity index 100% rename from src/prolog/lib/atts.pl rename to src/lib/atts.pl diff --git a/src/prolog/lib/between.pl b/src/lib/between.pl similarity index 100% rename from src/prolog/lib/between.pl rename to src/lib/between.pl diff --git a/src/prolog/lib/builtins.pl b/src/lib/builtins.pl similarity index 100% rename from src/prolog/lib/builtins.pl rename to src/lib/builtins.pl diff --git a/src/prolog/lib/charsio.pl b/src/lib/charsio.pl similarity index 100% rename from src/prolog/lib/charsio.pl rename to src/lib/charsio.pl diff --git a/src/prolog/lib/clpb.pl b/src/lib/clpb.pl similarity index 100% rename from src/prolog/lib/clpb.pl rename to src/lib/clpb.pl diff --git a/src/prolog/lib/clpz.pl b/src/lib/clpz.pl similarity index 100% rename from src/prolog/lib/clpz.pl rename to src/lib/clpz.pl diff --git a/src/prolog/lib/cont.pl b/src/lib/cont.pl similarity index 100% rename from src/prolog/lib/cont.pl rename to src/lib/cont.pl diff --git a/src/prolog/lib/crypto.pl b/src/lib/crypto.pl similarity index 100% rename from src/prolog/lib/crypto.pl rename to src/lib/crypto.pl diff --git a/src/prolog/lib/dcgs.pl b/src/lib/dcgs.pl similarity index 100% rename from src/prolog/lib/dcgs.pl rename to src/lib/dcgs.pl diff --git a/src/prolog/lib/diag.pl b/src/lib/diag.pl similarity index 100% rename from src/prolog/lib/diag.pl rename to src/lib/diag.pl diff --git a/src/prolog/lib/dif.pl b/src/lib/dif.pl similarity index 100% rename from src/prolog/lib/dif.pl rename to src/lib/dif.pl diff --git a/src/prolog/lib/error.pl b/src/lib/error.pl similarity index 100% rename from src/prolog/lib/error.pl rename to src/lib/error.pl diff --git a/src/prolog/lib/format.pl b/src/lib/format.pl similarity index 100% rename from src/prolog/lib/format.pl rename to src/lib/format.pl diff --git a/src/prolog/lib/freeze.pl b/src/lib/freeze.pl similarity index 100% rename from src/prolog/lib/freeze.pl rename to src/lib/freeze.pl diff --git a/src/prolog/lib/gensym.pl b/src/lib/gensym.pl similarity index 100% rename from src/prolog/lib/gensym.pl rename to src/lib/gensym.pl diff --git a/src/prolog/lib/iso_ext.pl b/src/lib/iso_ext.pl similarity index 100% rename from src/prolog/lib/iso_ext.pl rename to src/lib/iso_ext.pl diff --git a/src/prolog/lib/lists.pl b/src/lib/lists.pl similarity index 100% rename from src/prolog/lib/lists.pl rename to src/lib/lists.pl diff --git a/src/prolog/lib/ordsets.pl b/src/lib/ordsets.pl similarity index 100% rename from src/prolog/lib/ordsets.pl rename to src/lib/ordsets.pl diff --git a/src/prolog/lib/pairs.pl b/src/lib/pairs.pl similarity index 100% rename from src/prolog/lib/pairs.pl rename to src/lib/pairs.pl diff --git a/src/prolog/lib/pio.pl b/src/lib/pio.pl similarity index 100% rename from src/prolog/lib/pio.pl rename to src/lib/pio.pl diff --git a/src/prolog/lib/queues.pl b/src/lib/queues.pl similarity index 100% rename from src/prolog/lib/queues.pl rename to src/lib/queues.pl diff --git a/src/prolog/lib/random.pl b/src/lib/random.pl similarity index 100% rename from src/prolog/lib/random.pl rename to src/lib/random.pl diff --git a/src/prolog/lib/reif.pl b/src/lib/reif.pl similarity index 100% rename from src/prolog/lib/reif.pl rename to src/lib/reif.pl diff --git a/src/prolog/lib/si.pl b/src/lib/si.pl similarity index 100% rename from src/prolog/lib/si.pl rename to src/lib/si.pl diff --git a/src/prolog/lib/sockets.pl b/src/lib/sockets.pl similarity index 100% rename from src/prolog/lib/sockets.pl rename to src/lib/sockets.pl diff --git a/src/prolog/lib/tabling.pl b/src/lib/tabling.pl similarity index 100% rename from src/prolog/lib/tabling.pl rename to src/lib/tabling.pl diff --git a/src/prolog/lib/tabling/batched_worklist.pl b/src/lib/tabling/batched_worklist.pl similarity index 100% rename from src/prolog/lib/tabling/batched_worklist.pl rename to src/lib/tabling/batched_worklist.pl diff --git a/src/prolog/lib/tabling/double_linked_list.pl b/src/lib/tabling/double_linked_list.pl similarity index 100% rename from src/prolog/lib/tabling/double_linked_list.pl rename to src/lib/tabling/double_linked_list.pl diff --git a/src/prolog/lib/tabling/global_worklist.pl b/src/lib/tabling/global_worklist.pl similarity index 100% rename from src/prolog/lib/tabling/global_worklist.pl rename to src/lib/tabling/global_worklist.pl diff --git a/src/prolog/lib/tabling/table_data_structure.pl b/src/lib/tabling/table_data_structure.pl similarity index 100% rename from src/prolog/lib/tabling/table_data_structure.pl rename to src/lib/tabling/table_data_structure.pl diff --git a/src/prolog/lib/tabling/table_link_manager.pl b/src/lib/tabling/table_link_manager.pl similarity index 100% rename from src/prolog/lib/tabling/table_link_manager.pl rename to src/lib/tabling/table_link_manager.pl diff --git a/src/prolog/lib/tabling/trie.pl b/src/lib/tabling/trie.pl similarity index 100% rename from src/prolog/lib/tabling/trie.pl rename to src/lib/tabling/trie.pl diff --git a/src/prolog/lib/tabling/wrapper.pl b/src/lib/tabling/wrapper.pl similarity index 100% rename from src/prolog/lib/tabling/wrapper.pl rename to src/lib/tabling/wrapper.pl diff --git a/src/prolog/lib/terms.pl b/src/lib/terms.pl similarity index 100% rename from src/prolog/lib/terms.pl rename to src/lib/terms.pl diff --git a/src/prolog/lib/time.pl b/src/lib/time.pl similarity index 100% rename from src/prolog/lib/time.pl rename to src/lib/time.pl diff --git a/src/prolog/machine/arithmetic_ops.rs b/src/machine/arithmetic_ops.rs similarity index 99% rename from src/prolog/machine/arithmetic_ops.rs rename to src/machine/arithmetic_ops.rs index ad657828..110353ac 100644 --- a/src/prolog/machine/arithmetic_ops.rs +++ b/src/machine/arithmetic_ops.rs @@ -2,14 +2,14 @@ use crate::divrem::*; use crate::prolog_parser::ast::*; -use crate::prolog::arithmetic::*; -use crate::prolog::clause_types::*; -use crate::prolog::forms::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::machine_state::*; -use crate::prolog::ordered_float::*; -use crate::prolog::rug::{Integer, Rational}; +use crate::arithmetic::*; +use crate::clause_types::*; +use crate::forms::*; +use crate::machine::machine_errors::*; +use crate::machine::machine_indices::*; +use crate::machine::machine_state::*; +use crate::ordered_float::*; +use crate::rug::{Integer, Rational}; use std::cmp; use std::convert::TryFrom; diff --git a/src/prolog/machine/attributed_variables.pl b/src/machine/attributed_variables.pl similarity index 100% rename from src/prolog/machine/attributed_variables.pl rename to src/machine/attributed_variables.pl diff --git a/src/prolog/machine/attributed_variables.rs b/src/machine/attributed_variables.rs similarity index 98% rename from src/prolog/machine/attributed_variables.rs rename to src/machine/attributed_variables.rs index 3ca2ec2e..c7b198d5 100644 --- a/src/prolog/machine/attributed_variables.rs +++ b/src/machine/attributed_variables.rs @@ -1,5 +1,5 @@ -use crate::prolog::heap_iter::*; -use crate::prolog::machine::*; +use crate::heap_iter::*; +use crate::machine::*; use crate::indexmap::IndexSet; diff --git a/src/prolog/machine/code_repo.rs b/src/machine/code_repo.rs similarity index 94% rename from src/prolog/machine/code_repo.rs rename to src/machine/code_repo.rs index 78f3a548..b9045c72 100644 --- a/src/prolog/machine/code_repo.rs +++ b/src/machine/code_repo.rs @@ -1,13 +1,13 @@ -use crate::prolog::clause_types::*; -use crate::prolog::codegen::*; -use crate::prolog::debray_allocator::*; -use crate::prolog::forms::*; -use crate::prolog::instructions::*; -use crate::prolog::machine::compile::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::machine_indices::*; - -use indexmap::IndexSet; +use crate::clause_types::*; +use crate::codegen::*; +use crate::debray_allocator::*; +use crate::forms::*; +use crate::instructions::*; +use crate::machine::compile::*; +use crate::machine::machine_errors::*; +use crate::machine::machine_indices::*; + +use crate::indexmap::IndexSet; use std::collections::VecDeque; use std::mem; diff --git a/src/prolog/machine/code_walker.rs b/src/machine/code_walker.rs similarity index 98% rename from src/prolog/machine/code_walker.rs rename to src/machine/code_walker.rs index 1237498e..7cc7be4f 100644 --- a/src/prolog/machine/code_walker.rs +++ b/src/machine/code_walker.rs @@ -1,4 +1,4 @@ -use crate::prolog::instructions::*; +use crate::instructions::*; use std::collections::VecDeque; diff --git a/src/prolog/machine/compile.rs b/src/machine/compile.rs similarity index 98% rename from src/prolog/machine/compile.rs rename to src/machine/compile.rs index ac43d01c..517c4a94 100644 --- a/src/prolog/machine/compile.rs +++ b/src/machine/compile.rs @@ -1,22 +1,22 @@ -use prolog_parser::ast::*; -use prolog_parser::parser::get_desc; -use prolog_parser::tabled_rc::TabledData; - -use crate::prolog::codegen::*; -use crate::prolog::debray_allocator::*; -use crate::prolog::forms::*; -use crate::prolog::instructions::*; -use crate::prolog::iterators::*; -use crate::prolog::machine::code_walker::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::term_expansion::ExpansionAdditionResult; -use crate::prolog::machine::toplevel::*; -use crate::prolog::machine::*; - -use indexmap::{IndexMap, IndexSet}; - -use ref_thread_local::RefThreadLocal; +use crate::prolog_parser::ast::*; +use crate::prolog_parser::parser::get_desc; +use crate::prolog_parser::tabled_rc::TabledData; + +use crate::codegen::*; +use crate::debray_allocator::*; +use crate::forms::*; +use crate::instructions::*; +use crate::iterators::*; +use crate::machine::code_walker::*; +use crate::machine::machine_errors::*; +use crate::machine::machine_indices::*; +use crate::machine::term_expansion::ExpansionAdditionResult; +use crate::machine::toplevel::*; +use crate::machine::*; + +use crate::indexmap::{IndexMap, IndexSet}; + +use crate::ref_thread_local::RefThreadLocal; use std::cell::Cell; use std::collections::VecDeque; @@ -469,6 +469,7 @@ impl ClauseCodeGenerator { vec![Box::new(head.clone()), Box::new(tail.clone())], None, ); + PredicateClause::Fact(clause, 0, 0) }) .collect(), diff --git a/src/prolog/machine/copier.rs b/src/machine/copier.rs similarity index 99% rename from src/prolog/machine/copier.rs rename to src/machine/copier.rs index dd861731..588b68a5 100644 --- a/src/prolog/machine/copier.rs +++ b/src/machine/copier.rs @@ -1,5 +1,5 @@ -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::stack::*; +use crate::machine::machine_indices::*; +use crate::machine::stack::*; use std::mem; use std::ops::IndexMut; diff --git a/src/prolog/machine/dynamic_database.rs b/src/machine/dynamic_database.rs similarity index 98% rename from src/prolog/machine/dynamic_database.rs rename to src/machine/dynamic_database.rs index c90a085a..17a21d06 100644 --- a/src/prolog/machine/dynamic_database.rs +++ b/src/machine/dynamic_database.rs @@ -1,10 +1,10 @@ -use prolog_parser::ast::*; +use crate::prolog_parser::ast::*; -use crate::prolog::heap_print::*; -use crate::prolog::machine::*; -use crate::prolog::machine::compile::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::streams::*; +use crate::heap_print::*; +use crate::machine::*; +use crate::machine::compile::*; +use crate::machine::machine_errors::*; +use crate::machine::streams::*; use std::convert::TryFrom; diff --git a/src/prolog/machine/heap.rs b/src/machine/heap.rs similarity index 99% rename from src/prolog/machine/heap.rs rename to src/machine/heap.rs index 91639423..8f741f66 100644 --- a/src/prolog/machine/heap.rs +++ b/src/machine/heap.rs @@ -2,9 +2,9 @@ use core::marker::PhantomData; use crate::prolog_parser::ast::Constant; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::partial_string::*; -use crate::prolog::machine::raw_block::*; +use crate::machine::machine_indices::*; +use crate::machine::partial_string::*; +use crate::machine::raw_block::*; use std::convert::TryFrom; use std::mem; diff --git a/src/prolog/machine/machine_errors.rs b/src/machine/machine_errors.rs similarity index 98% rename from src/prolog/machine/machine_errors.rs rename to src/machine/machine_errors.rs index ec8bf80f..8db4c7cd 100644 --- a/src/prolog/machine/machine_errors.rs +++ b/src/machine/machine_errors.rs @@ -1,10 +1,10 @@ -use prolog_parser::ast::*; +use crate::prolog_parser::ast::*; -use crate::prolog::forms::{ModuleSource, Number, PredicateKey}; -use crate::prolog::machine::heap::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::machine_state::*; -use crate::prolog::rug::Integer; +use crate::forms::{ModuleSource, Number, PredicateKey}; +use crate::machine::heap::*; +use crate::machine::machine_indices::*; +use crate::machine::machine_state::*; +use crate::rug::Integer; use std::rc::Rc; diff --git a/src/prolog/machine/machine_indices.rs b/src/machine/machine_indices.rs similarity index 98% rename from src/prolog/machine/machine_indices.rs rename to src/machine/machine_indices.rs index 76344163..735009f8 100644 --- a/src/prolog/machine/machine_indices.rs +++ b/src/machine/machine_indices.rs @@ -1,21 +1,21 @@ -use prolog_parser::ast::*; -use prolog_parser::tabled_rc::*; - -use crate::prolog::clause_types::*; -use crate::prolog::fixtures::*; -use crate::prolog::forms::*; -use crate::prolog::machine::code_repo::CodeRepo; -use crate::prolog::machine::Ball; -use crate::prolog::machine::heap::*; -use crate::prolog::machine::machine_state::*; -use crate::prolog::machine::partial_string::*; -use crate::prolog::machine::raw_block::RawBlockTraits; -use crate::prolog::machine::streams::Stream; -use crate::prolog::instructions::*; -use crate::prolog::ordered_float::OrderedFloat; -use crate::prolog::rug::{Integer, Rational}; - -use indexmap::IndexMap; +use crate::prolog_parser::ast::*; +use crate::prolog_parser::tabled_rc::*; + +use crate::clause_types::*; +use crate::fixtures::*; +use crate::forms::*; +use crate::machine::code_repo::CodeRepo; +use crate::machine::Ball; +use crate::machine::heap::*; +use crate::machine::machine_state::*; +use crate::machine::partial_string::*; +use crate::machine::raw_block::RawBlockTraits; +use crate::machine::streams::Stream; +use crate::instructions::*; +use crate::ordered_float::OrderedFloat; +use crate::rug::{Integer, Rational}; + +use crate::indexmap::IndexMap; use std::cell::RefCell; use std::cmp::Ordering; @@ -118,7 +118,7 @@ impl PartialEq for Addr { } } -// for use in MachineState::bind. +// for use crate::in MachineState::bind. impl PartialOrd for Addr { fn partial_cmp(&self, r: &Ref) -> Option { match self { diff --git a/src/prolog/machine/machine_state.rs b/src/machine/machine_state.rs similarity index 98% rename from src/prolog/machine/machine_state.rs rename to src/machine/machine_state.rs index ad2dce34..02f7230a 100644 --- a/src/prolog/machine/machine_state.rs +++ b/src/machine/machine_state.rs @@ -1,22 +1,22 @@ -use prolog_parser::ast::*; -use prolog_parser::tabled_rc::*; - -use crate::prolog::clause_types::*; -use crate::prolog::forms::*; -use crate::prolog::heap_print::*; -use crate::prolog::machine::attributed_variables::*; -use crate::prolog::machine::copier::*; -use crate::prolog::machine::heap::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::modules::*; -use crate::prolog::machine::stack::*; -use crate::prolog::machine::streams::*; -use crate::prolog::rug::Integer; - -use downcast::Any; - -use indexmap::{IndexMap, IndexSet}; +use crate::prolog_parser::ast::*; +use crate::prolog_parser::tabled_rc::*; + +use crate::clause_types::*; +use crate::forms::*; +use crate::heap_print::*; +use crate::machine::attributed_variables::*; +use crate::machine::copier::*; +use crate::machine::heap::*; +use crate::machine::machine_errors::*; +use crate::machine::machine_indices::*; +use crate::machine::modules::*; +use crate::machine::stack::*; +use crate::machine::streams::*; +use crate::rug::Integer; + +use crate::downcast::Any; + +use crate::indexmap::{IndexMap, IndexSet}; use std::cmp::Ordering; use std::convert::TryFrom; diff --git a/src/prolog/machine/machine_state_impl.rs b/src/machine/machine_state_impl.rs similarity index 99% rename from src/prolog/machine/machine_state_impl.rs rename to src/machine/machine_state_impl.rs index 494df6a4..582aa5bf 100644 --- a/src/prolog/machine/machine_state_impl.rs +++ b/src/machine/machine_state_impl.rs @@ -1,24 +1,24 @@ -use prolog_parser::ast::*; -use prolog_parser::tabled_rc::*; - -use crate::prolog::clause_types::*; -use crate::prolog::forms::*; -use crate::prolog::heap_iter::*; -use crate::prolog::instructions::*; -use crate::prolog::machine::INTERRUPT; -use crate::prolog::machine::attributed_variables::*; -use crate::prolog::machine::code_repo::CodeRepo; -use crate::prolog::machine::copier::*; -use crate::prolog::machine::heap::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::machine_state::*; -use crate::prolog::machine::stack::*; -use crate::prolog::machine::streams::*; -use crate::prolog::ordered_float::*; -use crate::prolog::rug::Integer; - -use indexmap::{IndexMap, IndexSet}; +use crate::prolog_parser::ast::*; +use crate::prolog_parser::tabled_rc::*; + +use crate::clause_types::*; +use crate::forms::*; +use crate::heap_iter::*; +use crate::instructions::*; +use crate::machine::INTERRUPT; +use crate::machine::attributed_variables::*; +use crate::machine::code_repo::CodeRepo; +use crate::machine::copier::*; +use crate::machine::heap::*; +use crate::machine::machine_errors::*; +use crate::machine::machine_indices::*; +use crate::machine::machine_state::*; +use crate::machine::stack::*; +use crate::machine::streams::*; +use crate::ordered_float::*; +use crate::rug::Integer; + +use crate::indexmap::{IndexMap, IndexSet}; use std::cmp::Ordering; use std::convert::TryFrom; diff --git a/src/prolog/machine/mod.rs b/src/machine/mod.rs similarity index 98% rename from src/prolog/machine/mod.rs rename to src/machine/mod.rs index e9bab937..cf44a693 100644 --- a/src/prolog/machine/mod.rs +++ b/src/machine/mod.rs @@ -1,12 +1,12 @@ -use prolog_parser::ast::*; -use prolog_parser::tabled_rc::*; +use crate::prolog_parser::ast::*; +use crate::prolog_parser::tabled_rc::*; -use crate::prolog::clause_types::*; -use crate::prolog::forms::*; -use crate::prolog::heap_print::*; -use crate::prolog::instructions::*; -use crate::prolog::machine::heap::*; -use crate::prolog::read::*; +use crate::clause_types::*; +use crate::forms::*; +use crate::heap_print::*; +use crate::instructions::*; +use crate::machine::heap::*; +use crate::read::*; mod attributed_variables; pub(super) mod code_repo; @@ -32,17 +32,17 @@ mod arithmetic_ops; mod machine_state_impl; mod system_calls; -use crate::prolog::machine::attributed_variables::*; -use crate::prolog::machine::code_repo::*; -use crate::prolog::machine::compile::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::machine_state::*; -use crate::prolog::machine::modules::*; -use crate::prolog::machine::streams::*; -use crate::prolog::machine::toplevel::*; - -use indexmap::IndexMap; +use crate::machine::attributed_variables::*; +use crate::machine::code_repo::*; +use crate::machine::compile::*; +use crate::machine::machine_errors::*; +use crate::machine::machine_indices::*; +use crate::machine::machine_state::*; +use crate::machine::modules::*; +use crate::machine::streams::*; +use crate::machine::toplevel::*; + +use crate::indexmap::IndexMap; use std::collections::VecDeque; use std::convert::TryFrom; diff --git a/src/prolog/machine/modules.rs b/src/machine/modules.rs similarity index 98% rename from src/prolog/machine/modules.rs rename to src/machine/modules.rs index 472723a4..42576032 100644 --- a/src/prolog/machine/modules.rs +++ b/src/machine/modules.rs @@ -1,10 +1,10 @@ -use prolog_parser::ast::*; -use prolog_parser::tabled_rc::*; +use crate::prolog_parser::ast::*; +use crate::prolog_parser::tabled_rc::*; -use crate::prolog::forms::*; -use crate::prolog::machine::code_repo::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::machine_indices::*; +use crate::forms::*; +use crate::machine::code_repo::*; +use crate::machine::machine_errors::*; +use crate::machine::machine_indices::*; use std::collections::VecDeque; use std::mem; diff --git a/src/prolog/machine/partial_string.rs b/src/machine/partial_string.rs similarity index 100% rename from src/prolog/machine/partial_string.rs rename to src/machine/partial_string.rs diff --git a/src/prolog/machine/project_attributes.pl b/src/machine/project_attributes.pl similarity index 100% rename from src/prolog/machine/project_attributes.pl rename to src/machine/project_attributes.pl diff --git a/src/prolog/machine/raw_block.rs b/src/machine/raw_block.rs similarity index 100% rename from src/prolog/machine/raw_block.rs rename to src/machine/raw_block.rs diff --git a/src/prolog/machine/stack.rs b/src/machine/stack.rs similarity index 98% rename from src/prolog/machine/stack.rs rename to src/machine/stack.rs index 071cb3a0..4bd3802b 100644 --- a/src/prolog/machine/stack.rs +++ b/src/machine/stack.rs @@ -1,8 +1,8 @@ -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::raw_block::*; - use core::marker::PhantomData; +use crate::machine::machine_indices::*; +use crate::machine::raw_block::*; + use std::mem; use std::ops::{Index, IndexMut}; use std::ptr; diff --git a/src/prolog/machine/streams.rs b/src/machine/streams.rs similarity index 99% rename from src/prolog/machine/streams.rs rename to src/machine/streams.rs index 1dcbe145..f646ff9b 100644 --- a/src/prolog/machine/streams.rs +++ b/src/machine/streams.rs @@ -1,10 +1,10 @@ use crate::prolog_parser::ast::*; -use crate::prolog::read::PrologStream; -use crate::prolog::read::readline::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::machine_state::*; +use crate::read::PrologStream; +use crate::read::readline::*; +use crate::machine::machine_errors::*; +use crate::machine::machine_indices::*; +use crate::machine::machine_state::*; use std::cmp::Ordering; use std::cell::RefCell; @@ -17,7 +17,7 @@ use std::net::{Shutdown, TcpStream}; use std::ops::DerefMut; use std::rc::Rc; -use native_tls::TlsStream; +use crate::native_tls::TlsStream; #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub enum StreamType { @@ -636,7 +636,7 @@ impl Stream { #[inline] pub(crate) fn peek_char(&mut self) -> std::io::Result { - use unicode_reader::CodePoints; + use crate::unicode_reader::CodePoints; match self.stream_inst.0.borrow_mut().1 { StreamInstance::InputFile(_, ref mut file) => { diff --git a/src/prolog/machine/system_calls.rs b/src/machine/system_calls.rs similarity index 99% rename from src/prolog/machine/system_calls.rs rename to src/machine/system_calls.rs index 3c50c079..7ae73805 100644 --- a/src/prolog/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -1,22 +1,22 @@ -use prolog_parser::ast::*; -use prolog_parser::parser::*; -use prolog_parser::tabled_rc::*; - -use crate::prolog::clause_types::*; -use crate::prolog::forms::*; -use crate::prolog::heap_print::*; -use crate::prolog::instructions::*; -use crate::prolog::machine::code_repo::CodeRepo; -use crate::prolog::machine::copier::*; -use crate::prolog::machine::code_walker::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::machine_state::*; -use crate::prolog::machine::streams::*; -use crate::prolog::machine::toplevel::to_op_decl; -use crate::prolog::ordered_float::OrderedFloat; -use crate::prolog::read::readline; -use crate::prolog::rug::Integer; +use crate::prolog_parser::ast::*; +use crate::prolog_parser::parser::*; +use crate::prolog_parser::tabled_rc::*; + +use crate::clause_types::*; +use crate::forms::*; +use crate::heap_print::*; +use crate::instructions::*; +use crate::machine::code_repo::CodeRepo; +use crate::machine::copier::*; +use crate::machine::code_walker::*; +use crate::machine::machine_errors::*; +use crate::machine::machine_indices::*; +use crate::machine::machine_state::*; +use crate::machine::streams::*; +use crate::machine::toplevel::to_op_decl; +use crate::ordered_float::OrderedFloat; +use crate::read::readline; +use crate::rug::Integer; use crate::indexmap::IndexSet; @@ -34,23 +34,23 @@ use std::rc::Rc; use std::num::NonZeroU32; use std::time::{Duration, SystemTime}; -use cpu_time::ProcessTime; -use chrono::{offset::Local,DateTime}; +use crate::cpu_time::ProcessTime; +use crate::chrono::{offset::Local,DateTime}; use crate::crossterm::event::{read, Event, KeyCode, KeyEvent, KeyModifiers}; use crate::crossterm::terminal::{enable_raw_mode, disable_raw_mode}; -use ring::rand::{SecureRandom, SystemRandom}; -use ring::{digest,hkdf,pbkdf2,aead,signature::{self,KeyPair}}; -use ripemd160::{Ripemd160, Digest}; -use sha3::{Sha3_224, Sha3_256, Sha3_384, Sha3_512}; -use blake2::{Blake2s, Blake2b}; +use crate::ring::rand::{SecureRandom, SystemRandom}; +use crate::ring::{digest,hkdf,pbkdf2,aead,signature::{self,KeyPair}}; +use crate::ripemd160::{Ripemd160, Digest}; +use crate::sha3::{Sha3_224, Sha3_256, Sha3_384, Sha3_512}; +use crate::blake2::{Blake2s, Blake2b}; -use openssl::ec::{EcGroup, EcPoint}; -use openssl::bn::{BigNum, BigNumContext}; -use openssl::nid::Nid; +use crate::openssl::ec::{EcGroup, EcPoint}; +use crate::openssl::bn::{BigNum, BigNumContext}; +use crate::openssl::nid::Nid; -use native_tls::TlsConnector; +use crate::native_tls::TlsConnector; pub fn get_key() -> KeyEvent { let key; diff --git a/src/prolog/machine/term_expansion.rs b/src/machine/term_expansion.rs similarity index 98% rename from src/prolog/machine/term_expansion.rs rename to src/machine/term_expansion.rs index bb768219..f26799b7 100644 --- a/src/prolog/machine/term_expansion.rs +++ b/src/machine/term_expansion.rs @@ -1,10 +1,10 @@ -use prolog_parser::ast::*; -use prolog_parser::parser::*; +use crate::prolog_parser::ast::*; +use crate::prolog_parser::parser::*; -use crate::prolog::machine::machine_indices::HeapCellValue; -use crate::prolog::machine::*; -use crate::prolog::rug::ops::Pow; -use crate::prolog::rug::Integer; +use crate::machine::machine_indices::HeapCellValue; +use crate::machine::*; +use crate::rug::ops::Pow; +use crate::rug::Integer; use std::cell::Cell; use std::collections::VecDeque; diff --git a/src/prolog/machine/toplevel.rs b/src/machine/toplevel.rs similarity index 99% rename from src/prolog/machine/toplevel.rs rename to src/machine/toplevel.rs index 88d68c56..9937fffe 100644 --- a/src/prolog/machine/toplevel.rs +++ b/src/machine/toplevel.rs @@ -1,14 +1,14 @@ -use prolog_parser::ast::*; -use prolog_parser::tabled_rc::*; +use crate::prolog_parser::ast::*; +use crate::prolog_parser::tabled_rc::*; -use crate::prolog::forms::*; -use crate::prolog::iterators::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::term_expansion::*; -use crate::prolog::machine::*; +use crate::forms::*; +use crate::iterators::*; +use crate::machine::machine_errors::*; +use crate::machine::machine_indices::*; +use crate::machine::term_expansion::*; +use crate::machine::*; -use indexmap::{IndexMap, IndexSet}; +use crate::indexmap::{IndexMap, IndexSet}; use std::borrow::BorrowMut; use std::cell::Cell; diff --git a/src/prolog/macros.rs b/src/macros.rs similarity index 100% rename from src/prolog/macros.rs rename to src/macros.rs diff --git a/src/main.rs b/src/main.rs index 83196004..83273d3b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,6 @@ +extern crate blake2; +extern crate chrono; +extern crate cpu_time; extern crate crossterm; extern crate divrem; #[macro_use] @@ -8,19 +11,45 @@ extern crate indexmap; #[macro_use] extern crate lazy_static; extern crate libc; +extern crate native_tls; extern crate nix; +extern crate openssl; +extern crate ordered_float; #[macro_use] extern crate prolog_parser; #[macro_use] extern crate ref_thread_local; +extern crate ring; +extern crate ripemd160; +extern crate rug; +extern crate rustyline; +extern crate sha3; +extern crate unicode_reader; -use nix::sys::signal; +use crate::nix::sys::signal; -mod prolog; +#[macro_use] +mod macros; +mod allocator; +mod arithmetic; +mod codegen; +mod clause_types; +mod debray_allocator; +mod fixtures; +mod forms; +mod heap_iter; +mod heap_print; +mod indexing; +mod instructions; +mod iterators; +mod machine; +mod read; +mod targets; +mod write; -use crate::prolog::machine::*; -use crate::prolog::machine::streams::*; -use crate::prolog::read::*; +use machine::*; +use machine::streams::*; +use read::*; use std::sync::atomic::Ordering; diff --git a/src/prolog/mod.rs b/src/mod.rs similarity index 95% rename from src/prolog/mod.rs rename to src/mod.rs index bce7eba3..3de32a9b 100644 --- a/src/prolog/mod.rs +++ b/src/mod.rs @@ -5,7 +5,6 @@ extern crate prolog_parser; extern crate rug; #[cfg(feature = "num-rug-adapter")] extern crate num_rug_adapter as rug; -extern crate rustyline; #[macro_use] mod macros; diff --git a/src/prolog/read.rs b/src/read.rs similarity index 95% rename from src/prolog/read.rs rename to src/read.rs index 5c295862..803102bf 100644 --- a/src/prolog/read.rs +++ b/src/read.rs @@ -1,12 +1,12 @@ -use prolog_parser::ast::*; -use prolog_parser::parser::*; -use prolog_parser::tabled_rc::TabledData; +use crate::prolog_parser::ast::*; +use crate::prolog_parser::parser::*; +use crate::prolog_parser::tabled_rc::TabledData; -use crate::prolog::forms::*; -use crate::prolog::iterators::*; -use crate::prolog::machine::machine_indices::*; -use crate::prolog::machine::machine_state::MachineState; -use crate::prolog::machine::streams::Stream; +use crate::forms::*; +use crate::iterators::*; +use crate::machine::machine_indices::*; +use crate::machine::machine_state::MachineState; +use crate::machine::streams::Stream; use std::collections::VecDeque; @@ -15,9 +15,9 @@ type SubtermDeque = VecDeque<(usize, usize)>; pub type PrologStream = ParsingStream; pub mod readline { - use crate::prolog::machine::streams::Stream; - use crate::prolog::rustyline::error::ReadlineError; - use crate::prolog::rustyline::{Cmd, Editor, KeyPress}; + use crate::machine::streams::Stream; + use crate::rustyline::error::ReadlineError; + use crate::rustyline::{Cmd, Editor, KeyPress}; use std::io::{Cursor, Error, ErrorKind, Read}; static mut PROMPT: bool = false; diff --git a/src/prolog/targets.rs b/src/targets.rs similarity index 96% rename from src/prolog/targets.rs rename to src/targets.rs index 7ce9c156..643ea1d5 100644 --- a/src/prolog/targets.rs +++ b/src/targets.rs @@ -1,9 +1,9 @@ -use prolog_parser::ast::*; +use crate::prolog_parser::ast::*; -use crate::prolog::clause_types::*; -use crate::prolog::forms::*; -use crate::prolog::instructions::*; -use crate::prolog::iterators::*; +use crate::clause_types::*; +use crate::forms::*; +use crate::instructions::*; +use crate::iterators::*; pub trait CompilationTarget<'a> { type Iterator: Iterator>; diff --git a/src/prolog/toplevel.pl b/src/toplevel.pl similarity index 100% rename from src/prolog/toplevel.pl rename to src/toplevel.pl diff --git a/src/prolog/write.rs b/src/write.rs similarity index 99% rename from src/prolog/write.rs rename to src/write.rs index b5ba067c..71289d56 100644 --- a/src/prolog/write.rs +++ b/src/write.rs @@ -1,8 +1,8 @@ -use crate::prolog::clause_types::*; -use crate::prolog::forms::*; -use crate::prolog::instructions::*; -use crate::prolog::machine::machine_errors::*; -use crate::prolog::machine::machine_indices::*; +use crate::clause_types::*; +use crate::forms::*; +use crate::instructions::*; +use crate::machine::machine_errors::*; +use crate::machine::machine_indices::*; use std::fmt; -- 2.54.0