update to handle strings as lists.

This commit is contained in:
Mark Thom
2018-08-22 00:26:48 -06:00
parent 013eb29e2b
commit f861b7a80e
14 changed files with 187 additions and 60 deletions

View File

@@ -1,5 +1,6 @@
use prolog::ast::*;
use prolog::machine::*;
use prolog::machine::machine_state::MachineFlags;
use prolog::num::*;
use prolog::parser::parser::*;
use prolog::string_list::*;
@@ -608,10 +609,10 @@ pub struct TopLevelWorker<'a, R: Read> {
impl<'a, R: Read> TopLevelWorker<'a, R> {
pub fn new(inner: R, atom_tbl: TabledData<Atom>, string_tbl: TabledData<StringListWrapper>,
indices: MachineCodeIndices<'a>)
flags: MachineFlags, indices: MachineCodeIndices<'a>)
-> Self
{
TopLevelWorker { parser: Parser::new(inner, atom_tbl, string_tbl), indices }
TopLevelWorker { parser: Parser::new(inner, atom_tbl, string_tbl, flags), indices }
}
pub fn parse_code(&mut self) -> Result<TopLevelPacket, ParserError>
@@ -640,10 +641,11 @@ pub struct TopLevelBatchWorker<R: Read> {
}
impl<R: Read> TopLevelBatchWorker<R> {
pub fn new(inner: R, atom_tbl: TabledData<Atom>, string_tbl: TabledData<StringListWrapper>)
pub fn new(inner: R, atom_tbl: TabledData<Atom>, string_tbl: TabledData<StringListWrapper>,
flags: MachineFlags)
-> Self
{
TopLevelBatchWorker { parser: Parser::new(inner, atom_tbl, string_tbl),
TopLevelBatchWorker { parser: Parser::new(inner, atom_tbl, string_tbl, flags),
rel_worker: RelationWorker::new(),
source_mod: clause_name!("user"),
results: vec![] }