More work on README

This commit is contained in:
Robin Jadoul 2016-05-28 16:28:15 +02:00
parent e0dc418768
commit 62044a0a1d
1 changed files with 22 additions and 10 deletions

View File

@ -3,22 +3,35 @@ Lexesis
A language agnostic lexical analyser generator
## Table Of Contents
* [Introduction][]
* [Requirements][]
* [Building][]
* [Getting started][]
* [General usage][]
* [More examples][]
* [Tested with][]
* [Authors][]
* [Introduction](#introduction)
* [Requirements](#requirements)
* [Building](#building)
* [Getting started](#getting-started)
* [More examples](#more-examples)
* [Tested with](#tested-with)
* [Authors](#authors)
## Introduction
Lexesis is a language agnostic lexical analyser generator. Which means that it uses a description of *tokens* in the form of regular expressions, and outputs source files for a lexer/scanner (which can be in any language for which a backend has been built, currently only c++), which can be used in building a larger application.
It's principle is very similar to the well known tools such as [lex](https://en.wikipedia.org/wiki/Lex_(software)) or [flex](http://flex.sourceforge.net), which the difference that Lexesis has a simpler input format, and does not depend on language specific actions to be specified in the configuration file. It uses a programming language independent description of the tokens, in order to allow a bigger reusability across different programming languages of the same lexical analyser specification.
This project came into existence as an application exercise in a course on regular languages and automata for the University of Antwerp.
## Requirements
* git
* CMake 3.2.2+
* Boost variant header library (needed for mstch)
For those still on *Ubuntu Trusty*, the default cmake version is still 2.8.12, so there is a ppa available with a more up-to-date version.
Run
```sh
sudo apt-get update && sudo apt-get -y install software-properties-common; \
sudo add-apt-repository -y ppa:george-edison55/cmake-3.x; \
sudo apt-get update && sudo apt-get install -y cmake
```
to get this newer version
## Used dependencies
The following dependencies will be automatically downloaded with git while building
@ -38,11 +51,10 @@ This will place the Lexesis executable in the `build/bin` folder, with some extr
You can now simply run `./bin/Lexesis` with the arguments you like (see below and in the man pages for an overview).
### Running tests
**TODO**
## Getting started
## General usage
See man page?
### Regular expressions