Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider splitting the Parser component #8

Open
schmittjoh opened this issue Mar 19, 2013 · 4 comments
Open

Consider splitting the Parser component #8

schmittjoh opened this issue Mar 19, 2013 · 4 comments

Comments

@schmittjoh
Copy link

I'd love to re-use the parser component of phantm. Would there be some interest in moving it to a separate repository that can be used independently?

@colder
Copy link
Owner

colder commented Mar 20, 2013

I've always wanted to redo the parser part, and tkae this opportunity to upgrade it to 5.5.

I think that once I'll be finished with this it will be easier to use in isolation. Given the system of phases in phantm, it would be trivial to replace the type analysis part with anything else, thus reusing the parser/trees only.

@schmittjoh
Copy link
Author

If you need help, let me know.

Just if you're curious what I'd like to do with the parser. Currently, I have written PHP-Analyzer purely in PHP. In order to speed up computations, I'd like to experiment with moving parts of it to an akka actor based architecture; mostly control/data flow analysis and reverse abstract interpretations.

@colder
Copy link
Owner

colder commented Mar 22, 2013

Interesting project!

I'm in the process of moving the parser to CUP2 but it is a lengthy process due to the size of the grammar. I have other pressing time constraints but I will hopefully be done with it soonish.

It would be great if we could unify parts from our analyses, such as ASTs, CFGs, Lattices etc.. I have defined everything for phantm but a little lifting and refactoring wouldn't hurt. That would allow for some sort of extensible analysis framework for PHP in which both of our analyses could coexist.

@colder
Copy link
Owner

colder commented Apr 12, 2013

I've ported the grammar to cup2 in topic/parser, but I lost all positions in the process. I'm currently working on restoring this information.

Since the parser has been rewritten from scratch, I need to test thoroughly that I did not break most ASTs in the process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants