Commit Graph

83 Commits

Author SHA1 Message Date
chriseth
e14ab959f9 Remove unintentional copy in assignment operation. 2017-09-20 11:16:26 +02:00
Alex Beregszaszi
3b813ed295 Support multiple assignment in inline assembly 2017-09-20 11:16:23 +02:00
chriseth
73771f5bb2 Named assembly labels. 2017-09-15 20:44:49 +01:00
Alex Beregszaszi
8d90e6fc4e Rename expectedItems to numVariables 2017-07-13 15:18:40 +02:00
Alex Beregszaszi
03abf792c5 Support variable declarations without an assignment in EVM 2017-07-13 15:18:18 +02:00
Alex Beregszaszi
7798a27112 Add Julia mode as an option to EVMCodeTransform 2017-07-03 10:13:36 +01:00
Alex Beregszaszi
58fca7215c Refactor updateReference 2017-06-23 01:00:14 +01:00
Alex Beregszaszi
5cf2332d6d Support appendAssemblySize() in AbstractAssembly 2017-06-23 00:09:35 +01:00
Alex Beregszaszi
d5f8ce90c7 Merge interface/Exceptions and interface/Utils 2017-06-22 11:25:07 +01:00
chriseth
667a9d32aa Set source location for for start label. 2017-06-16 11:29:41 +01:00
chriseth
ce5ef08e05 Helper for visiting statements. 2017-06-16 11:29:40 +01:00
chriseth
0745628a73 Code generation for for-loops. 2017-06-16 10:56:21 +01:00
chriseth
868b5ad3aa Split block code generation into main and finalize. 2017-06-16 10:56:21 +01:00
chriseth
78b49db779 Helper to count the number of variables in a scope. 2017-06-16 10:56:21 +01:00
chriseth
8e5c4bf21d Add include file to forward-declare inline assembly structs. 2017-06-16 10:56:21 +01:00
Alex Beregszaszi
47925bc14e Parse for statement in assembly parser / printer 2017-06-16 10:56:21 +01:00
chriseth
c554145f4d Move stack height to generation phase. 2017-06-14 00:01:06 +02:00
chriseth
45d96959f8 Move LabelIDs to generation phase. 2017-06-13 22:01:15 +02:00
Alex Beregszaszi
114c157b04 Remove obsolete AsmStack 2017-06-09 11:43:41 +01:00
chriseth
6b3e7f79cf Comments and consistent variable names. 2017-06-09 10:45:36 +01:00
chriseth
40cb14cdef Fix compiler warning. 2017-06-08 15:52:45 +02:00
chriseth
893e6f4ec2 Missing stack height check for variable declaration. 2017-06-08 15:52:45 +02:00
chriseth
ef3d5874fe Remove error reporter from code generation phase. 2017-06-08 15:52:45 +02:00
chriseth
19f707aeaa Some more comments. 2017-06-08 15:52:45 +02:00
chriseth
0185f3cbf6 Correct stack height adjustment after returnsub. 2017-06-08 15:52:45 +02:00
chriseth
fefd3b866d Introduce machine-dependent stack adjustment. 2017-06-08 15:52:45 +02:00
chriseth
97cc968a13 Initial EVM1.5 assembly implementation. 2017-06-08 15:52:44 +02:00
Rhett Aultman
89b60ffbd4 Refactor error reporting
This commit introduces ErrorReporter, a utility class which consolidates
all of the error logging functionality into a common set of functions.
It also replaces all direct interactions with an ErrorList with calls to
an ErrorReporter.

This commit resolves issue #2209
2017-05-30 07:28:31 -07:00
chriseth
9adff68ecc Introduce LabelID typedef. 2017-05-29 15:40:32 +02:00
chriseth
261731f7ee Adapt EVM codegen to new namespace. 2017-05-26 15:08:27 +02:00
chriseth
71b923cc36 Move EVM codegen to libjulia. 2017-05-26 15:03:30 +02:00
chriseth
69413ae32a Review changes. 2017-05-19 20:12:12 +02:00
chriseth
e2b21e1c96 Refactor to abstract assembly to JULIA. 2017-05-19 19:20:28 +02:00