From 62044a0a1d1992f076f1afcbef64c2a1a756eb24 Mon Sep 17 00:00:00 2001 From: Robin Jadoul Date: Sat, 28 May 2016 16:28:15 +0200 Subject: [PATCH] More work on README --- README.md | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index fe6486d..5f47708 100644 --- a/README.md +++ b/README.md @@ -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