2.1 KiB
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