Mats: The AGI Compiler
| Latest Version: | 2.42 | ||
|---|---|---|---|
| Release Date: | 1998-01-11[1] | ||
| Company: | N/A | ||
| Development Status: | Abandoned | ||
| Publication Status: | Published | ||
| Developer(s): | Martin Tillenius | ||
| Interface: | CLI | ||
| Language: | C++ | ||
| Open Source: | Open | ||
| Source Availability: | Yes (included in download) | ||
| License: | None | ||
| Type: | Compiler | ||
| Relevant Engine: | AGI | ||
| Platform: | DOS | ||
| Localization: | English | ||
| Website: | N/A | ||
A.K.A.
- MATS
Description
Martin Tillenius's Mats is an AGI Compiler. I've tried to keep it simple, and it is. It's a dumb compiler.
If you want to crash it, it will crash. Use too long strings, too many labels, or any overflows at all. There's no checks at all. If the user wants to crash the compiler, the compiler should crash.
But if you use it to compile correct code, I hope and believe there will be no problems at all. If there is, that's a bug, and I would love to hear about it!
The syntax is chosen to be as close to C as possible, with the main goal that the output from Lance Ewing's SHOWLOG should compile without errors.
Some additions have been made to make Mats more compatible with the other AGI compiler out there, AGIC.
Features
Requirements
Version History
2.42 * #message didn't work in last release
2.4 * New preprocessor command: #include * Defines can be more than one word * Defines can't be used before they're defined
2.3 * The v4++ commands weren't working. * The v4 = *v4 commands weren't working. * Divisions weren't working. * New precompile command: #message * Removed the Stringcatcher. I never liked it. * The has() statement now reads everything insIDE the parenthesis as an absolute string. I don't know how this will be done in the future, but this works quite fine with the output from SHOWLOG, as long as there are no objects with unbalanced parenthesis in their names. * Misspelling of center.pos is no longer supported.
2.2 * Syntax checking in the IF statements.
2.1 * Allowed another syntax to Goto: Goto(Label); * Mats should no longer require a Return(); statement at the end of each logic. * The center.pos test-command was earlier misspelled, but is now corrected. The old spelling is still supported.
2 * Changed the name to Mats, as there are other AGI compilers out there. * Added C/C++ type comments. * Skipped the pre-compiler (no more temporary files). * Added defines. * Some kind of bug fixed. =) * If no vol-number is given, there will be no header in the output.
1.0 * First release
Development Status
Further development of Mats has been abandoned.
Usage
See included documentation
Options
Download
Download from here:
Mats_2.42_(MATS242)_(wSRC).zip (ZIP file) [60.9 KB]
Known Issues
Credits
AcknowledgementsThanks to Lance Ewing for SHOWLOG and documentation.
Thanks to Joakim Möller for the tip about #define.
Thanks to Peter Kelly for reporting bugs.
Thanks to Floating Hills Software for their AGIC, and with that some competition.
Legal
Mats was released with no license.
References
Also See