First work on README

This commit is contained in:
Robin Jadoul 2016-05-28 16:07:21 +02:00
parent 536b4f44ac
commit e0dc418768
1 changed files with 64 additions and 1 deletions

View File

@ -1,4 +1,67 @@
Lexesis
=======
A language agnostic lexical analyser generator
The genesis of a new lexer generator
## Table Of Contents
* [Introduction][]
* [Requirements][]
* [Building][]
* [Getting started][]
* [General usage][]
* [More examples][]
* [Tested with][]
* [Authors][]
## Introduction
## Requirements
* git
* CMake 3.2.2+
* Boost variant header library (needed for mstch)
## Used dependencies
The following dependencies will be automatically downloaded with git while building
* [mstch](https://github.com/no1msd/mstch)
* [optparse](https://github.com/myint/optparse)
## Building
Get your terminal in the source tree and run the following commands:
```sh
mkdir build
cd build
cmake ..
make
make install
```
This will place the Lexesis executable in the `build/bin` folder, with some extra needed data for Lexesis in `build/share`
You can now simply run `./bin/Lexesis` with the arguments you like (see below and in the man pages for an overview).
### Running tests
## Getting started
## General usage
See man page?
### Regular expressions
## More examples
More examples can be found in the *examples* subdirectory, go ahead an have a look at them.
Feel free to play around and experiment with them.
The *keywords* example simply prints the lexed token type, along with its content, while the *SyntaxHighlighter* example is a bit more complete, making use of multiple lexers at once and providing a simple form of syntax highlighting for xml in the terminal using ansi escape codes. Be aware however that this also accepts anything that even remotely looks like xml, since the regular languages underlying the lexers cannot verify or parse xml.
## Tested with
| OS | Compiler | Boost version |
| ----------------- | ------------- | ------------- |
| Ubuntu 14.04 | gcc 5.3.0 | Boost 1.54 |
| Ubuntu 14.04 | clang 3.5.0 | Boost 1.54 |
| Ubuntu 15.10 | gcc 5.2.1 | Boost 1.58 |
| Ubuntu 15.10 | clang 3.6.2-1 | Boost 1.58 |
| Arch linux | gcc 6.1.1 | Boost 1.60 |
| Arch linux | clang 3.8.0 | Boost 1.60 |
| OSX El capitan | clang 7.3.0 | Boost 1.60 |
## Authors
* Thomas Avé
* Robin Jadoul