Stefano Sanfilippo
|
b5196b1776
|
Replace hardcoded stdlib prototypes with a module registry.
|
2015-03-08 13:25:59 +01:00 |
|
Stefano Sanfilippo
|
3aade87599
|
Splitting a parser rule for function prototype.
|
2015-03-08 12:52:38 +01:00 |
|
Stefano Sanfilippo
|
e933e75c85
|
Removing leftover forward decl of __Monicelli_main
|
2015-03-08 12:48:13 +01:00 |
|
Stefano Sanfilippo
|
4f4ab480a3
|
Moving system functions names to BitcodeEmitter.cpp
|
2015-03-08 12:47:52 +01:00 |
|
Stefano Sanfilippo
|
b1aff41ce9
|
Moving convertAndStore to preamble of BitcodeEmitter.cpp
|
2015-03-08 12:47:15 +01:00 |
|
Stefano Sanfilippo
|
9d2413857d
|
Using %g format for printing floating point numbers.
|
2015-03-08 12:34:51 +01:00 |
|
Stefano Sanfilippo
|
519a7f7510
|
Use Type::CHAR instead of Type::BOOL for stdlib functions.
This is because C has no int1 type.
|
2015-03-08 12:29:13 +01:00 |
|
Stefano Sanfilippo
|
83a331a9af
|
Adding stdlib target to CMake, migrating runtime to C++.
|
2015-03-08 12:19:06 +01:00 |
|
Stefano Sanfilippo
|
8656d5c761
|
Get rid of __Monicelli_main and directly call main()
|
2015-03-08 12:04:46 +01:00 |
|
Stefano Sanfilippo
|
be60adb510
|
Minor cosmetic fixes (splitting lines, beautify error message).
|
2015-03-08 11:29:26 +01:00 |
|
Stefano Sanfilippo
|
f933cc3163
|
Extracting a FunctionPrototype node.
This will allow more flexibility in defining externed functions.
|
2015-03-08 11:25:41 +01:00 |
|
Stefano Sanfilippo
|
3f19125574
|
Output object file in current directory.
|
2015-03-07 19:56:47 +01:00 |
|
Stefano Sanfilippo
|
35d3dbce75
|
Add implicit ret void after main in bitcode.
|
2015-03-07 19:44:49 +01:00 |
|
Stefano Sanfilippo
|
354654daec
|
Emitting a \n after printing variables in Monicelli runtime.
|
2015-03-07 19:44:34 +01:00 |
|
Stefano Sanfilippo
|
d802eddd71
|
Silence unused param compiler warnings because of Bison.
|
2015-03-07 19:44:16 +01:00 |
|
Stefano Sanfilippo
|
becafb4cd5
|
Plug new bitcode generator in main.
|
2015-03-07 19:43:53 +01:00 |
|
Stefano Sanfilippo
|
a8fa0a1bff
|
Adding license boilerplate where missing.
|
2015-03-07 17:26:19 +01:00 |
|
Stefano Sanfilippo
|
e921a24929
|
Adding -Wextra -Werror to compiler flags and fixing issues.
|
2015-03-07 17:24:25 +01:00 |
|
Stefano Sanfilippo
|
226aff325f
|
Adding LLVM stuff to CMake build script.
|
2015-03-07 17:23:46 +01:00 |
|
Stefano Sanfilippo
|
a313d4865c
|
Implementing stdlib runtime.
|
2015-03-07 14:12:18 +01:00 |
|
Stefano Sanfilippo
|
fb42a90235
|
Adding forgotten RuntimePrototypes include to BitcodeEmitter
|
2015-03-07 14:12:00 +01:00 |
|
Stefano Sanfilippo
|
8d28c5e909
|
Fix bug in FP to integer conversion.
|
2015-03-07 14:11:38 +01:00 |
|
Stefano Sanfilippo
|
c9bff1e64b
|
Ensure that parameters passed to function call are of the right type.
|
2015-03-07 14:11:25 +01:00 |
|
Stefano Sanfilippo
|
6725cbaf88
|
Implementing MonicelliType, refactoring LLVMType.
|
2015-03-07 14:10:49 +01:00 |
|
Stefano Sanfilippo
|
3968d937e0
|
Rename TYPE_MAP to TYPECAST_MAP (more relevant).
|
2015-03-07 14:09:57 +01:00 |
|
Stefano Sanfilippo
|
6df0801d35
|
Clearer error messages for BitcodeEmitter.
|
2015-03-07 14:08:52 +01:00 |
|
Stefano Sanfilippo
|
287d543b34
|
Extracting method BitcodeEmitter::emitFunctionPrototype()
|
2015-03-07 14:08:10 +01:00 |
|
Stefano Sanfilippo
|
c0bfd4757f
|
Implementing system module loading for register runtime functions.
|
2015-03-07 14:06:58 +01:00 |
|
Stefano Sanfilippo
|
e476446e75
|
Minor refactorings to Nodes.hpp
1. Convenience ctor for Id
2. Clean spaces and redudant things.
|
2015-03-07 14:06:16 +01:00 |
|
Stefano Sanfilippo
|
0f5c138948
|
Renaming Module::Type to Module::ModuleType for clarity.
A monicelli::Type enum is already defined.
|
2015-03-07 14:05:03 +01:00 |
|
Stefano Sanfilippo
|
43fc82d318
|
Inheriting std::vector ctors in PointerList.
|
2015-03-07 14:04:15 +01:00 |
|
Stefano Sanfilippo
|
eafc7c5d94
|
Prototypes and lookup for standard functions.
|
2015-03-07 14:03:54 +01:00 |
|
Stefano Sanfilippo
|
bb675a09d7
|
Adding Type::UNKNOWN
|
2015-03-07 14:03:07 +01:00 |
|
Stefano Sanfilippo
|
754485e40b
|
Implementing abort/assert/input/output bitcode generation.
|
2015-03-07 14:02:29 +01:00 |
|
Stefano Sanfilippo
|
4321fa5dbf
|
Adding type coercion and deduction mechanism.
|
2015-03-06 16:10:35 +01:00 |
|
Stefano Sanfilippo
|
cac89bb476
|
Stubbing implicit type casting mechanism.
|
2015-03-06 14:51:54 +01:00 |
|
Stefano Sanfilippo
|
f9cfe700fa
|
Report error when applying int-only ops to float values.
|
2015-03-06 14:41:02 +01:00 |
|
Stefano Sanfilippo
|
ec21714af9
|
Minor refactorings to BitcodeEmitter.
1. split initalizer for module unique_ptr on multiple lines for readibility.
2. replace //TODO modules with commented loop.
|
2015-03-06 14:31:00 +01:00 |
|
Stefano Sanfilippo
|
dc017b3285
|
Adding Scope::drop() method to clean the whole scope.
|
2015-03-06 14:30:16 +01:00 |
|
Stefano Sanfilippo
|
b7be4dc37f
|
Implementing error handling in emitters.
As a result, Emitter iface changes by providing a bool retval.
False means failure and should be managed as such.
|
2015-03-06 14:29:52 +01:00 |
|
Stefano Sanfilippo
|
2ce76a1dfd
|
LLVM BitcodeEmitter completed for all statements.
Error handling is still missing.
|
2015-03-06 13:45:05 +01:00 |
|
Stefano Sanfilippo
|
4e883d148c
|
LLVM Module is now managed by BitcodeEmitter.
|
2015-03-06 13:42:47 +01:00 |
|
Stefano Sanfilippo
|
68004b3f49
|
Reordering methods in iface Emittable (minor, cosmetic).
|
2015-03-06 13:41:27 +01:00 |
|
Stefano Sanfilippo
|
5d043566dc
|
Turn main into an ordinary function.
|
2015-03-06 13:40:40 +01:00 |
|
Stefano Sanfilippo
|
a509a61bfb
|
Adding Scope lookup utility class.
|
2015-03-05 22:30:08 +01:00 |
|
Stefano Sanfilippo
|
12dedc1cef
|
Adapting BitcodeEmitter to the new Emitter iface.
|
2015-03-05 22:29:34 +01:00 |
|
Stefano Sanfilippo
|
73122492f3
|
Merge branch 'master' into llvm
|
2015-03-05 22:28:59 +01:00 |
|
Stefano Sanfilippo
|
248afa02c8
|
Further simplification of the AST hieararchy and Emitter iface.
|
2015-03-05 22:28:45 +01:00 |
|
Stefano Sanfilippo
|
becdac1f7f
|
Bitcode emitter for expressions and returns, more things in place.
|
2015-03-05 22:27:14 +01:00 |
|
Stefano Sanfilippo
|
6a60b72b91
|
Merge branch 'master' into llvm
|
2015-03-05 17:36:13 +01:00 |
|