Lexesis/README.md

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