3 ms·
Do you have an example of a language that parses different because of dependencies?
by int0x80 5y ago
Do you have an example of a language that parses different because of dependencies?
- dataflow 5y agoSure, just plain C can wreck any kind of parsing with its macros.
- int0x80 5y agoTechnically the parsing itself and the grammar are the same, they don't depend on defined macros. Yes, defining a macro in an included file can make the resulting AST change, but the parsing algorithm doesn't really care about it.
- chriswarbo 5y agoUnfortunately, text-substitution macros (like CPP) pretty much force a source file to be treated as a stream of bytes. They can be handy, but delimited macros (e.g. like Lisps) are much less invasive.
- dataflow 5y agoYeah that's kind of my point. The idea of syntax based source control is nice in theory but in reality it's just wishful thinking with the kinds of languages we use.
- layer8 5y agoLanguages with user-defined operators with user-defined precedence, like Haskell. Languages with user-defined subgrammars, like Raku (Perl 6). Languages with declaration-dependent ambiguity resolution, like C++ (https://en.wikipedia.org/wiki/Most_vexing_parse https://en.wikipedia.org/wiki/Most_vexing_parse).