Ok, I'm quite new to Python

Mike C. Fletcher mcfletch at rogers.com
Wed Oct 13 03:08:00 CEST 2004


Michael wrote:

>But i'm a good c++ programmer.
>
>What i want to do is parse a text file and store the information in relevant
>fields:
>  
>
Well, if you have (or know how to write) an EBNF grammar, SimpleParse 
would likely be ideal for this. See the VRML97 sample grammar in 
SimpleParse (or even the VRML97 loader in OpenGLContext for a more 
real-world example).

Primary value of SimpleParse for this kind of thing is that it's fast 
compared to most other Python parser generators while still being easy 
to use.  If you're loading largish (say 10s of MBs) models the speed can 
be quite useful.  (It was originally written explicitly to produce a 
fast VRML97 parser (btw)).

If you're loading *huge* models (100s of MBs), you may need to go for a 
C/C++ extension to directly convert from an on-disk buffer to objects, 
but try it with the Python versions first.  Even with 100s of MBs, you 
can write SimpleParse grammars fast enough to parse them quite quickly, 
it just requires a little more care with how you structure your productions.

>but I have no idea what the best way to do this is?
>Any thoughts??
>  
>
Mostly it's just a matter of what you feel comfortable with. There's 
quite a range of Python text-processing tools available.  See the text 
"Text Processing in Python" (available in both dead-tree and online 
format) for extensive treatment of various approaches, from writing your 
own recursive descent parsers through using one of the parser-generators.

Good luck,
Mike

________________________________________________
  Mike C. Fletcher
  Designer, VR Plumber, Coder
  http://www.vrplumber.com
  http://blog.vrplumber.com




More information about the Python-list mailing list