openclonk/src/script
Nicolas Hake 092a23c2f7 Aul: Parse scripts into an AST, then generate bytecode from that
This commit contains a fairly substantial rewrite of the C4Script code
generator. Instead of generating bytecode while parsing the script,
we're now parsing the script into a syntax tree, and have any further
processing happen on that instead of the raw source.

At this time, the code generator emits the same bytecode as the old
parser; there are several optimization opportunities that arise from the
new possibility to emit code out of order from its specification by the
author.

Compared to the old compiler, this one is still rather deficient when
dealing with incorrect code; it's also not emitting several warnings
that used to be diagnosed.
2016-05-12 19:43:48 +02:00
..
C4Aul.cpp Merge branch script 2016-04-28 03:25:44 +02:00
C4Aul.h Aul: Parse scripts into an AST, then generate bytecode from that 2016-05-12 19:43:48 +02:00
C4AulAST.h Aul: Parse scripts into an AST, then generate bytecode from that 2016-05-12 19:43:48 +02:00
C4AulCompiler.cpp Aul: Parse scripts into an AST, then generate bytecode from that 2016-05-12 19:43:48 +02:00
C4AulCompiler.h Aul: Parse scripts into an AST, then generate bytecode from that 2016-05-12 19:43:48 +02:00
C4AulDebug.cpp Update all copyright notices for 2016 2016-04-03 20:24:42 +02:00
C4AulDebug.h Update all copyright notices for 2016 2016-04-03 20:24:42 +02:00
C4AulDefFunc.h Merge branch script 2016-04-28 03:25:44 +02:00
C4AulExec.cpp Aul: Allow AB_ERR to carry more detailed error information 2016-04-24 14:01:23 +02:00
C4AulExec.h Update all copyright notices for 2016 2016-04-03 20:24:42 +02:00
C4AulFunc.cpp C4AulFunc::GetFullName: make const 2016-05-11 17:15:47 +02:00
C4AulFunc.h C4AulFunc::GetFullName: make const 2016-05-11 17:15:47 +02:00
C4AulLink.cpp Merge branch script 2016-04-28 03:25:44 +02:00
C4AulParse.cpp Aul: Parse scripts into an AST, then generate bytecode from that 2016-05-12 19:43:48 +02:00
C4AulParse.h Aul: Parse scripts into an AST, then generate bytecode from that 2016-05-12 19:43:48 +02:00
C4AulScriptFunc.cpp Merge branch script 2016-04-28 03:25:44 +02:00
C4AulScriptFunc.h C4CodeGen: Rename to C4AulCompiler 2016-05-09 12:21:33 +02:00
C4Effect.cpp Don't crash when deserializing an effect with object command target (#1730) 2016-04-29 00:16:20 +02:00
C4Effect.h Merge branch script 2016-04-28 03:25:44 +02:00
C4PropList.cpp Merge branch script 2016-04-28 03:25:44 +02:00
C4PropList.h C4PropList::GetParent: make const 2016-05-12 18:47:53 +02:00
C4Script.cpp Merge branch script 2016-04-28 03:25:44 +02:00
C4ScriptHost.cpp Aul: Parse scripts into an AST, then generate bytecode from that 2016-05-12 19:43:48 +02:00
C4ScriptHost.h Aul: Parse scripts into an AST, then generate bytecode from that 2016-05-12 19:43:48 +02:00
C4ScriptMain.cpp Update all copyright notices for 2016 2016-04-03 20:24:42 +02:00
C4ScriptStandalone.cpp Update all copyright notices for 2016 2016-04-03 20:24:42 +02:00
C4ScriptStandaloneStubs.cpp Merge branch script 2016-04-28 03:25:44 +02:00
C4StringTable.cpp Merge branch script 2016-04-28 03:25:44 +02:00
C4StringTable.h Merge branch script 2016-04-28 03:25:44 +02:00
C4Value.cpp Update all copyright notices for 2016 2016-04-03 20:24:42 +02:00
C4Value.h Merge branch script 2016-04-28 03:25:44 +02:00
C4ValueArray.cpp Update all copyright notices for 2016 2016-04-03 20:24:42 +02:00
C4ValueArray.h Update all copyright notices for 2016 2016-04-03 20:24:42 +02:00
C4ValueMap.cpp C4ValueMapNames: mark GetItemNr const 2016-04-24 14:01:23 +02:00
C4ValueMap.h C4ValueMapNames: mark GetItemNr const 2016-04-24 14:01:23 +02:00