idank / bashlex

Python parser for bash
GNU General Public License v3.0
550 stars 94 forks source link

Edits #78

Open ryandmaggio opened 2 years ago

ryandmaggio commented 2 years ago

Made some changes to parser and ast to support case_clauses and patterns. Submitting as a draft PR because I'm not sure if it is correct (it looks correct to me on the example I tested on, but I don't know how to compare it to the "canonical" ast).

ryandmaggio commented 2 years ago

I've pushed my updated code which I believe to be correct (although resulting in a somewhat unintuitive AST, in my opinion, but it seems right). Locally, "make tests" doesn't work, it gives an error in the "malformed if" case, which is odd since I didn't touch that, to my knowledge.

ryandmaggio commented 2 years ago

I'm not sure what is going on with the test failures, I'm still looking into it, but the failures are in parts of the code that I hadn't knowingly touched (malformed if statements).

I'll make sure to squash the commits on the next one (I'm pretty sure there are going to be more changes).