pub struct Library {
pub programs: Vec<Program>,
pub dirs: Vec<PathBuf>,
pub copy: Libraries,
pub flags: Vec<String>,
pub trace_statements: Option<StatementFilter>,
pub trace_input: bool,
pub statement_limit: Option<u64>,
pub screen: Option<Rc<RefCell<Crt>>>,
pub environment: BTreeMap<String, String>,
pub time_limit: Option<u64>,
pub storage_limit: Option<u64>,
pub program_ids: Option<Vec<(String, PathBuf)>>,
}Expand description
Where CALL finds programs: the other programs of the first program’s source, then program libraries searched by member name.
Fields§
§programs: Vec<Program>The programs not yet loaded: the first program’s source’s own, then those read from a library file, which name that file as their first source.
dirs: Vec<PathBuf>§copy: Libraries§flags: Vec<String>§trace_statements: Option<StatementFilter>The statements whose start the run unit tells its observer of (RunUnit::statements).
trace_input: boolWhether the run unit follows which bytes may hold input (RunUnit::taint).
statement_limit: Option<u64>How many statements may start before the run ends with S322 (RunUnit::statement_limit).
screen: Option<Rc<RefCell<Crt>>>The screen positioned DISPLAY and ACCEPT use, with the operator a screen script plays; None gives each run a blank screen with no operator.
environment: BTreeMap<String, String>The environment variables --env gives the run.
time_limit: Option<u64>Seconds the run may take before it ends with S322 (RunUnit::limit).
storage_limit: Option<u64>Bytes of storage the run unit may hold before the run ends (RunUnit::limit).
program_ids: Option<Vec<(String, PathBuf)>>Each PROGRAM-ID the source files of dirs hold, with its file, read the first time a CALL
names no member.
Implementations§
Trait Implementations§
Source§impl Loader<Rc<Compiled>> for Library
impl Loader<Rc<Compiled>> for Library
Source§fn program(
&mut self,
name: &str,
) -> Result<LoadedProgram<Rc<Compiled>>, LoadError>
fn program( &mut self, name: &str, ) -> Result<LoadedProgram<Rc<Compiled>>, LoadError>
Source§fn holder(&self, entry: &str) -> Option<String>
fn holder(&self, entry: &str) -> Option<String>
Source§fn entry(program: &Rc<Compiled>, name: &str) -> Option<usize>
fn entry(program: &Rc<Compiled>, name: &str) -> Option<usize>
Source§fn shape(program: &Rc<Compiled>) -> (usize, usize)
fn shape(program: &Rc<Compiled>) -> (usize, usize)
Source§fn nested(program: &Rc<Compiled>) -> &[String]
fn nested(program: &Rc<Compiled>) -> &[String]
Source§fn facts(program: &Rc<Compiled>) -> Facts
fn facts(program: &Rc<Compiled>) -> Facts
Source§fn source(program: &Rc<Compiled>, file: usize) -> Option<String>
fn source(program: &Rc<Compiled>, file: usize) -> Option<String>
file of a loaded program’s source table, by name.