Mats: The AGI Compiler

From Sierra Wiki
Jump to navigationJump to search
Mats: The AGI Compiler
Version 2.42
Author: Martin Tillenius
1998-01-11
Mats
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

MATS.TXT[2] wrote:

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:


Known Issues


Credits

Martin Tillenius


Acknowledgements

Thanks 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

  1. ↑ From the file's creation date
  2. ↑ From MATS.TXT


Also See