30 lines
1.1 KiB
Markdown
30 lines
1.1 KiB
Markdown
|
# XMLI System Test
|
|||
|
The `xmli` file is an intermediate file that serves as a handoff between
|
|||
|
TAMER and the XSLT-based compiler:
|
|||
|
|
|||
|
```
|
|||
|
xml -> (TAMER) -> xmli -> (TAME XSLT) -> xmlo
|
|||
|
```
|
|||
|
|
|||
|
TAMER gets the first shot at processing, and then the compilation process
|
|||
|
continues with the XSLT-based compiler. This allows TAMER to incrementally
|
|||
|
augment and manipulate the source file and remove responsibilities from
|
|||
|
TAME XSLT.
|
|||
|
|
|||
|
Tests in this directory ensure that this process is working as
|
|||
|
intended. TAMER's failure to perform a proper handoff will cause TAME XSLT
|
|||
|
to compile sources incorrectly, since TAMER will have rewritten them to
|
|||
|
something else.
|
|||
|
|
|||
|
This handoff is more than just echoing tokens back into a file---it
|
|||
|
_derives_ a new program from the state of the ASG. This program may have a
|
|||
|
slightly different representation than the original sources, but it must
|
|||
|
express an equivalent program, and the program must be at least as
|
|||
|
performant when emitted by TAME XSLT.
|
|||
|
|
|||
|
# Running Tests
|
|||
|
Test are prefixed with `test-*` and are executable. They must be invoked
|
|||
|
with the environment variable `PATH_TAMEC` set to the path of `tamec`
|
|||
|
relative to the working directory.
|
|||
|
|