Live data from Hacker News

Viewing profile — thurston

thurston

HN member
Joined
Mon, Dec 17, 2007, 11:47 PM UTC
HN karma
125
Public activity
44 items

About thurston

No profile information was provided.

Recent public activity

  1. comment
    Comment #20461038

    Sorry I didn't see the parent you were responding too, so my point is actually the same as you already made. Thanks.

  2. comment
    Comment #20461012

    Ragel has the advantage that CPU blowups happen at compile time, rather than run-time. Other risks aside, they would have avoided this problem had they been using ragel or somethin…

  3. comment
    Comment #17108734

    What rarely gets discussed in this case was that old, working code was modified in a critical way in order to accommodate new code when that didn't need to be done at all. It was a…

  4. comment
    Comment #17104038

    Initial list: C, C++, Objective-C, Objective-C++, ASM, Crack, C#, D, Go, Java, JavaScript, Julia, OCaml, Ruby, Rust Others can be added.

  5. story
  6. story
  7. comment
    Comment #13722799

    Well doing that would mean ragel would incorrectly read one character, rather than run off forever. Personally I'd rather have the latter. Much easier to catch with memory checkers…

  8. comment
    Comment #13721617

    Author of Ragel here. An experienced Ragel programmer would know that when you start setting the EOF pointer you are enabling code paths that never executed before. Like, potential…

  9. comment
  10. comment
    Comment #10581779

    WRT Lua, not at this time, but it is one I would like to support. Won't be too much work to add it.

  11. comment
    Comment #10581766

    Keep using them is how you overcome this ;)

  12. comment
    Comment #10581753

    At their core they target different language classes. Ragel deals with regular, whereas LPeg deals with context-free grammars.

  13. comment
    Comment #10577031

    My pleasure, thank you for the note!

  14. comment
    Comment #10577027

    Not at this time. But yes Ragel 7 will make it much easier. The first round of new languages I added helped me polish the technique. Once 7 is out and vetted it will make sense to …

  15. comment
    Comment #10575975

    Same reason you would want to use yacc to write a parser. A grammar annotated with code is a nice way to express a parser. If the language happens to be regular, you can use ragel …

  16. comment
    Comment #10574589

    Ragel allows embedding actions into the subexpressions of a regular expression. This allows one to compose a parser using a single regular expression.

  17. comment
    Comment #2667607

    help me! http://www.complang.org/dsnp/

  18. comment
    Comment #2561683

    Just plain old text as it came in. I see now that is not what you were referring to. You're talking about JSON, XML, etc I now think. There is also a print_xml function, which puts…

  19. comment
    Comment #2561671

    They are related systems. DMS is much more mature.

  20. comment
    Comment #2561662

    Ya it's currently hard to find. http://d-cent.org/fsw2011/ I need help from people like you actually. What I've done. 1. defined the protocol 2. implmented it in a C++ daemon that …

  21. comment
    Comment #2561342

    Indeed I did not follow what you meant. I missed the "persistent" and saw ... "don't incur the cost of copying." I took that to mean that you were referring to not maintaining any …

  22. comment
    Comment #2561312

    Yes I understand these techniques, in fact they are heavily in use in Colm, just not for maintaining the global state that is used for the parsing feedback loop. I use the term "co…

  23. comment
    Comment #2561180

    :) If I had my way this comment would be closer to the top. Not many grammar-based parsing systems can claim raw DNS parsing.

  24. comment
    Comment #2561029

    Colm has built-in serialization. There is still some work to do in this area though. Colm will preserve whitespace for minimal disruption of untransformed text, but figuring out wh…

  25. comment
    Comment #2561006

    To have both generalized parsing and context dependent parsing you need to somehow revert changes to the global state when you backtrack. You can do this by restoring it to old ver…