dsl - Learning More About Parsing -


I am programming for work and fun since 1999. I want to learn new things, and recently I am concentrating on parsing, because a large part of my job reading is reading data, integrating and analyzing it. I have too many repetitive tasks which I think I can express in very simple domain-specific languages ​​if the overhead was low enough I have some questions about this topic

  1. My current parsing code does not define formal grammar. I usually hack into a language of choice in some way because it is easy, I know how to do it and I can write this code very quickly. I also want to work for those I work with. There are advantages and disadvantages to defining grammar and defining the actual parser (as with one), which is to parse things compared to hacks that most programmers wanted to write parser?
  2. What are the best parser generation tools to write grammar-based parsers in C ++, Pearl and Ruby? I have seen the use of ANTLRV3 with the C ++ goal and have not found much, but otherwise it looks interesting What are the other tools like ANLR which I should read about?
  3. What are some canonical books and articles that interest in learning more about Pion? Unfortunately, one of the courses in the compilers was not part of my education, so the basic stuff is very welcome. I've heard a lot about it, but what's there?
  4. 1. However, I would say that the main benefit maintenance - To make a slight change in this language means that instead of hacking at various places in the code according to the grammar, according to the small changes, you may have to do something with that ... the order of magnitude is better Productivity and small risks of bugs

    At 2 and 3. I can not give much more suggestions than I have already found (I often use Python and pyparsing , and many pythons -Compressive purse can comment with experience on the framework, but for C ++, I'm usually using good old yacc or bison , and my old tangle Copy of the Dragon Book - not the latest version, in fact - I keep on my side for this purpose Oh ...).


Comments

Popular posts from this blog

c++ - Linux and clipboard -

What is expire header and how to achive them in ASP.NET and PHP? -

sql server - How can I determine which of my SQL 2005 statistics are unused? -