You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 00:45:53 +08:00
Correct info on parser
This commit is contained in:
23
HISTORY.md
23
HISTORY.md
@@ -109,15 +109,20 @@ Hartmut a decade an a half ago:
|
|||||||
NB. This is not a masterpiece of software, but became more like a hack.
|
NB. This is not a masterpiece of software, but became more like a hack.
|
||||||
Probably a complete rewrite would be sensefull. hG/2000-12-27
|
Probably a complete rewrite would be sensefull. hG/2000-12-27
|
||||||
|
|
||||||
This project deparses using a LR parse. However another approach is to
|
This project deparses using a Early-algorithm parse with lots of
|
||||||
do something like simulate execution symbolically and build expression
|
massaging of tokens and the grammar in the scanner
|
||||||
trees off of stack results. The two important projects that work this
|
phase. Early-algorithm parsers are context free and tend to be linear
|
||||||
way are [unpyc3](https://code.google.com/p/unpyc3/) and most
|
if the grammar is LR or left recursive.
|
||||||
especially [pycdc](https://github.com/zrax/pycdc) The latter project
|
|
||||||
is largely by Michael Hansen and Darryl Pogue. If they supported
|
Another approach that doesn't use grammars is to do something like
|
||||||
getting source-code fragments and I could call it from Python, I'd
|
simulate execution symbolically and build expression trees off of
|
||||||
probably ditch this and use that. From what I've seen, the code runs
|
stack results. The two important projects that work this way are
|
||||||
blindingly fast and spans all versions of Python.
|
[unpyc3](https://code.google.com/p/unpyc3/) and most especially
|
||||||
|
[pycdc](https://github.com/zrax/pycdc) The latter project is largely
|
||||||
|
by Michael Hansen and Darryl Pogue. If they supported getting
|
||||||
|
source-code fragments and I could call it from Python, I'd probably
|
||||||
|
ditch this and use that. From what I've seen, the code runs blindingly
|
||||||
|
fast and spans all versions of Python.
|
||||||
|
|
||||||
Tests for the project have been, or are being, culled from all of the
|
Tests for the project have been, or are being, culled from all of the
|
||||||
projects mentioned.
|
projects mentioned.
|
||||||
|
Reference in New Issue
Block a user