Thread: [Pydev-code] Parser Stuff
Brought to you by:
fabioz
From: steve h. <me...@gm...> - 2006-01-31 08:37:04
|
Hi Fabio, This is basically just a test message to make sure my list subscription i= s active. As you mentioned, since ASDL provides the interface description, either javaCC or ANTLR would work. Doesn't really seem to be much point in switching unless we really get something from it though. I might try hacking the ANTLR grammar to meet the ASDL spec, just to make sure I really understand the ASDL description. Then I can try hacking the javaCC parser. This way, I get the ASDL stuff straight in my head, and you can play with the ANTLR grammar and see if it has any benefits over the javaCC stuff. Of course, thats assuming I actually figure the ASDL stuff out enough to be useful :-) One thing that would be really useful is any javaCC tutorials/docs you migh= t know about? the website was pretty sparse on documentation. Also, both ANTLR and JavaC= C have Eclipse plugins - have you tried the javaCC one? Is it any easier to work with then just hacking the grammer in 'vi' ? (I'm pretty new to eclipse/java stuff, so setting up complicated 'builders' in eclipse is more of a pain for me then just calling stuff from the command line) Steve |
From: Fabio Z. <fa...@gm...> - 2006-01-31 10:04:29
|
Hi Steve, Well, I've only played with the javacc plugin for eclipse, and it was not really that complete, but it gave you syntax highlighting and the outline (which was actually quite useful), so, in the end I thought it was worth it... Actually, I didn't really get any tutorial about it, but 'javacc tutorial' on google appeared to give some good examples: http://www.engr.mun.ca/~theo/JavaCC-Tutorial http://www.idevelopment.info/data/Programming/java/JavaCC/The_JavaCC_FAQ.ht= m etc. The asdl does not have much on documentation too, but as it is pretty simple, that's not much of a drawback. You basically have to create its structure (org.python.parser.TreeBuilder is the class that does it in pydev -- it has a huge switch on the method closeNode that actually decides what is being generated... I thought about making that big switch into a better structure, using some HashMap that had actions dependending upon the node that has just been closed, but never got to the point to do it). Also, to transverse the tree later, you can look at the EasyASTIteratorVisitor class -- it has a unit-test that may prove useful to check out to see how it works. Cheers, Fabio On 1/31/06, steve hindle <me...@gm...> wrote: > > > Hi Fabio, > > This is basically just a test message to make sure my list subscription > is active. > > As you mentioned, since ASDL provides the interface description, either > javaCC or ANTLR would > work. Doesn't really seem to be much point in switching unless we really > get something from it > though. I might try hacking the ANTLR grammar to meet the ASDL spec, jus= t > to make sure I > really understand the ASDL description. Then I can try hacking the javaC= C > parser. > > This way, I get the ASDL stuff straight in my head, and you can play with > the ANTLR grammar > and see if it has any benefits over the javaCC stuff. > > Of course, thats assuming I actually figure the ASDL stuff out enough to > be useful :-) > > One thing that would be really useful is any javaCC tutorials/docs you > might know about? > the website was pretty sparse on documentation. Also, both ANTLR and > JavaCC have > Eclipse plugins - have you tried the javaCC one? Is it any easier to wor= k > with then just > hacking the grammer in 'vi' ? (I'm pretty new to eclipse/java stuff, so > setting up complicated > 'builders' in eclipse is more of a pain for me then just calling stuff > from the command line) > > Steve > > |
From: Eric W. <wit...@sn...> - 2006-02-05 14:58:29
|
Hey there - I have an enhancement request that I am happy to help with. In short, I would like to be able to have two different Python interpreters set up in pydev (you can do that now) but have the PYTHONPATH be set up correctly for Run/Debug targets based on the interpreter they are configured to use. Here is my use case: I have an application that I help develop that is written in Python. Our current version of the app is based on Python 2.3.x and a few 3rd party libs (site-packages). I am beginning work on the next version of the app which will be based on Python 2.4 and updated versions of the various libraries. I would like to have both codebases active in PyDev (in a single workspace) so that I can fix bugs in the old app while also coding up the new app. Minimally this amounts to making sure the PYTHONPATH is correct for Run/Debug targets that may use different interpreters. In addition, I suppose there are some interesting intellisense issues that might arise (since I think pydev indexes the modules found on the 'system' PYTHONPATH? which seems to be the default interpreter). Perhaps associating an interpreter with a Project would be best. That way intellisense could work AND a default interpreter could be selected for Run/Debugs (such as when you right-click and run as python app). For now, I guess my workaround is to have two different workspaces. :) Thanks Eric |
From: Fabio Z. <fa...@gm...> - 2006-02-06 18:06:28
|
Hi Eric, Well, I've already received feature requests for that, so, if you want to 'get dirty' I can help you doing it (altough I'm not sure myself what would be needed for that). I believe that the way to go would be being able to set your interpreter in a 'per-project' configuration (that overrides the default). Cheers, Fabio On 2/5/06, Eric Wittmann <wit...@sn...> wrote: > > > Hey there - I have an enhancement request that I am happy to help > with. > In short, I would like to be able to have two different Python > interpreters set up in pydev (you can do that now) but have the > PYTHONPATH be set up correctly for Run/Debug targets based on the > interpreter they are configured to use. > > Here is my use case: I have an application that I help develop > that is > written in Python. Our current version of the app is based on Python > 2.3.x and a few 3rd party libs (site-packages). I am beginning work on > the next version of the app which will be based on Python 2.4 and > updated versions of the various libraries. I would like to have both > codebases active in PyDev (in a single workspace) so that I can fix bugs > in the old app while also coding up the new app. > > Minimally this amounts to making sure the PYTHONPATH is correct > for > Run/Debug targets that may use different interpreters. In addition, I > suppose there are some interesting intellisense issues that might arise > (since I think pydev indexes the modules found on the 'system' > PYTHONPATH? which seems to be the default interpreter). Perhaps > associating an interpreter with a Project would be best. That way > intellisense could work AND a default interpreter could be selected for > Run/Debugs (such as when you right-click and run as python app). > > For now, I guess my workaround is to have two different > workspaces. :) > > Thanks > > Eric > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D103432&bid=3D230486&dat= =3D121642 > _______________________________________________ > Pydev-code mailing list > Pyd...@li... > https://lists.sourceforge.net/lists/listinfo/pydev-code > |
From: Eric W. <wit...@sn...> - 2006-02-06 18:30:16
|
Yeah that's what I was thinking too. I think for now I'm going to see how painful it is to switch back and forth between workspaces. But if the pain is bad enough, I may ask you for some direction in adding this enhancement. Thanks Eric Fabio Zadrozny wrote: > Hi Eric, > > Well, I've already received feature requests for that, so, if you want > to 'get dirty' I can help you doing it (altough I'm not sure myself what > would be needed for that). > > I believe that the way to go would be being able to set your interpreter > in a 'per-project' configuration (that overrides the default). > > Cheers, > > Fabio > > On 2/5/06, *Eric Wittmann* <wit...@sn... > <mailto:wit...@sn...>> wrote: > > > Hey there - I have an enhancement request that I am happy to > help with. > In short, I would like to be able to have two different Python > interpreters set up in pydev (you can do that now) but have the > PYTHONPATH be set up correctly for Run/Debug targets based on the > interpreter they are configured to use. > > Here is my use case: I have an application that I help > develop that is > written in Python. Our current version of the app is based on Python > 2.3.x and a few 3rd party libs (site-packages). I am beginning work on > the next version of the app which will be based on Python 2.4 and > updated versions of the various libraries. I would like to have both > codebases active in PyDev (in a single workspace) so that I can fix bugs > in the old app while also coding up the new app. > > Minimally this amounts to making sure the PYTHONPATH is > correct for > Run/Debug targets that may use different interpreters. In addition, I > suppose there are some interesting intellisense issues that might arise > (since I think pydev indexes the modules found on the 'system' > PYTHONPATH? which seems to be the default interpreter). Perhaps > associating an interpreter with a Project would be best. That way > intellisense could work AND a default interpreter could be selected for > Run/Debugs (such as when you right-click and run as python app). > > For now, I guess my workaround is to have two different > workspaces. :) > > Thanks > > Eric > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through > log files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 > <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642> > _______________________________________________ > Pydev-code mailing list > Pyd...@li... > <mailto:Pyd...@li...> > https://lists.sourceforge.net/lists/listinfo/pydev-code > > |