AdvSys interpreter and compiler port for Windows

Hello. I have published on the forum my Adventure Definition Language (authors are Ross Cunniff and Tim Brengle) compilation in this thread.

Here I would like to place my AdvSys compiler and interpreter compilation for Windows.

As an interesting fact the AdvSys data file is compatible with Amiga and Windows. There’s no need of two separate files!

This means, that you can compile your AdvSys game on Amiga or Windows (no matter) and such game file will work on both systems.

In ZIP archive you will find advcom.exe (compiler) and advint.exe (interpreter).

Download AdvSys.zip link

For those interested what’s an AdvSys is - it’s a text-adventure system created and released in 1986 by David Betz, with following features:

  1. It’s based on objects and properties,
  2. Objects (and classes of objects) are defined and can extend existing classes, and also override/extend their methods,
  3. The author can define constant values, strings and functions,
  4. Author can add words to vocabulary including articles, adjectives, nouns etc., define synonyms,
  5. Properties can link objects, specify numerical attributes and more,
  6. Author can define global variables,
  7. There are also actions and there’s a simple handler loop, where handlers can be defined as well.

The parser recognizes following forms:

[actor,] verb
[actor,] verb dobjects
[actor,] verb dobjects preposition iobject
[actor,] verb iobject dobjects

Writing a frame-work in AdvSys took me some time though, but once it’s ready - it’s easier to write games.

ADL on the other hand has loads of handful functions. I like both systems.

I hope you find my compilation useful. The program has been tested by people with various Windows versions.

I wrote a couple of short games recently in ADL and AdvSys. My next game should be bigger and more interesting. I should consider learning popular systems like Inform or Adventuron. But the tool is a separate thing - what my games lack is an interesting, planned story-line and attractive puzzles.

I hope my next game will break this or at least bring me closer to the goal. :slight_smile: Cheers.

7 Likes

advint work perfectly under wine. Later I’ll test the compiler.

BTW, the testing of advint uses elves87,which has major coding tricks, e.g. location reuse (!) hence is an excellent testbed, and I recommend it in testing ports of advint.

Tangentially, on elves and mirrors, I swear, I have forgotten that elves87 differentiate between examine myself and examine mirror as in The Portrait

1 Like

I updated the archive (same link) with:

  • AdvSys instructions and example game from the original archive,
  • And also full original source code of AdvSys in C in a sub-directory.

So if you wish to test advcom as well, it will be easier with the example. If you wish to write own game, docs will be handy.

Note: the source code is original. It doesn’t have my fixes to file input/output library calls.

This code in C is very nice, and if you would like to know how compiler works, including tokens, lexical analysis, dictionary etc., then it’s for you. :slight_smile:

I learned from it back then, but just recently almost two years ago, I learned Compilers also at the University (I studied computer-science). Hopefully getting master degree this year, as my thesis is practically done.

2 Likes

In bocca al Lupo for the Master degree !

anyway, compiles fine the sample, which runs as expected on the 'terp, and, most important, runs also on the Linux binary 'terp and the Linux gargoyle 'terp. so, no source nor story file problems, at least between Linux and wine (= LF vs CR/LF)

Best regards from Italy,
dott. Piergiorgio.

2 Likes

Thank you so much for wishes, and for testing the port.

I’m glad it works without problems. I think that the standard IO library (stdio.h) handles Line Feed (LF) and CR/LF correctly. This is good information.

Amiga uses LF form (just like Unix/Linux), but I convert the text from CR/LF if necessary using Notepad++ on PC or CygnusEd on Amiga. But it’s only for text. The binary game data files, like I mentioned in first post, work OK with Windows and Amiga interpreter executables.

1 Like