{"repo":"petitparser/dart-petitparser","free":true,"listed":false,"github":"https://github.com/petitparser/dart-petitparser","clone":"git clone https://github.com/petitparser/dart-petitparser.git","description":"Dynamic parser combinators in Dart.","language":"Dart","stars":487,"topics":["parser","parser-combinator","parsing-expression-grammar","parser-library","parser-framework","dart","petitparser","flutter","grammar"],"license":"MIT","category":"mobile-apps","readme_excerpt":"PetitParser for Dart Grammars for programming languages are traditionally specified statically. They are hard to compose and reuse due to ambiguities that inevitably arise. PetitParser combines ideas from scannerless parsing, parser combinators, parsing expression grammars (PEG) and packrat parsers to model grammars and parsers as objects that can be reconfigured dynamically. This library is open source, stable and well tested. Development happens on GitHub. Feel free to report issues or create a pull-request there. General questions are best asked on StackOverflow. The package is hosted on dart packages. Up-to-date API documentation is created with every release. Tutorial Below are step-by-step instructions of how to write your first parser. More elaborate examples (JSON parser, LISP parser and evaluator, Prolog parser and evaluator, etc.) are included in the example repository. Try out the running demos at petitparser.github.io. Installation Follow the installation instructions on dart packages. Import the package into your Dart code using: It is also possible to more selectively import only certain parts of this library, i.e. package:petitparser/core.dart and package:petitparser/parser.dart for core infrastructure and the basic parsers. [!IMPORTANT] This library makes extensive use of static extension methods. If you import the library using a library prefix or only selectively show classes you might miss some of the functionality. Writing a Simple Grammar Writing grammars","default_branch":null,"files":null,"tree":[],"storefront":"/r/petitparser","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/petitparser/dart-petitparser/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}