Path: csiph.com!feeder.erje.net!2.eu.feeder.erje.net!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail From: =?UTF-8?Q?Juancarlo_A=C3=B1ez?= Newsgroups: comp.lang.python.announce Subject: TatSu 4.3.0 released Date: Sat, 17 Nov 2018 10:28:46 +0000 Lines: 34 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 26DsuI/RAmvC/tAT59waLgZDSH+qiRyFvk6gxTJelhJg== 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; 'url-ip:23.253/16': 0.03; 'url:pypi': 0.03; 'patterns': 0.03; 'url-ip:137/8': 0.03; 'url- ip:23.253.135.79/32': 0.03; 'url-ip:23.253.135/24': 0.03; 'subject:released': 0.05; 'url-ip:137.116.78.48/32': 0.07; 'url- ip:137.116.78/24': 0.07; 'url-ip:137.116/16': 0.07; 'url- ip:18.205.93.0/32': 0.07; 'url-ip:18.205.93.1/32': 0.07; 'url- ip:18.205.93.2/32': 0.07; 'url-ip:18.205.93/24': 0.07; 'url- ip:18.205/16': 0.07; 'url:bitbucket': 0.07; '<>)': 0.09; 'implements': 0.09; 'input,': 0.09; 'multiline': 0.09; 'outputs': 0.09; 'parsers': 0.09; 'received:209.85.166': 0.09; 'url:issues': 0.09; 'url:re': 0.09; 'expressions,': 0.16; 'nodes.': 0.16; 'parser.': 0.16; 'received:209.85.166.43': 0.16; 'received:mail- io1-f43.google.com': 0.16; 'successor': 0.16; 'url:project': 0.16; 'python': 0.17; '<>.': 0.17; 'url-ip:140/8': 0.17; 'string': 0.19; 'stored': 0.19; '8bit%:4': 0.24; 'parse': 0.25; 'url-ip:91/8': 0.25; 'skip:s 50': 0.26; 'url-ip:151.101.0.223/32': 0.27; 'url- ip:151.101.128.223/32': 0.27; 'url-ip:151.101.192.223/32': 0.27; 'url-ip:151.101.64.223/32': 0.27; 'properly': 0.27; 'fix': 0.27; '(the': 0.28; 'module': 0.28; '8bit%:9': 0.28; 'url- ip:151.101.192/24': 0.28; 'url-ip:151.101.0/24': 0.29; 'url- ip:151.101.128/24': 0.29; 'url-ip:151.101.64/24': 0.29; 'message- id:@mail.gmail.com': 0.29; 'url:io': 0.31; 'url:7': 0.31; 'received:google.com': 0.32; '8bit%:44': 0.33; 'skip:s 130': 0.33; 'url:readthedocs': 0.33; 'url-ip:151.101/16': 0.35; 'url- ip:151/8': 0.35; 'supported': 0.35; 'received:209.85': 0.36; 'url:en': 0.37; 'url:wiki': 0.37; 'compile': 0.38; 'to:addr :python-announce-list': 0.38; 'url:github': 0.38; 'url:wikipedia': 0.38; 'tool': 0.38; 'received:209': 0.38; 'url-ip:18/8': 0.38; 'skip:( 20': 0.39; 'skip:o 40': 0.40; 'object': 0.61; 'color': 0.61; '8bit%:19': 0.63; 'upgrade': 0.63; 'url:info': 0.64; 'details': 0.65; '8bit%:27': 0.70; 'skip:\xe7 10': 0.84; 'url:pull': 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=uCW1XPfYRZqQLKznmG8DZmqgvQdhTiw5ygVmiRqG1I0=; b=mPA1WGt1imIKA1aJykLACnlqhMigV8gERkEx6twoH5QaW7h7w11rID1LzdSvuRodNF v2pKspJT8u0FS1QswKyJQHg7fQQMo5bQZ1nqQP14fOIPLBG8wJzgXC9ieHTnxhVGVP9L 54ZRbCMvQ6uiV2Akgp8M7wTKD63Leh2J5m0uWpOftO6467415fFxb33vctQ6ORZOFJjf 4iXazSl2suh7cpJhsFwENneaZve/QdHPXs8rIA2KfGUCK5pV9XxDl8XM7QLUYqThoBby bsP7UtLkLWfCT2QPNB8rxXlPj+a/NY2ssgXrrGFH8D11CZ4RCc8XXDpCqZwXLZOe26tG Dyqw== 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=uCW1XPfYRZqQLKznmG8DZmqgvQdhTiw5ygVmiRqG1I0=; b=inF+DOMWPqCp5Uc54+Ocx1OEYl6qn9/wn44PbVTnVJnz/zSlDMfXAurDXPnfplO5bp sq0SyrnPasT1egYr4mH1xHSd69cqBnvCTWxIxsxFcJYm5fYVTqFuY8qbfaRBaok97yLt vQ4q8woSF6R4KhdrOvz+1Djy0ijQxqceqgiCYdKyyTjlbnanqtjDc10cQz8jqbYOwZ9d IJlg8d6rrmstg7PIgFs3eXkTcEyPGAFwLBPmhBOfzbqfFax/mNNdwsJqIUACckDqQSOn QuGgj40Vpv/cyNIqKzm04NApFKJGnFlZqjr7HIHk+iRO2njMzJgu8zsOlMOKhqpEDbEs LU5A== X-Gm-Message-State: AGRZ1gLDzxFep8XcEgxUH6M0ESGx+ACWIJPokW3oerH+TzwlCi8ja2zG NiNdGUQzSqV+ifqlnDDt4THfg6qhrj3NLDo/Wl7f4kz+2Ec= X-Google-Smtp-Source: AFSGD/VaB+Cr0XvOn+lEP9qf5DGtNph1+Oyl6mVoyXdZp3drwPPGW4QcsZxh2vOEB7n1DO57yxFPvwDAxxSRb5au3AE= X-Received: by 2002:a6b:5903:: with SMTP id n3mr12086005iob.176.1542450537449; Sat, 17 Nov 2018 02:28:57 -0800 (PST) X-Mailman-Approved-At: Sat, 17 Nov 2018 12:40:21 -0500 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:3020 TatSu 4.3.0 has been released with this changelog: - #66 Fix multiline ( (?x) ) patterns not properly supported in grammar (@pdw-mb ) - #70 Important upgrade to ModelBuilder and grammar specification of classes for generated nodes. S= ee pull request #78 for details = ( @Victorious3 ) https://pypi.org/project/tatsu/ https://github.com/neogeny/TatSu https://tatsu.readthedocs.io/ =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. --=20 Juancarlo *A=C3=B1ez*