Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

how do i wrote parser?

Name: Anonymous 2006-10-18 19:13

I have a pretty good educational understanding of computer grammar theory, so I get the concepts behind parsers and context-free grammars, but I've never actually implemented a parser.  And now I need to write one.

Specifically, I'm looking to write a loader for .md5mesh files (they are text format).  Let's say I'm able to get a grammar for it written on paper that matches that file format's general structure.  Where do I start in code?  This is fortunately not as complicated as a programming language's language, since it's a format that's about data and not code, but it's still a somewhat more complicated 3D format than, say, the Alias Wavefront .obj format (where reading and parsing is as simple as a for loop and sscanf -- but that format doesn't support skeletal animation and other things the way .md5mesh does).

Name: Anonymous 2006-10-18 20:41

>>6
A regex-based lexer. Only it produces C code, and uses fast but crappy deterministic finite automata regexes. Perl-compatible regular expressions are far more powerful, supporting backtracking, ungreedy operators, backreferences, conditional matching, positive and negative lookaheads and lookbehinds in any point, and recursivity. Plus, in these languages, you receive captured pattern as lists, which are often exactly what you wanted.

When you have this, you don't need a LALR parser for most languages, as you can get the job done pretty easily with very simple loops of regexes, doing far more than flex and in far fewer lines of code.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List