Skip to content

sebaFlame/CNFDotnet

Repository files navigation

CNFDotnet

Testing out different parser implementations

Rationale

I've created this project to learn different parser implementations. It's a C# translation based on the code of grammophone by @mdaines.

Tooling

The first tool is grammophone itself, to veriy my translation. This is also the first project I developed completely using ViM on WSL1.

Mandatory vim plugins are OmniSharp-vim and Sharpen Up. OmniSharp-vim relies on OmniSharp-Roslyn for C# support. Sharpen Up - among other things - adds default mappings to OmniSharp-vim.

Optionally you can get the debugger Vimspector. It has .NET (core) support out of the box using netcoredbg.

After some initial issues with the debugger (puremourning/vimspector#448), it was a tolerable experience, but I had to figth ViM many times. It's fast, but can not compare to a fully fledged IDE.

Usage

This library is solely made to run the tests. The tests validate different types of grammars. As of now: LL(1), LR(0), SLR(1), LR(1) and LALR(1).

The code in Parsing is well documented and should explain every single step in the grammar validation and parsing process.

Releases

No releases published

Packages

No packages published

Languages