rfc:ast_based_parsing_compilation_process
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
rfc:ast_based_parsing_compilation_process [2012/09/07 13:15] – nikic | rfc:ast_based_parsing_compilation_process [2012/09/07 14:01] – nikic | ||
---|---|---|---|
Line 24: | Line 24: | ||
==== Elimination of various quirks ==== | ==== Elimination of various quirks ==== | ||
- | Currently there is various quirks in the emitted opcodes which can be attributed to the use of a single-pass compiler. Some examples: | + | Currently there are various quirks in the emitted opcodes which can be attributed to the use of a single-pass compiler. Some examples: |
* The NOP opcodes that are inserted in several places. (Yes, this point isn't particularly important) | * The NOP opcodes that are inserted in several places. (Yes, this point isn't particularly important) | ||
Line 47: | Line 47: | ||
* List comprehensions / generator expressions where the result expression comes first, e.g. '' | * List comprehensions / generator expressions where the result expression comes first, e.g. '' | ||
- | Apart from larger syntax limitations the current system commonly also affects smaller syntax decisions. | + | Apart from larger syntax limitations the current system commonly also affects smaller syntax decisions. |
+ | |||
+ | ==== Better error messages ==== | ||
+ | |||
+ | Currently many things are directly enforced in the grammar which should really be checked during compilation (or a completely separate pass). E.g. if you try to initialize a class property with a non-static value, you'll get a rather unintelligible parse error message, instead of something like '' | ||
===== Disadvantages ===== | ===== Disadvantages ===== |
rfc/ast_based_parsing_compilation_process.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1