Go to file
Robin Jadoul e0dc418768 First work on README 2016-05-28 16:07:21 +02:00
cmake Use optparse-cpp in CMake 2016-05-26 15:59:57 +02:00
docs Move proposal documents to docs folder 2016-04-24 15:35:57 +02:00
examples Add another example 2016-05-28 14:41:01 +02:00
include/Lexesis Some doxygen changes 2016-05-27 19:23:27 +02:00
src Move to another optparse fork 2016-05-28 15:29:34 +02:00
templates/c++ Remove main from c++ template 2016-05-27 17:20:55 +02:00
.gitignore Initial commit 2016-04-07 16:35:31 +02:00
CMakeLists.txt Move to another optparse fork 2016-05-28 15:29:34 +02:00
Doxyfile.in Some doxygen changes 2016-05-27 19:23:27 +02:00
README.md First work on README 2016-05-28 16:07:21 +02:00

README.md

Lexesis

A language agnostic lexical analyser 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

Building

Get your terminal in the source tree and run the following commands:

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