Table of Contents
=================

* [Compiler](#compiler)
  * [Install](#install)
  * [Test](#test)
  * [Usage](#usage)
  * [License](#license)

Compiler
========

Compiler for the [command](https://github.com/freeformsystems/cli-command) module, a component of the [toolkit](https://github.com/freeformsystems/cli-toolkit).

Compiles markdown program definitions to javascript.

## Install

```
npm i cli-compiler
```

## Test

```
npm test
```

## Usage

The compiler executes the following phases:

1. Create or initialize a `Program` instance or subclass (create).
2. Load and execute library modules (libs).
3. Gather source files to merge with parsed program data (sources).
4. Load and concatenate markdown input files (cat).
5. Parse markdown document to tokens (parse).
6. Render markdown tokens into program definition (render).
7. Replace variables in the program strings (replace).
8. Transform the program definition to a module (transform).
9. Write the transformed javascript module to a file (write).
10. Print the javascript document (print).

## License

Everything is [MIT](http://en.wikipedia.org/wiki/MIT_License). Read the [license](https://github.com/freeformsystems/cli-compiler/blob/master/LICENSE) if you feel inclined.

Generated by [mdp(1)](https://github.com/freeformsystems/mdp).

[toolkit]: https://github.com/freeformsystems/cli-toolkit
[command]: https://github.com/freeformsystems/cli-command
