4 ms·
Your comments betray a lot of ignorance, so I will just point out the glaring inaccuracies in #1. Here are two different expression parsers that are likely ins
by chubot 10y ago
Your comments betray a lot of ignorance, so I will just point out the glaring inaccuracies in #1. Here are two different expression parsers that are likely installed on machines you use, and they absolutely make a function call for each level of precedence (eval1, eval2, ..., exp1, exp2, ...)
http://code.metager.de/source/xref/gnu/coreutils/src/expr.c http://code.metager.de/source/xref/gnu/coreutils/src/expr.c
https://opensource.apple.com/source/bash/bash-76.1/bash/expr.c https://opensource.apple.com/source/bash/bash-76.1/bash/expr...
My point is not that this is BAD -- it probably doesn't matter on modern machines. I'm just saying there are choices to make. Parsing requires some knowledge and choices -- that's all. You don't just "type out the code".
#3 is not a refutation, because all the languages I mentioned are extraordinarily common. The answer to "parsing real languages is hard" is not "don't parse real languages".
I can also tell by #4 that you don't have any background in security. It's not about YOUR code per se. It's about code that is deployed and that we all rely on.
- SamReidHughes 10y ago1. Did I not say there might be some living strawmen out there? 3. Did I say we shouldn't parse real languages? No, I said the problem was that it's not straightforward to combine two languages into a new one. The problem's not at the level of parsers. 4. Did I not say it wasn't evenly distributed?