More work on README
This commit is contained in:
parent
e0dc418768
commit
62044a0a1d
32
README.md
32
README.md
|
@ -3,22 +3,35 @@ Lexesis
|
||||||
A language agnostic lexical analyser generator
|
A language agnostic lexical analyser generator
|
||||||
|
|
||||||
## Table Of Contents
|
## Table Of Contents
|
||||||
* [Introduction][]
|
* [Introduction](#introduction)
|
||||||
* [Requirements][]
|
* [Requirements](#requirements)
|
||||||
* [Building][]
|
* [Building](#building)
|
||||||
* [Getting started][]
|
* [Getting started](#getting-started)
|
||||||
* [General usage][]
|
* [More examples](#more-examples)
|
||||||
* [More examples][]
|
* [Tested with](#tested-with)
|
||||||
* [Tested with][]
|
* [Authors](#authors)
|
||||||
* [Authors][]
|
|
||||||
|
|
||||||
## Introduction
|
## 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
|
## Requirements
|
||||||
* git
|
* git
|
||||||
* CMake 3.2.2+
|
* CMake 3.2.2+
|
||||||
* Boost variant header library (needed for mstch)
|
* 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
|
## Used dependencies
|
||||||
The following dependencies will be automatically downloaded with git while building
|
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).
|
You can now simply run `./bin/Lexesis` with the arguments you like (see below and in the man pages for an overview).
|
||||||
|
|
||||||
### Running tests
|
### Running tests
|
||||||
|
**TODO**
|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
|
|
||||||
## General usage
|
|
||||||
See man page?
|
|
||||||
|
|
||||||
### Regular expressions
|
### Regular expressions
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue