If you’re new to Alan, try the “Alan 101” tutorial: Getting Started.
- An introduction: Introducing Alan.
- The reference guide: how to use Alan.
- A tutorial for creating data migrations.
- A description of the Alan stack from the bottom up.
- A tutorial explaining how to create a report.
Don’t be afraid to ask questions on our forum!
Get the Alan utility
If you start your project from the template, it already has the
alan command line utility in the root directory.
You can also download it here:
Get the Alan Connect management app
To manage the stacks that run on your server, use the Alan Connect app:
Get the Alan server
You can use one of our images to run the server on a server or in a virtual machine:
You should be able to double-click the OVA to import it into [VirtualBox]. It’s configured so that on most systems you can simply hit “start” to run it.
If the network connection we configured doesn’t work, change the settings to use Bridged mode, hit OK and you should be all set.
On macOS or Linux you can also run the server on your own machine using this one-liner:
bash -c "mkdir -p data runenv/image && curl -s https://dist.m-industries.com/share/image/image-11-linux-x64.tar.gz | tar xzf - -C runenv/image && ln -s runenv/image/application-server serve"
bash -c "mkdir -p data runenv/image && curl -s https://dist.m-industries.com/share/image/image-11-darwin-x64.tar.gz | tar xzf - -C runenv/image && ln -s runenv/image/application-server serve"
You can then start the server by running:
./serve 127.0.0.1 12345
Tip: run this in a directory dedicated to the server as it will download additional utilities and create directories.
How to read grammars
- Keywords are between
'state group' [ '?' ] reference.
component 'some component'refers to a different component in the same language.
Typical quirks of the Alan compiler
- Keywords should be separated by whitespace, so
()doesn’t work but
- Quotes are recognized as something special, so you can write
- Single quotes are used for entities (things you can refer to or that refer to something else), double quotes are just strings.
- Only tabs are accepted for indentation.