Skip to content
Olivier Duhart edited this page Dec 3, 2017 · 13 revisions

Welcome to the csly wiki!

this wiki presents the main functionnality of CSLY.

#LY is a parser generator halfway between parser combinators and parser generator like

Why?

I needed a solution for building parsers and found all existing solution either

  • too complicated to integrate with an additional build step as with ANTLR )
  • or too different from the classical BNF notation (as parser combinators like sprache or Eto.Parse). These tools are great, but I don't feel comfortable with them.

General principle

SLY is highly inspired by the python lex yacc library (PLY)

The parser and lexer implementations fully reside in a single class. The class describes

  • every token definition for the lexer
  • every grammar rule and its associated action to transform the syntaxic tree.

How to use

#LY is a composite library :

Installation

Install from the NuGet gallery GUI or with the Package Manager Console using the following command:

Install-Package sly

or with dotnet core

dotnet add package sly