polserver/pol-core/bscript/compiler/astbuilder
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
..
BuilderWorkspace.cpp Build AST nodes for module function declarations (#239) 2020-08-23 15:01:39 -07:00
BuilderWorkspace.h Build AST nodes for module function declarations (#239) 2020-08-23 15:01:39 -07:00
CompilerWorkspaceBuilder.cpp New compiler: Add optimized unary expressions (#244) 2020-08-26 19:24:47 -07:00
CompilerWorkspaceBuilder.h Add file/SourceFileCache (#222) 2020-08-16 17:22:16 -07:00
CompoundStatementBuilder.cpp Compiler rewrite: add global variables (#241) 2020-08-25 00:57:03 -07:00
CompoundStatementBuilder.h Add FloatValue (#233) 2020-08-19 19:43:08 +02:00
ExpressionBuilder.cpp New compiler: Add optimized unary expressions (#244) 2020-08-26 19:24:47 -07:00
ExpressionBuilder.h New compiler: Add optimized unary expressions (#244) 2020-08-26 19:24:47 -07:00
FunctionResolver.cpp New compiler: Add AST nodes for function calls. Can compile hello world. (#240) 2020-08-24 01:47:38 -07:00
FunctionResolver.h New compiler: Add AST nodes for function calls. Can compile hello world. (#240) 2020-08-24 01:47:38 -07:00
ModuleDeclarationBuilder.cpp Build AST nodes for module function declarations (#239) 2020-08-23 15:01:39 -07:00
ModuleDeclarationBuilder.h Build AST nodes for module function declarations (#239) 2020-08-23 15:01:39 -07:00
ModuleProcessor.cpp Build AST nodes for module function declarations (#239) 2020-08-23 15:01:39 -07:00
ModuleProcessor.h Build AST nodes for module function declarations (#239) 2020-08-23 15:01:39 -07:00
ProgramBuilder.cpp Add AST builder stubs (#230) 2020-08-18 12:07:51 +02:00
ProgramBuilder.h Add AST builder stubs (#230) 2020-08-18 12:07:51 +02:00
SimpleStatementBuilder.cpp Compiler rewrite: add global variables (#241) 2020-08-25 00:57:03 -07:00
SimpleStatementBuilder.h Compiler rewrite: add global variables (#241) 2020-08-25 00:57:03 -07:00
SourceFileProcessor.cpp Build AST nodes for module function declarations (#239) 2020-08-23 15:01:39 -07:00
SourceFileProcessor.h Build AST nodes for module function declarations (#239) 2020-08-23 15:01:39 -07:00
TreeBuilder.cpp Add AST builder stubs (#230) 2020-08-18 12:07:51 +02:00
TreeBuilder.h Add AST builder stubs (#230) 2020-08-18 12:07:51 +02:00
UserFunctionBuilder.cpp Add AST builder stubs (#230) 2020-08-18 12:07:51 +02:00
UserFunctionBuilder.h Add AST builder stubs (#230) 2020-08-18 12:07:51 +02:00
ValueBuilder.cpp New compiler: Add IntegerValue (#243) 2020-08-25 23:27:24 -07:00
ValueBuilder.h New compiler: Add IntegerValue (#243) 2020-08-25 23:27:24 -07:00