1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//! HP 48/49 RPL objects for saturnus hosts (the app in the browser and on
//! the desktop, the Kermit test host), without any I/O or protocol stack: builds for
//! `wasm32` like the core.
//!
//! - [`object`]: the typed object model ([`Object`], JSON through serde)
//! and the exact decoder of the calculator's nibble format.
//! - [`ram`]: a read-only view of a paused machine's user memory: the
//! HOME tree with each variable's type, size and checksum, the current
//! directory, the data stack and the flags, straight from RAM (no Kermit
//! server, no mode switch), plus a change counter for cheap polling.
//! - [`names`]: command names read at run time from the loaded ROM's own
//! library tables ([`NameTable`], built once per ROM).
//! - [`decompile`]: the calculator's text for programs, algebraics, units
//! and data objects in the display mode the flags select.
//! - [`prolog`]: object types by prolog and the size walk.
//! - [`cmdline`]: the command line being edited (text, cursor, open or
//! not) and the editor's entry mode, alpha and shifts, from RAM.
//! - [`screen`]: what has the keyboard (the stack, a command line, a
//! halted program, an input form, a choose or message box, the
//! graphics screen), from RAM.
//! - [`error`]: [`DecodeError`] (nibbles that are not an object, and
//! where) and [`Error`] (everything else, such as memory the ROM has not
//! set up yet).
//! - [`transfer`]: the objects of Kermit transfers: binary transfer files
//! decoded and encoded, sources from ASCII transfers, RPL source text
//! for host commands (the protocol itself is the host's).
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ObjectType;
pub use ;
// The README (the crate's page on crates.io) compiles as a doctest.
;