Parsing scripts that use curly braces
Posted
by
Keikoku
on Programmers
See other posts from Programmers
or by Keikoku
Published on 2011-06-28T15:34:01Z
Indexed on
2011/06/28
16:30 UTC
Read the original article
Hit count: 662
To get an idea of what I'm doing, I am writing a python parser that will parse directx .x text files.
The problem I have deals with how the files are formatted. Although I'm writing it in python, I'm looking for general algorithms for dealing with this sort of parsing.
.x files define data using templates. The format of a template is
template_name { [some_data] }
The goal I have is to parse the file line-by-line and whenever I come across a template, I will deal with it accordingly.
My initial approach was to check if a line contains an opening or closing brace. If it's an open brace, then I will check what the template name is.
Now the catch here is that the open brace doesn't have to occur on the same line as the template name. It could just as well be
template_name { [some_data] }
So if I were to use my "open brace exists" criteria, it won't work for any files that use the latter format.
A lot of languages also use curly braces (though I'm not sure when people would be parsing the scripts themselves), so I was wondering if anyone knows how to accurately get the template name (or in some other languages, it could just as well be a function name, though there aren't any keywords to look for)
© Programmers or respective owner