Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

"Jesus saves...but Gretzky gets the rebound!" -- Daniel Hinojosa (hinojosa@hp-sdd)


devel / comp.lang.python.announce / [Python-announce] TatSu v5.9.0 - PEG parser generator

SubjectAuthor
o [Python-announce] TatSu v5.9.0 - PEG parser generatorJuancarlo_Añez

1
[Python-announce] TatSu v5.9.0 - PEG parser generator

<CAL8UGB5WitYeb5mFXkhSi9A=7uhN+5xUGwZycOt50Po2iD8Jeg@mail.gmail.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1324&group=comp.lang.python.announce#1324

  copy link   Newsgroups: comp.lang.python.announce
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!fu-berlin.de!uni-berlin.de!not-for-mail
From: apalala@gmail.com (Juancarlo Añez)
Newsgroups: comp.lang.python.announce
Subject: [Python-announce] TatSu v5.9.0 - PEG parser generator
Date: Sun, 22 Oct 2023 10:38:16 -0400
Lines: 32
Approved: python-announce-list@python.org
Message-ID: <CAL8UGB5WitYeb5mFXkhSi9A=7uhN+5xUGwZycOt50Po2iD8Jeg@mail.gmail.com>
References: <169686723831.9864.2023099099787390532@mail.python.org>
Reply-To: python-list@python.org
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
X-Trace: news.uni-berlin.de 6uSIyZf0ODKT72cgZg16VAk2dYIbnfT2kmIs2Y9YvjKg==
Cancel-Lock: sha1:gSkYSN5wkgbGAbvxpGwEM8/Sfzc= sha256:IHhQUEpaOV1eZcwKaIdA/J87C8tB4M4CB+UiBd5vUDc=
Authentication-Results: mail.python.org; dkim=pass
reason="2048-bit key; unprotected key"
header.d=gmail.com header.i=@gmail.com header.b=gHxguwoK;
dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status: OK 0.001
X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'url-ip:140.82/16': 0.03;
'comments': 0.03; "python's": 0.05; 'string': 0.07; 'python.':
0.08; 'effectively': 0.09; 'parse': 0.09; 'skip:` 20': 0.09;
'to:addr:python-announce-list': 0.09; 'url:github': 0.14; 'url-
ip:140/8': 0.15; '"cannot': 0.16; '3.10': 0.16; 'a\xc3\xb1ez':
0.16; 'constant': 0.16; 'expressions': 0.16; 'from:addr:apalala':
0.16; 'from:name:juancarlo a\xc3\xb1ez': 0.16; 'ignored': 0.16;
'implements': 0.16; 'input,': 0.16; 'juancarlo': 0.16; 'nested':
0.16; 'outputs': 0.16; 'structures': 0.16; 'python': 0.16;
'input': 0.21; 'languages': 0.22; 'object': 0.26; '8bit%:19':
0.31; 'takes': 0.31; 'module': 0.31; 'validate': 0.32; 'message-
id:@mail.gmail.com': 0.32; 'requires': 0.34; 'header:In-Reply-
To:1': 0.34; 'received:google.com': 0.34; 'from:addr:gmail.com':
0.35; 'fix': 0.36; 'use': 0.39; 'skip:( 30': 0.40; 'skip:b 30':
0.61; '8bit%:20': 0.61; 'color': 0.62; 'email addr:gmail.com':
0.63; 'from:charset:utf-8': 0.64; 'verify': 0.64; 'tool': 0.65;
'skip:e 20': 0.67; 'drop': 0.69; 'skip:e 60': 0.69; '8bit%:25':
0.80; 'received:mail-lj1-x234.google.com': 0.84; 'grammar': 0.91;
'variation': 0.91; 'skip:( 50': 0.93
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1697985508; x=1698590308; darn=python.org;
h=to:subject:message-id:date:from:in-reply-to:references:mime-version
:from:to:cc:subject:date:message-id:reply-to;
bh=ZUcxVccMCy+Jb5/UNM6X84rEIayOBPPU6eFW7BZWEKc=;
b=gHxguwoKOIfNbo01IEUObPhRINFZeLy24d4KGZ25yJSMLIimd6ZzuQklRFI5o+DT7V
JWrJiV3CB+gVtbS3zN03TGAFxerzUmZljvZow4FC2WSX2YqYQ2lh7E9sksdI7Jc6tn4A
/aGqLfx6oU57ApvQ3DDpwwFVvjruZ5dZ9fMQDra1Cb2tz25CIuNxh3kEm3IJ+Z298jqV
7ug+IOsZsVNg2PHifORSa1yS9wbdGRhWGEOQ8k1W8mc01XoY4llTsb2XKrmbqeLje71d
1/N9aebr6+0iEsJ20zViuzag7gFYD/HZAcYlXeS4qLBcbQYI4KrcMaXBLr6mLqiyYXPx
Ebeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1697985508; x=1698590308;
h=to:subject:message-id:date:from:in-reply-to:references:mime-version
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=ZUcxVccMCy+Jb5/UNM6X84rEIayOBPPU6eFW7BZWEKc=;
b=edul5ZrtiL5mEVEx/F2V0k5Y7WfW3qZ0+U1H4c9DkAhfYuuc1CJQMcPGB5rh+cN7GB
FRZlNT85d4m1hMkFw8eQ99gySEGJOyRWjdZER7brP+PbmeaNO/37ldGLZ4Kf7G/JDlyY
NX8N6YrNQeKMkjcEjLFVhpqFeDbi/rl4KwPkfWfX3AXVSf42vPOeKNvaZdag/ERDe3AR
U1kxF8BBJez+nMFW1xt3C/BmHNwcp9hbLxI18KBrl/OyKmvu0j7s6aaCWc5AIpogEEk6
5s3HEtOft7VQEwz2ZwtLGl7G1/FMirRzi1NZn6o3fA3jFTWU2d/rFkjWdu5tEwhwSeEN
+DKw==
X-Gm-Message-State: AOJu0YyeWWs8gwWhLIMORvZaQYWfgQQVjDcbFXCgeDsqz8HyMVusLk7d
ulD313+g8nPYexl+tpHhUpnkasUcJhf323VStSkuKJIEpp1ejakg
X-Google-Smtp-Source: AGHT+IEe2IRZykBBy40VmCfdcIfCgGCBEEBOAQc6S93+jQ5FddkjTlp6/rpm3pY2aroVplPJUOufAGKVowxDHGgLczo=
X-Received: by 2002:a2e:a98c:0:b0:2c5:11fe:53b2 with SMTP id
x12-20020a2ea98c000000b002c511fe53b2mr5476395ljq.37.1697985508047; Sun, 22
Oct 2023 07:38:28 -0700 (PDT)
In-Reply-To: <169686723831.9864.2023099099787390532@mail.python.org>
X-MailFrom: apalala@gmail.com
X-Mailman-Rule-Hits: emergency
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved
Message-ID-Hash: 343YDJ4LUTH4WHCCLUQ3U5SSFV6SS6YA
X-Message-ID-Hash: 343YDJ4LUTH4WHCCLUQ3U5SSFV6SS6YA
X-Mailman-Approved-At: Sun, 22 Oct 2023 10:43:22 -0400
X-Content-Filtered-By: Mailman/MimeDel 3.3.9b1
X-Mailman-Version: 3.3.9b1
Precedence: list
List-Id: Announcement-only list for the Python programming language <python-announce-list.python.org>
Archived-At: <https://mail.python.org/archives/list/python-announce-list@python.org/message/343YDJ4LUTH4WHCCLUQ3U5SSFV6SS6YA/>
List-Archive: <https://mail.python.org/archives/list/python-announce-list@python.org/>
List-Help: <mailto:python-announce-list-request@python.org?subject=help>
List-Owner: <mailto:python-announce-list-owner@python.org>
List-Post: <mailto:python-announce-list@python.org>
List-Subscribe: <mailto:python-announce-list-join@python.org>
List-Unsubscribe: <mailto:python-announce-list-leave@python.org>
 by: Juancarlo Añez - Sun, 22 Oct 2023 14:38 UTC

