Ply parser updated to 3.8 from http://www.dabeaz.com/ply/

The Ubuntu packaged Ply 3.7 with Ubuntu 16.04's Python makes
ASN.1 based dissector generation fail.

Ply's API changed after 3.5 and the small change to asn2wrs.py
adapts to that.
The commit breaking the API in Ply's repository is the following:

 commit af651673ba6117a0a5405055a92170fffd028106
 Author: David Beazley <dave@dabeaz.com>
 Date:   Tue Apr 21 16:31:32 2015 -0500

    Added optional support for defaulted states

Change-Id: I1db33fdcccf7c39ecdb0e435a5ea9183362471ad
Bug: 12621
Reviewed-on: https://code.wireshark.org/review/16864
Reviewed-by: Balint Reczey <balint@balintreczey.hu>
Petri-Dish: Balint Reczey <balint@balintreczey.hu>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
Tested-by: João Valverde <j@v6e.pt>
This commit is contained in:
Balint Reczey 2016-08-03 23:28:28 +02:00 committed by João Valverde
parent 92eecfd255
commit d04be0149d
3 changed files with 1514 additions and 1339 deletions

View File

@ -7949,7 +7949,8 @@ def eth_main():
if ectx.dbg('y'): yd = 1
if ectx.dbg('p'): pd = 2
lexer = lex.lex(debug=ld)
yacc.yacc(method='LALR', debug=yd)
parser = yacc.yacc(method='LALR', debug=yd)
parser.defaulted_states = {}
g_conform = ectx.conform
ast = []
for fn in args:

814
tools/lex.py Executable file → Normal file

File diff suppressed because it is too large Load Diff

2036
tools/yacc.py Executable file → Normal file

File diff suppressed because it is too large Load Diff