polserver/pol-core/bscript/compiler
Eric Swanson a77ddd028e
New compiler: Add optimized unary expressions (#244)
Adds:
- UnaryOperator: AST node for unary operators -, ++, --, and so forth
- UnaryOperatorOptimizer: optimizes a unary operator with its operand
  - now integer and float negation, and integer inversion
  - later x[y]++ to a single instruction

Also:
- automatically include basic.em, which includes some parameter defaults like -1.

This allows the compiler to generate output for a hello, world script with the exact same .ecl output as the legacy compiler.
2020-08-26 19:24:47 -07:00
..
analyzer Compiler rewrite: add global variables (#241) 2020-08-25 00:57:03 -07:00
ast New compiler: Add optimized unary expressions (#244) 2020-08-26 19:24:47 -07:00
astbuilder New compiler: Add optimized unary expressions (#244) 2020-08-26 19:24:47 -07:00
codegen New compiler: Add optimized unary expressions (#244) 2020-08-26 19:24:47 -07:00
file Improve SourceFileCache::keep_some() (#226) 2020-08-16 22:59:13 -07:00
format New compiler: Add optimized unary expressions (#244) 2020-08-26 19:24:47 -07:00
model Compiler rewrite: add global variables (#241) 2020-08-25 00:57:03 -07:00
optimizer New compiler: Add optimized unary expressions (#244) 2020-08-26 19:24:47 -07:00
representation Normalize include paths (#221) 2020-08-15 08:01:19 +02:00
Compiler.cpp Add file/SourceFileCache (#222) 2020-08-16 17:22:16 -07:00
Compiler.h Add file/SourceFileCache (#222) 2020-08-16 17:22:16 -07:00
LegacyFunctionOrder.h bscript/compiler: use c++17 nested namespace definitions (#202) 2020-08-10 12:20:29 +02:00
Profile.h Build AST nodes for module function declarations (#239) 2020-08-23 15:01:39 -07:00
Report.cpp Normalize include paths (#221) 2020-08-15 08:01:19 +02:00
Report.h Add ast/Node (#227) 2020-08-17 08:03:33 +02:00