竜 TatSu is a tool that takes grammars in a variation of EBNF as input, and
outputs memoizing (Packrat) PEG parsers in Python.
Why use a PEG parser? Because regular languages (those parsable with
Python's `re` package) "cannot count". Any input with nested structures or
with balancing of demarcations requires more than regular expressions to be
parsed.
竜 TatSu can compile a grammar stored in a string into a
`tatsu.grammars.Grammar` object that can be used to parse any given input,
much like the `re` module does with regular expressions, or it can generate
a Python module that implements the parser.
On this release:

- validate with Python 3.12 (#313
<https://github.com/neogeny/TatSu/pull/313>)
- drop support for Python 3.10 (#313
<https://github.com/neogeny/TatSu/pull/313>)
- move build configuration to pyproject.toml (#316
<https://github.com/neogeny/TatSu/pull/316> #317
<https://github.com/neogeny/TatSu/pull/317>)
- evaluate constant to a Python literal when possible (#304
<https://github.com/neogeny/TatSu/issues/304> #320
<https://github.com/neogeny/TatSu/pull/320>)
- fix comments_re and eol_comments_re so they effectively can be None (
#307 <https://github.com/neogeny/TatSu/pull/307> #312
<https://github.com/neogeny/TatSu/issues/312> #314
<https://github.com/neogeny/TatSu/pull/314>)
- skip over whitespace and comments before memoizing (#305
<https://github.com/neogeny/TatSu/issues/305> #306
<https://github.com/neogeny/TatSu/pull/306> #309
<https://github.com/neogeny/TatSu/pull/309> #318
<https://github.com/neogeny/TatSu/pull/318>)
- verify that () parses to None or is ignored (#308
<https://github.com/neogeny/TatSu/pull/308>)

--
Juancarlo Añez
mailto:apalala@gmail.com

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor