marcelosousa/parsersharing
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Sharing Parsers Marcelo Sousa, Utrecht University 2011 Abstract: Currently all parsing libraries will parse a piece of text twice with the same non-terminal if the grammar has various way of reaching the same point in the input. To solve the problem I've created a general parsing library suited for sharing non-terminals in an online, typeful way. More info check the haddock documentation in the doc folder and the presentation slides. The src folder contains: - ParserSharingSimple.hs - The core library with no-sharing. It's a good way to get to know the library and then to move to the shared version - ParserSharingCombinators.hs - Some classical parsers combinators are defined there in order to exemplify how is to move between the library and standard parsing combinator libraries. It's also better to define your own parsers with the combinators which you are already familiarized with. - ParserSharing.hs - The extended version of ParserSharingSimple.hs with sharing between alternatives and sequences of parsers. Left factorization is implemented for N alternatives and a lazy sharing version is also working that allows the library to identify common future parsing trees segments. For questions, suggestions and bugs contact: Marcelo Sousa <dipython@gmail.com>
About
An Haskell General Parsing Library for Sharing
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published