README.md
author Jan Vrany <jan.vrany@labware.com>
Wed, 10 Jun 2020 21:33:27 +0100
changeset 650 4c6ed0a28d18
parent 548 5536a6da50e4
permissions -rw-r--r--
Replace `ifNil:[...]` with `isNil ifTrue:[...]` The latter is optimized by compilers and therefore faster.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
548
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
![PetitParser](http://scg.unibe.ch/files/c0/gidr6vlrj4aw5k22a3y9fajle0qui0/petitparser-small.png)
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
# PetitParser and PetitCompiler for Smalltalk/X
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
## PetitParser 
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
*Grammars for programming languages are traditionally specified statically. 
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
They are hard to compose and reuse due to ambiguities that inevitably arise. 
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
**PetitParser** combines ideas from scannerless parsing, parser combinators, 
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
parsing expression grammars and packrat parsers to model grammars and parsers 
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
as objects that can be reconfigured dynamically.*
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
For more details on PetitParser itself refer to [PetitParser homepage](http://scg.unibe.ch/research/helvetia/petitparser)
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
## PetitCompiler
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
**PetitCompiler** compiles regular PetitParser grammars into an equivalent top-down 
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
parser implemented in Smalltalk. The compiled parser is significantly faster than
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
PetitParser based one. 
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
### Documentation 
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
For more information on how to use PetitCompiler refer to [wiki](https://bitbucket.org/janvrany/stx-goodies-petitparser/wiki/Home)
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
# Installation
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
See [installation notes](https://bitbucket.org/janvrany/stx-goodies-petitparser/wiki/Installation) on [wiki](https://bitbucket.org/janvrany/stx-goodies-petitparser/wiki/Home)
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
# License
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
The MIT License, see [LICENSE](https://bitbucket.org/janvrany/stx-goodies-petitparser/src/default/LICENSE.txt?at=default&fileviewer=file-view-default).
5536a6da50e4 Added README and LICENSE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33