Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: =?UTF-8?Q?Juancarlo_A=C3=B1ez?= Newsgroups: comp.lang.python.announce Subject: TatSu v4.4.0 PEG parser generator released Date: Tue, 23 Apr 2019 13:57:55 -0400 Lines: 46 Approved: python-announce-list@python.org Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Trace: news.uni-berlin.de Tu0x1KAF9hHyFG+zN4MM5Q87+d2SPfbum/S7wMXzebkw== Return-Path: X-Original-To: python-announce-list@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'def': 0.01; 'string': 0.02; 'url:github': 0.03; 'default': 0.04; 'subject:released': 0.05; 'trailing': 0.07; 'url-ip:137.116/16': 0.07; 'fixes': 0.09; 'input,': 0.09; 'outputs': 0.09; 'parsed': 0.09; 'subject:parser': 0.09; 'url-ip:137.116.78.48/32': 0.09; 'url-ip:137.116.78/24': 0.09; 'url:pypi': 0.09; 'url:io': 0.11; 'python': 0.13; 'ast': 0.16; 'changelog': 0.16; 'expressions,': 0.16; 'implements': 0.16; 'parser.': 0.16; 'parsers': 0.16; 'received:209.85.166.174': 0.16; 'received:mail-it1-f174.google.com': 0.16; 'switched': 0.16; 'url:project': 0.16; 'url:readthedocs': 0.16; 'vic': 0.16; 'python.': 0.17; 'algorithm': 0.18; 'patterns': 0.18; 'module': 0.19; 'object': 0.21; 'url-ip:151.101.0.223/32': 0.23; 'url- ip:151.101.128.223/32': 0.23; 'url-ip:151.101.192.223/32': 0.23; 'url-ip:151.101.64.223/32': 0.23; 'url-ip:137/8': 0.25; 'url- ip:151.101.192/24': 0.26; 'url-ip:151.101.0/24': 0.26; 'url- ip:151.101.128/24': 0.26; 'url-ip:151.101.64/24': 0.26; 'url- ip:140/8': 0.28; 'to:addr:python-announce-list': 0.29; 'stored': 0.30; 'url-ip:151.101/16': 0.30; 'url-ip:151/8': 0.30; 'fix': 0.31; 'empty': 0.32; 'code': 0.32; 'message-id:@mail.gmail.com': 0.32; 'rules': 0.33; '(the': 0.34; 'windows': 0.35; 'received:google.com': 0.35; 'supporting': 0.36; 'defined': 0.36; 'false': 0.36; 'skip:@ 10': 0.36; 'attributes': 0.37; 'compile': 0.37; 'node': 0.37; 'parse': 0.37; 'trace': 0.37; 'received:209.85': 0.38; 'received:209': 0.38; 'version': 0.40; 'expected': 0.40; 'tool': 0.60; 'left': 0.60; 'complete.': 0.61; 'skip:t 20': 0.62; 'from:charset:utf-8': 0.62; 'grammar': 0.66; 'theme': 0.66; 'links': 0.67; 'complete': 0.69; 'url:4': 0.74; 'links*': 0.84; 'variation': 0.84 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=2FAbCFX5CtgBSwVF4U+IKZgWHmluKjEVZTETezNWsg0=; b=q4EX7jrqv1j7TuhoxmVElsx0z9Z7HzNhc6arp7U6wjeDFqTZq7udh1B+3VT5IlSTFR QBpDIOi9ivkiKcYoQpTR+KcUA3W2oSCJRymHjG9rthJLH5s6A7oKtHuNPNdyuImoB/36 UmXB4povSQEgI/1R/Aa1fHvFPHZQwUDzCpoutGwfFYnJi9kuHh2hYijdtg0Rf2B8d/Sn jKgz75qeia3q8dNfP05oMMBj7WfL0P+/NJzGLe7v7D6hplY0n4vP3jTArOlrJC4qtEx0 fGjGe1u/bBsZ2CoGRfTGYkBlqNiGyiV4pJdwPdjfj72/GRg6AOa6GuofNP4rQJtALf8B CXEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=2FAbCFX5CtgBSwVF4U+IKZgWHmluKjEVZTETezNWsg0=; b=DCxCmiVz5AafeXpezgoWz+B2krRCz1pnYuIrom0gc4uj/Dwl/3B5Q0C8KuD8XWsjF4 yRsKmEU37zGFN5JRZbLk15PFKbgBnkVAinStuQAPWDDGw0DffM2M8CyNk7J1+HA8mExK pQqhaIwjOZajBWI44RLaQOvxXy6jJnc3VJKg/JKOVkN0OBCeNrWm8MPQmLjuf06qc4yY a3vbwXLe2W2/A6EvBpjeZOz4SktHiq6Itcco8IrD5dj1bs/ESfwU4Mjz/1kuGUKQwXeG LABm8fp7C+GtoyrAKhmEa0YIVStcq2dBfqfmM/5tziKMGJLr9Ca6K5jQRGYdPLj8Nfl4 iTgw== X-Gm-Message-State: APjAAAXUZv9Qj1aqBoJvmrlbqvNRcBmF3A+Ouz3G/YuKiSL4O++a14+e s8LI2EjkZ3lxCuNfOZ19LJ39GpbNpP+XIfzKiyet8d7jTBQ= X-Google-Smtp-Source: APXvYqwlbfCmDIqxbyQgYAxr1Vh8m17UHIXnzVWns1pcfuMPyFwxBb9cZhCpeMKc+MCKB8tuQbCjQAZBSdPlqBo3Mbw= X-Received: by 2002:a24:ce41:: with SMTP id v62mr2959384itg.86.1556042286747; Tue, 23 Apr 2019 10:58:06 -0700 (PDT) X-Mailman-Approved-At: Thu, 25 Apr 2019 14:16:01 -0400 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Announcement-only list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: Xref: csiph.com comp.lang.python.announce:3097 =E7=AB=9C TatSu v4.4.0 has been released. Thanks to Vic Nightfall, support = for left-recursion in PEG grammars is now complete. def WARNING(): return 'v4.4.0 is the last version of =E7=AB=9CTatSu supporting Pyt= hon 2.7' =E7=AB=9C TatSu (the successor to Grako) is a tool that takes grammars in a variation of EBNF as input, and outputs memoizing (Packrat) PEG parsers in Python. =E7=AB=9C 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. =E7=AB=9C TatSu supports left-recursive rules in PEG grammars using the algorithm by _Laurent_ and _Mens_. The generated AST has the expected left associativity. LINKS * https://pypi.org/project/TatSu/4.4.0/ * https://tatsu.readthedocs.io/ * https://github.com/neogeny/TatSu CHANGELOG * The default regexp for whitespace was changed to `(?s)s+ * Allow empty patterns (//) like Python does * #65 Allow initial, consecutive, and trailing @namechars * #73 Allow @@whitespace :: None and @@whitespace :: False * #75 Complete implemenation of left recursion(@Victorious3) * #77 Allow @keyword throughout the grammar * #89 Make all attributes defined in the rule present in the resulting AST or Node even if the associated expression was not parsed * #93 Fix trace colorization on Windows * #96 Documented each @@directive * Switched the documentation to the "Alabaster" theme * Various code and documentation fixes (@davesque, @nicholasbishop, @rayjolt) --=20 Juancarlo *A=C3=B1ez*