<commit_before>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 scannnerless parsing, parser combinators, parsing expression grammars 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](https://github.com/petitparser/dart-petitparser). Feel free to report issues or create a pull-request there. General questions are best asked on [StackOverflow](http://stackoverflow.com/questions/tagged/petitparser).

Continuous build results are available from [Jenkins](http://jenkins.lukas-renggli.ch/job/dart-petitparser). An introductionary tutorial is part of the [class documentation](http://jenkins.lukas-renggli.ch/job/dart-petitparser/javadoc).


Basic Usage
-----------

### Installation

Add the dependency to your package's pubspec.yaml file:

    dependencies:
      petitparser: ">=1.0.0 <2.0.0"

Then on the command line run:

    $ pub get

To PetitParser in your Dart code write:

    import 'package:petitparser/petitparser.dart';
<commit_msg>Another minor update on the README.<commit_after>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 scannnerless parsing, parser combinators, parsing expression grammars 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](https://github.com/petitparser/dart-petitparser). Feel free to report issues or create a pull-request there. General questions are best asked on [StackOverflow](http://stackoverflow.com/questions/tagged/petitparser+dart).

Continuous build results are available from [Jenkins](http://jenkins.lukas-renggli.ch/job/dart-petitparser). An introductionary tutorial is part of the [class documentation](http://jenkins.lukas-renggli.ch/job/dart-petitparser/javadoc).


Basic Usage
-----------

### Installation

Add the dependency to your package's pubspec.yaml file:

    dependencies:
      petitparser: ">=1.0.0 <2.0.0"

Then on the command line run:

    $ pub get

To PetitParser in your Dart code write:

    import 'package:petitparser/petitparser.dart';

{'fraction_non_alphanumeric': 0.09666011787819254, 'fraction_numerical': 0.004715127701375246, 'mean_word_length': 4.721348314606741, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '585770', 'n_tokens_mistral': 733, 'n_tokens_neox': 679, 'n_words': 261}