remove vestigial prolog/ directory (#444)
This commit is contained in:
4
build.rs
4
build.rs
@@ -1,6 +1,6 @@
|
|||||||
extern crate indexmap;
|
extern crate indexmap;
|
||||||
|
|
||||||
use indexmap::IndexSet;
|
use crate::indexmap::IndexSet;
|
||||||
|
|
||||||
use std::env;
|
use std::env;
|
||||||
use std::fs::{File, copy, read_dir};
|
use std::fs::{File, copy, read_dir};
|
||||||
@@ -15,7 +15,7 @@ fn main()
|
|||||||
let mut libraries = File::create(&dest_path).unwrap();
|
let mut libraries = File::create(&dest_path).unwrap();
|
||||||
let mut library_index = IndexSet::new();
|
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 {
|
for item in paths {
|
||||||
let item = item.unwrap().path();
|
let item = item.unwrap().path();
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
|
|
||||||
use crate::prolog::fixtures::*;
|
use crate::fixtures::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::targets::*;
|
use crate::targets::*;
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
|
|
||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::fixtures::*;
|
use crate::fixtures::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::instructions::*;
|
use crate::instructions::*;
|
||||||
use crate::prolog::iterators::*;
|
use crate::iterators::*;
|
||||||
|
|
||||||
use crate::prolog::machine::heap::*;
|
use crate::machine::heap::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
|
|
||||||
use crate::prolog::ordered_float::*;
|
use crate::ordered_float::*;
|
||||||
use crate::prolog::rug::ops::PowAssign;
|
use crate::rug::ops::PowAssign;
|
||||||
use crate::prolog::rug::{Assign, Integer, Rational};
|
use crate::rug::{Assign, Integer, Rational};
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::cmp::{max, min, Ordering};
|
use std::cmp::{max, min, Ordering};
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
|
|
||||||
use crate::prolog::forms::Number;
|
use crate::forms::Number;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::rug::rand::RandState;
|
use crate::rug::rand::RandState;
|
||||||
|
|
||||||
use ref_thread_local::RefThreadLocal;
|
use crate::ref_thread_local::RefThreadLocal;
|
||||||
|
|
||||||
use std::collections::BTreeMap;
|
use std::collections::BTreeMap;
|
||||||
|
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
|
|
||||||
use crate::prolog::allocator::*;
|
use crate::allocator::*;
|
||||||
use crate::prolog::arithmetic::*;
|
use crate::arithmetic::*;
|
||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::fixtures::*;
|
use crate::fixtures::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::indexing::*;
|
use crate::indexing::*;
|
||||||
use crate::prolog::instructions::*;
|
use crate::instructions::*;
|
||||||
use crate::prolog::iterators::*;
|
use crate::iterators::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::targets::*;
|
use crate::targets::*;
|
||||||
|
|
||||||
use indexmap::{IndexMap, IndexSet};
|
use crate::indexmap::{IndexMap, IndexSet};
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
@@ -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::allocator::*;
|
||||||
use crate::prolog::fixtures::*;
|
use crate::fixtures::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::targets::*;
|
use crate::targets::*;
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::collections::BTreeSet;
|
use std::collections::BTreeSet;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
|
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::instructions::*;
|
use crate::instructions::*;
|
||||||
use crate::prolog::iterators::*;
|
use crate::iterators::*;
|
||||||
|
|
||||||
use indexmap::{IndexMap, IndexSet};
|
use crate::indexmap::{IndexMap, IndexSet};
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::collections::BTreeSet;
|
use std::collections::BTreeSet;
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
use prolog_parser::parser::OpDesc;
|
use crate::prolog_parser::parser::OpDesc;
|
||||||
use prolog_parser::tabled_rc::*;
|
use crate::prolog_parser::tabled_rc::*;
|
||||||
|
|
||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::ordered_float::OrderedFloat;
|
use crate::ordered_float::OrderedFloat;
|
||||||
use crate::prolog::rug::{Integer, Rational};
|
use crate::rug::{Integer, Rational};
|
||||||
|
|
||||||
use indexmap::IndexMap;
|
use crate::indexmap::IndexMap;
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::machine_state::*;
|
use crate::machine::machine_state::*;
|
||||||
|
|
||||||
use indexmap::IndexSet;
|
use crate::indexmap::IndexSet;
|
||||||
|
|
||||||
use std::cmp::Ordering;
|
use std::cmp::Ordering;
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
|
|
||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::heap_iter::*;
|
use crate::heap_iter::*;
|
||||||
use crate::prolog::machine::heap::*;
|
use crate::machine::heap::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::machine_state::*;
|
use crate::machine::machine_state::*;
|
||||||
use crate::prolog::machine::streams::*;
|
use crate::machine::streams::*;
|
||||||
use crate::prolog::ordered_float::OrderedFloat;
|
use crate::ordered_float::OrderedFloat;
|
||||||
use crate::prolog::rug::{Integer, Rational};
|
use crate::rug::{Integer, Rational};
|
||||||
|
|
||||||
use indexmap::{IndexMap, IndexSet};
|
use crate::indexmap::{IndexMap, IndexSet};
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
use prolog_parser::tabled_rc::*;
|
use crate::prolog_parser::tabled_rc::*;
|
||||||
|
|
||||||
use crate::prolog::instructions::*;
|
use crate::instructions::*;
|
||||||
use crate::prolog::rug::Integer;
|
use crate::rug::Integer;
|
||||||
|
|
||||||
use indexmap::IndexMap;
|
use crate::indexmap::IndexMap;
|
||||||
|
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
|
|
||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::machine::heap::*;
|
use crate::machine::heap::*;
|
||||||
use crate::prolog::machine::machine_errors::MachineStub;
|
use crate::machine::machine_errors::MachineStub;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::rug::Integer;
|
use crate::rug::Integer;
|
||||||
|
|
||||||
use indexmap::IndexMap;
|
use crate::indexmap::IndexMap;
|
||||||
|
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
|
|
||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
@@ -2,14 +2,14 @@ use crate::divrem::*;
|
|||||||
|
|
||||||
use crate::prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
|
|
||||||
use crate::prolog::arithmetic::*;
|
use crate::arithmetic::*;
|
||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::machine_state::*;
|
use crate::machine::machine_state::*;
|
||||||
use crate::prolog::ordered_float::*;
|
use crate::ordered_float::*;
|
||||||
use crate::prolog::rug::{Integer, Rational};
|
use crate::rug::{Integer, Rational};
|
||||||
|
|
||||||
use std::cmp;
|
use std::cmp;
|
||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
use crate::prolog::heap_iter::*;
|
use crate::heap_iter::*;
|
||||||
use crate::prolog::machine::*;
|
use crate::machine::*;
|
||||||
|
|
||||||
use crate::indexmap::IndexSet;
|
use crate::indexmap::IndexSet;
|
||||||
|
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::codegen::*;
|
use crate::codegen::*;
|
||||||
use crate::prolog::debray_allocator::*;
|
use crate::debray_allocator::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::instructions::*;
|
use crate::instructions::*;
|
||||||
use crate::prolog::machine::compile::*;
|
use crate::machine::compile::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
|
|
||||||
use indexmap::IndexSet;
|
use crate::indexmap::IndexSet;
|
||||||
|
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
use std::mem;
|
use std::mem;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
use crate::prolog::instructions::*;
|
use crate::instructions::*;
|
||||||
|
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
|
|
||||||
@@ -1,22 +1,22 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
use prolog_parser::parser::get_desc;
|
use crate::prolog_parser::parser::get_desc;
|
||||||
use prolog_parser::tabled_rc::TabledData;
|
use crate::prolog_parser::tabled_rc::TabledData;
|
||||||
|
|
||||||
use crate::prolog::codegen::*;
|
use crate::codegen::*;
|
||||||
use crate::prolog::debray_allocator::*;
|
use crate::debray_allocator::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::instructions::*;
|
use crate::instructions::*;
|
||||||
use crate::prolog::iterators::*;
|
use crate::iterators::*;
|
||||||
use crate::prolog::machine::code_walker::*;
|
use crate::machine::code_walker::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::term_expansion::ExpansionAdditionResult;
|
use crate::machine::term_expansion::ExpansionAdditionResult;
|
||||||
use crate::prolog::machine::toplevel::*;
|
use crate::machine::toplevel::*;
|
||||||
use crate::prolog::machine::*;
|
use crate::machine::*;
|
||||||
|
|
||||||
use indexmap::{IndexMap, IndexSet};
|
use crate::indexmap::{IndexMap, IndexSet};
|
||||||
|
|
||||||
use ref_thread_local::RefThreadLocal;
|
use crate::ref_thread_local::RefThreadLocal;
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
@@ -469,6 +469,7 @@ impl ClauseCodeGenerator {
|
|||||||
vec![Box::new(head.clone()), Box::new(tail.clone())],
|
vec![Box::new(head.clone()), Box::new(tail.clone())],
|
||||||
None,
|
None,
|
||||||
);
|
);
|
||||||
|
|
||||||
PredicateClause::Fact(clause, 0, 0)
|
PredicateClause::Fact(clause, 0, 0)
|
||||||
})
|
})
|
||||||
.collect(),
|
.collect(),
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::stack::*;
|
use crate::machine::stack::*;
|
||||||
|
|
||||||
use std::mem;
|
use std::mem;
|
||||||
use std::ops::IndexMut;
|
use std::ops::IndexMut;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
|
|
||||||
use crate::prolog::heap_print::*;
|
use crate::heap_print::*;
|
||||||
use crate::prolog::machine::*;
|
use crate::machine::*;
|
||||||
use crate::prolog::machine::compile::*;
|
use crate::machine::compile::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::streams::*;
|
use crate::machine::streams::*;
|
||||||
|
|
||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
|
|
||||||
@@ -2,9 +2,9 @@ use core::marker::PhantomData;
|
|||||||
|
|
||||||
use crate::prolog_parser::ast::Constant;
|
use crate::prolog_parser::ast::Constant;
|
||||||
|
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::partial_string::*;
|
use crate::machine::partial_string::*;
|
||||||
use crate::prolog::machine::raw_block::*;
|
use crate::machine::raw_block::*;
|
||||||
|
|
||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
use std::mem;
|
use std::mem;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
|
|
||||||
use crate::prolog::forms::{ModuleSource, Number, PredicateKey};
|
use crate::forms::{ModuleSource, Number, PredicateKey};
|
||||||
use crate::prolog::machine::heap::*;
|
use crate::machine::heap::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::machine_state::*;
|
use crate::machine::machine_state::*;
|
||||||
use crate::prolog::rug::Integer;
|
use crate::rug::Integer;
|
||||||
|
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
|
|
||||||
@@ -1,21 +1,21 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
use prolog_parser::tabled_rc::*;
|
use crate::prolog_parser::tabled_rc::*;
|
||||||
|
|
||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::fixtures::*;
|
use crate::fixtures::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::machine::code_repo::CodeRepo;
|
use crate::machine::code_repo::CodeRepo;
|
||||||
use crate::prolog::machine::Ball;
|
use crate::machine::Ball;
|
||||||
use crate::prolog::machine::heap::*;
|
use crate::machine::heap::*;
|
||||||
use crate::prolog::machine::machine_state::*;
|
use crate::machine::machine_state::*;
|
||||||
use crate::prolog::machine::partial_string::*;
|
use crate::machine::partial_string::*;
|
||||||
use crate::prolog::machine::raw_block::RawBlockTraits;
|
use crate::machine::raw_block::RawBlockTraits;
|
||||||
use crate::prolog::machine::streams::Stream;
|
use crate::machine::streams::Stream;
|
||||||
use crate::prolog::instructions::*;
|
use crate::instructions::*;
|
||||||
use crate::prolog::ordered_float::OrderedFloat;
|
use crate::ordered_float::OrderedFloat;
|
||||||
use crate::prolog::rug::{Integer, Rational};
|
use crate::rug::{Integer, Rational};
|
||||||
|
|
||||||
use indexmap::IndexMap;
|
use crate::indexmap::IndexMap;
|
||||||
|
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
use std::cmp::Ordering;
|
use std::cmp::Ordering;
|
||||||
@@ -118,7 +118,7 @@ impl PartialEq<Ref> for Addr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// for use in MachineState::bind.
|
// for use crate::in MachineState::bind.
|
||||||
impl PartialOrd<Ref> for Addr {
|
impl PartialOrd<Ref> for Addr {
|
||||||
fn partial_cmp(&self, r: &Ref) -> Option<Ordering> {
|
fn partial_cmp(&self, r: &Ref) -> Option<Ordering> {
|
||||||
match self {
|
match self {
|
||||||
@@ -1,22 +1,22 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
use prolog_parser::tabled_rc::*;
|
use crate::prolog_parser::tabled_rc::*;
|
||||||
|
|
||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::heap_print::*;
|
use crate::heap_print::*;
|
||||||
use crate::prolog::machine::attributed_variables::*;
|
use crate::machine::attributed_variables::*;
|
||||||
use crate::prolog::machine::copier::*;
|
use crate::machine::copier::*;
|
||||||
use crate::prolog::machine::heap::*;
|
use crate::machine::heap::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::modules::*;
|
use crate::machine::modules::*;
|
||||||
use crate::prolog::machine::stack::*;
|
use crate::machine::stack::*;
|
||||||
use crate::prolog::machine::streams::*;
|
use crate::machine::streams::*;
|
||||||
use crate::prolog::rug::Integer;
|
use crate::rug::Integer;
|
||||||
|
|
||||||
use downcast::Any;
|
use crate::downcast::Any;
|
||||||
|
|
||||||
use indexmap::{IndexMap, IndexSet};
|
use crate::indexmap::{IndexMap, IndexSet};
|
||||||
|
|
||||||
use std::cmp::Ordering;
|
use std::cmp::Ordering;
|
||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
@@ -1,24 +1,24 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
use prolog_parser::tabled_rc::*;
|
use crate::prolog_parser::tabled_rc::*;
|
||||||
|
|
||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::heap_iter::*;
|
use crate::heap_iter::*;
|
||||||
use crate::prolog::instructions::*;
|
use crate::instructions::*;
|
||||||
use crate::prolog::machine::INTERRUPT;
|
use crate::machine::INTERRUPT;
|
||||||
use crate::prolog::machine::attributed_variables::*;
|
use crate::machine::attributed_variables::*;
|
||||||
use crate::prolog::machine::code_repo::CodeRepo;
|
use crate::machine::code_repo::CodeRepo;
|
||||||
use crate::prolog::machine::copier::*;
|
use crate::machine::copier::*;
|
||||||
use crate::prolog::machine::heap::*;
|
use crate::machine::heap::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::machine_state::*;
|
use crate::machine::machine_state::*;
|
||||||
use crate::prolog::machine::stack::*;
|
use crate::machine::stack::*;
|
||||||
use crate::prolog::machine::streams::*;
|
use crate::machine::streams::*;
|
||||||
use crate::prolog::ordered_float::*;
|
use crate::ordered_float::*;
|
||||||
use crate::prolog::rug::Integer;
|
use crate::rug::Integer;
|
||||||
|
|
||||||
use indexmap::{IndexMap, IndexSet};
|
use crate::indexmap::{IndexMap, IndexSet};
|
||||||
|
|
||||||
use std::cmp::Ordering;
|
use std::cmp::Ordering;
|
||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
use prolog_parser::tabled_rc::*;
|
use crate::prolog_parser::tabled_rc::*;
|
||||||
|
|
||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::heap_print::*;
|
use crate::heap_print::*;
|
||||||
use crate::prolog::instructions::*;
|
use crate::instructions::*;
|
||||||
use crate::prolog::machine::heap::*;
|
use crate::machine::heap::*;
|
||||||
use crate::prolog::read::*;
|
use crate::read::*;
|
||||||
|
|
||||||
mod attributed_variables;
|
mod attributed_variables;
|
||||||
pub(super) mod code_repo;
|
pub(super) mod code_repo;
|
||||||
@@ -32,17 +32,17 @@ mod arithmetic_ops;
|
|||||||
mod machine_state_impl;
|
mod machine_state_impl;
|
||||||
mod system_calls;
|
mod system_calls;
|
||||||
|
|
||||||
use crate::prolog::machine::attributed_variables::*;
|
use crate::machine::attributed_variables::*;
|
||||||
use crate::prolog::machine::code_repo::*;
|
use crate::machine::code_repo::*;
|
||||||
use crate::prolog::machine::compile::*;
|
use crate::machine::compile::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::machine_state::*;
|
use crate::machine::machine_state::*;
|
||||||
use crate::prolog::machine::modules::*;
|
use crate::machine::modules::*;
|
||||||
use crate::prolog::machine::streams::*;
|
use crate::machine::streams::*;
|
||||||
use crate::prolog::machine::toplevel::*;
|
use crate::machine::toplevel::*;
|
||||||
|
|
||||||
use indexmap::IndexMap;
|
use crate::indexmap::IndexMap;
|
||||||
|
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
use prolog_parser::tabled_rc::*;
|
use crate::prolog_parser::tabled_rc::*;
|
||||||
|
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::machine::code_repo::*;
|
use crate::machine::code_repo::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
|
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
use std::mem;
|
use std::mem;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
use crate::prolog::machine::machine_indices::*;
|
|
||||||
use crate::prolog::machine::raw_block::*;
|
|
||||||
|
|
||||||
use core::marker::PhantomData;
|
use core::marker::PhantomData;
|
||||||
|
|
||||||
|
use crate::machine::machine_indices::*;
|
||||||
|
use crate::machine::raw_block::*;
|
||||||
|
|
||||||
use std::mem;
|
use std::mem;
|
||||||
use std::ops::{Index, IndexMut};
|
use std::ops::{Index, IndexMut};
|
||||||
use std::ptr;
|
use std::ptr;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
use crate::prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
|
|
||||||
use crate::prolog::read::PrologStream;
|
use crate::read::PrologStream;
|
||||||
use crate::prolog::read::readline::*;
|
use crate::read::readline::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::machine_state::*;
|
use crate::machine::machine_state::*;
|
||||||
|
|
||||||
use std::cmp::Ordering;
|
use std::cmp::Ordering;
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
@@ -17,7 +17,7 @@ use std::net::{Shutdown, TcpStream};
|
|||||||
use std::ops::DerefMut;
|
use std::ops::DerefMut;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
|
|
||||||
use native_tls::TlsStream;
|
use crate::native_tls::TlsStream;
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub enum StreamType {
|
pub enum StreamType {
|
||||||
@@ -636,7 +636,7 @@ impl Stream {
|
|||||||
#[inline]
|
#[inline]
|
||||||
pub(crate)
|
pub(crate)
|
||||||
fn peek_char(&mut self) -> std::io::Result<char> {
|
fn peek_char(&mut self) -> std::io::Result<char> {
|
||||||
use unicode_reader::CodePoints;
|
use crate::unicode_reader::CodePoints;
|
||||||
|
|
||||||
match self.stream_inst.0.borrow_mut().1 {
|
match self.stream_inst.0.borrow_mut().1 {
|
||||||
StreamInstance::InputFile(_, ref mut file) => {
|
StreamInstance::InputFile(_, ref mut file) => {
|
||||||
@@ -1,22 +1,22 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
use prolog_parser::parser::*;
|
use crate::prolog_parser::parser::*;
|
||||||
use prolog_parser::tabled_rc::*;
|
use crate::prolog_parser::tabled_rc::*;
|
||||||
|
|
||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::heap_print::*;
|
use crate::heap_print::*;
|
||||||
use crate::prolog::instructions::*;
|
use crate::instructions::*;
|
||||||
use crate::prolog::machine::code_repo::CodeRepo;
|
use crate::machine::code_repo::CodeRepo;
|
||||||
use crate::prolog::machine::copier::*;
|
use crate::machine::copier::*;
|
||||||
use crate::prolog::machine::code_walker::*;
|
use crate::machine::code_walker::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::machine_state::*;
|
use crate::machine::machine_state::*;
|
||||||
use crate::prolog::machine::streams::*;
|
use crate::machine::streams::*;
|
||||||
use crate::prolog::machine::toplevel::to_op_decl;
|
use crate::machine::toplevel::to_op_decl;
|
||||||
use crate::prolog::ordered_float::OrderedFloat;
|
use crate::ordered_float::OrderedFloat;
|
||||||
use crate::prolog::read::readline;
|
use crate::read::readline;
|
||||||
use crate::prolog::rug::Integer;
|
use crate::rug::Integer;
|
||||||
|
|
||||||
use crate::indexmap::IndexSet;
|
use crate::indexmap::IndexSet;
|
||||||
|
|
||||||
@@ -34,23 +34,23 @@ use std::rc::Rc;
|
|||||||
use std::num::NonZeroU32;
|
use std::num::NonZeroU32;
|
||||||
|
|
||||||
use std::time::{Duration, SystemTime};
|
use std::time::{Duration, SystemTime};
|
||||||
use cpu_time::ProcessTime;
|
use crate::cpu_time::ProcessTime;
|
||||||
use chrono::{offset::Local,DateTime};
|
use crate::chrono::{offset::Local,DateTime};
|
||||||
|
|
||||||
use crate::crossterm::event::{read, Event, KeyCode, KeyEvent, KeyModifiers};
|
use crate::crossterm::event::{read, Event, KeyCode, KeyEvent, KeyModifiers};
|
||||||
use crate::crossterm::terminal::{enable_raw_mode, disable_raw_mode};
|
use crate::crossterm::terminal::{enable_raw_mode, disable_raw_mode};
|
||||||
|
|
||||||
use ring::rand::{SecureRandom, SystemRandom};
|
use crate::ring::rand::{SecureRandom, SystemRandom};
|
||||||
use ring::{digest,hkdf,pbkdf2,aead,signature::{self,KeyPair}};
|
use crate::ring::{digest,hkdf,pbkdf2,aead,signature::{self,KeyPair}};
|
||||||
use ripemd160::{Ripemd160, Digest};
|
use crate::ripemd160::{Ripemd160, Digest};
|
||||||
use sha3::{Sha3_224, Sha3_256, Sha3_384, Sha3_512};
|
use crate::sha3::{Sha3_224, Sha3_256, Sha3_384, Sha3_512};
|
||||||
use blake2::{Blake2s, Blake2b};
|
use crate::blake2::{Blake2s, Blake2b};
|
||||||
|
|
||||||
use openssl::ec::{EcGroup, EcPoint};
|
use crate::openssl::ec::{EcGroup, EcPoint};
|
||||||
use openssl::bn::{BigNum, BigNumContext};
|
use crate::openssl::bn::{BigNum, BigNumContext};
|
||||||
use openssl::nid::Nid;
|
use crate::openssl::nid::Nid;
|
||||||
|
|
||||||
use native_tls::TlsConnector;
|
use crate::native_tls::TlsConnector;
|
||||||
|
|
||||||
pub fn get_key() -> KeyEvent {
|
pub fn get_key() -> KeyEvent {
|
||||||
let key;
|
let key;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
use prolog_parser::parser::*;
|
use crate::prolog_parser::parser::*;
|
||||||
|
|
||||||
use crate::prolog::machine::machine_indices::HeapCellValue;
|
use crate::machine::machine_indices::HeapCellValue;
|
||||||
use crate::prolog::machine::*;
|
use crate::machine::*;
|
||||||
use crate::prolog::rug::ops::Pow;
|
use crate::rug::ops::Pow;
|
||||||
use crate::prolog::rug::Integer;
|
use crate::rug::Integer;
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
use prolog_parser::tabled_rc::*;
|
use crate::prolog_parser::tabled_rc::*;
|
||||||
|
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::iterators::*;
|
use crate::iterators::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::term_expansion::*;
|
use crate::machine::term_expansion::*;
|
||||||
use crate::prolog::machine::*;
|
use crate::machine::*;
|
||||||
|
|
||||||
use indexmap::{IndexMap, IndexSet};
|
use crate::indexmap::{IndexMap, IndexSet};
|
||||||
|
|
||||||
use std::borrow::BorrowMut;
|
use std::borrow::BorrowMut;
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
39
src/main.rs
39
src/main.rs
@@ -1,3 +1,6 @@
|
|||||||
|
extern crate blake2;
|
||||||
|
extern crate chrono;
|
||||||
|
extern crate cpu_time;
|
||||||
extern crate crossterm;
|
extern crate crossterm;
|
||||||
extern crate divrem;
|
extern crate divrem;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
@@ -8,19 +11,45 @@ extern crate indexmap;
|
|||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate lazy_static;
|
extern crate lazy_static;
|
||||||
extern crate libc;
|
extern crate libc;
|
||||||
|
extern crate native_tls;
|
||||||
extern crate nix;
|
extern crate nix;
|
||||||
|
extern crate openssl;
|
||||||
|
extern crate ordered_float;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate prolog_parser;
|
extern crate prolog_parser;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate ref_thread_local;
|
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 machine::*;
|
||||||
use crate::prolog::machine::streams::*;
|
use machine::streams::*;
|
||||||
use crate::prolog::read::*;
|
use read::*;
|
||||||
|
|
||||||
use std::sync::atomic::Ordering;
|
use std::sync::atomic::Ordering;
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ extern crate prolog_parser;
|
|||||||
extern crate rug;
|
extern crate rug;
|
||||||
#[cfg(feature = "num-rug-adapter")]
|
#[cfg(feature = "num-rug-adapter")]
|
||||||
extern crate num_rug_adapter as rug;
|
extern crate num_rug_adapter as rug;
|
||||||
extern crate rustyline;
|
|
||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
mod macros;
|
mod macros;
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
use prolog_parser::parser::*;
|
use crate::prolog_parser::parser::*;
|
||||||
use prolog_parser::tabled_rc::TabledData;
|
use crate::prolog_parser::tabled_rc::TabledData;
|
||||||
|
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::iterators::*;
|
use crate::iterators::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
use crate::prolog::machine::machine_state::MachineState;
|
use crate::machine::machine_state::MachineState;
|
||||||
use crate::prolog::machine::streams::Stream;
|
use crate::machine::streams::Stream;
|
||||||
|
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
|
|
||||||
@@ -15,9 +15,9 @@ type SubtermDeque = VecDeque<(usize, usize)>;
|
|||||||
pub type PrologStream = ParsingStream<Stream>;
|
pub type PrologStream = ParsingStream<Stream>;
|
||||||
|
|
||||||
pub mod readline {
|
pub mod readline {
|
||||||
use crate::prolog::machine::streams::Stream;
|
use crate::machine::streams::Stream;
|
||||||
use crate::prolog::rustyline::error::ReadlineError;
|
use crate::rustyline::error::ReadlineError;
|
||||||
use crate::prolog::rustyline::{Cmd, Editor, KeyPress};
|
use crate::rustyline::{Cmd, Editor, KeyPress};
|
||||||
use std::io::{Cursor, Error, ErrorKind, Read};
|
use std::io::{Cursor, Error, ErrorKind, Read};
|
||||||
|
|
||||||
static mut PROMPT: bool = false;
|
static mut PROMPT: bool = false;
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
use prolog_parser::ast::*;
|
use crate::prolog_parser::ast::*;
|
||||||
|
|
||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::instructions::*;
|
use crate::instructions::*;
|
||||||
use crate::prolog::iterators::*;
|
use crate::iterators::*;
|
||||||
|
|
||||||
pub trait CompilationTarget<'a> {
|
pub trait CompilationTarget<'a> {
|
||||||
type Iterator: Iterator<Item = TermRef<'a>>;
|
type Iterator: Iterator<Item = TermRef<'a>>;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
use crate::prolog::clause_types::*;
|
use crate::clause_types::*;
|
||||||
use crate::prolog::forms::*;
|
use crate::forms::*;
|
||||||
use crate::prolog::instructions::*;
|
use crate::instructions::*;
|
||||||
use crate::prolog::machine::machine_errors::*;
|
use crate::machine::machine_errors::*;
|
||||||
use crate::prolog::machine::machine_indices::*;
|
use crate::machine::machine_indices::*;
|
||||||
|
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
Reference in New Issue
Block a user