Emad Nawfal (عماد نوفل) wrote:
just want to be able to do this myself. My question is: what tools do I need
for this? Could you please give me pointers to where to start? I'll then try
to do it myself, and ask questions when I get stuck.

I'd start with parsing (reading) the tree to a generic abstract tree, and do the processing on the tree as a separate second step.

For your tree, it seems feasible to write a parser by hand (you'd need to read about recursive descendant parsers then). Another approach is to use a parser generator tool. There are many: http://wiki.python.org/moin/LanguageParsing

To give you a rough classification, LL(1) is the weakest parsing algorithm (but also the simplest to understand, comparable to recursive descendant), LALR(1) is 'normal', you can parse source code of many real programming languages with it (eg C and Python). GLR is the heavy-duty equipment but is also much slower and more memory-greedy.

Many people are fond of PyParsing. My personal favorite is PLY.


Enjoy your yourney!


Sincerely,
Albert
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to