Mercurial > lbo > hg > pcombinators
changeset 1:57092e2bbe6c draft
Add LICENSE and README
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Sun, 19 May 2019 12:16:53 +0200 |
parents | ed57136df979 |
children | 4270b8d16f40 |
files | LICENSE README.md |
diffstat | 2 files changed, 36 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LICENSE Sun May 19 12:16:53 2019 +0200 @@ -0,0 +1,19 @@ +Copyright (c) 2019 Lewin Bormann + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Sun May 19 12:16:53 2019 +0200 @@ -0,0 +1,17 @@ +# pcombinators + +Working on parser combinators for Python, in an understandable manner. I've +always been fascinated by them, so I wanted to try if I can implement them :-) + +For example: + +```python + +import pcombinators.combinators as c + +st = c.ParseState('Hello, World!') +p = c.String('Hello') + c.Regex('([,.]) +') + c.String('World') + c.Regex('[.,?!]') + +p.parse(st) +# >> (['Hello', ',', 'World', '!'], ParseState(Hello, World!<>))<Paste> +```