Source code
SHYSTER consists of a dozen modules written in ISO C. You can use your web browser to navigate the C source code: each occurrence of an identifier (a variable, a defined type, a function call, etc) is linked to the point where that identifier is defined or declared. You can start navigating at the main
function, or you can start at the top of one of the twelve modules:
- the Shyster module is the top-level module for the whole system;
- the Statutes module is the top-level module for a rule-based system, presently unimplemented;
- the Cases module is the top-level module for the case-based system;
- the Tokenizer module tokenizes a program written in SHYSTER's case law specification language;
- the Parser module parses a program written in SHYSTER's case law specification language, using those tokens;
- the Dumper module displays the information that has been parsed;
- the Checker module checks for evidence of dependence between attributes;
- the Scales module determines the weight of each attribute;
- the Adjuster module allows the legal expert to adjust the weights of the attributes;
- the Consultant module interrogates the user as to the attribute values in the instant case;
- the Odometer module determines the distance between the instant case and each leading case; and
- the Reporter module writes SHYSTER's legal opinion.
SHYSTER's source code, and the case law specifications used to test SHYSTER during its development, are available for no charge, and without warranty, on certain terms and conditions. Example output from SHYSTER is also available.
A technical report on SHYSTER's source code is also available.