Commit Graph

288 Commits

Author SHA1 Message Date
Stefano Sanfilippo 6e832cf2f4 Use type shorthand macros in bitcode emitter. 2015-03-11 00:57:14 +01:00
Stefano Sanfilippo a191342dec Adding fibonacci example. 2015-03-11 00:52:53 +01:00
Stefano Sanfilippo 16d0e877bf Fix YAML-cpp minimum version required. 2015-03-11 00:50:08 +01:00
Stefano Sanfilippo a0a94d13eb Additional checks on input files. 2015-03-10 21:21:54 +01:00
Stefano Sanfilippo f83f3759d3 Qualify global regexes as static const in main. 2015-03-10 21:09:22 +01:00
Stefano Sanfilippo ca8a86d217 Updating list of dependencies in readme. 2015-03-10 21:00:03 +01:00
Stefano Sanfilippo 47302ea0de Slightly improved error reporting for << and >>. 2015-03-10 20:57:25 +01:00
Stefano Sanfilippo d10d8cf3fd Fix compile time errors in hello world. 2015-03-10 20:53:51 +01:00
Stefano Sanfilippo 69c4a80c81 Fix README for C++ transpiler. 2015-03-10 19:51:45 +01:00
Stefano Sanfilippo eb448f6ae5 Clearer messages on command line. 2015-03-10 19:48:53 +01:00
Stefano Sanfilippo f3356d5906 Add back the option to emit C++ instead of LLVM bitcode. 2015-03-10 19:45:43 +01:00
Stefano Sanfilippo 8061e9dd90 Merge branch 'agatti-homebrew' 2015-03-10 15:44:28 +01:00
Stefano Sanfilippo a34efebff9 Adding forgotten <iostream> include. 2015-03-10 15:44:07 +01:00
Stefano Sanfilippo 94dca845a5 Merge branch 'homebrew' of https://github.com/agatti/monicelli into agatti-homebrew
Conflicts:
	CMakeLists.txt
2015-03-10 15:43:55 +01:00
Stefano Sanfilippo 22f4c334b7 Adding command line options parser 2015-03-10 14:36:32 +01:00
Stefano Sanfilippo 04e031a6a0 Adding minimal test case for dead basic block optimization. 2015-03-10 13:33:34 +01:00
Stefano Sanfilippo ba5dbde1ea Build distributable packages with CPack 2015-03-10 13:32:43 +01:00
Stefano Sanfilippo c9c0e72bec Add install rules to CMake build scripts. 2015-03-10 13:31:02 +01:00
Stefano Sanfilippo d8e13b54fe Adding supercazzola version of mandebrot.mc 2015-03-10 01:41:58 +01:00
Stefano Sanfilippo 6e20935a1b Grouping source files under src/ directory. 2015-03-10 01:28:43 +01:00
Stefano Sanfilippo 8b355d8003 Adding a turtle graphics example with an external module. 2015-03-10 01:21:45 +01:00
Stefano Sanfilippo 4df447f23e Adding support for declaration of external modules as .mm files. 2015-03-10 00:52:51 +01:00
Stefano Sanfilippo ef0e1be751 Convenience ctor for Id from std::string. 2015-03-10 00:48:28 +01:00
Stefano Sanfilippo f35332cf89 Enable simple optimizations. 2015-03-09 22:48:10 +01:00
Stefano Sanfilippo f28172e9f2 Adding a Mandelbrot set plotter example. 2015-03-09 22:38:16 +01:00
Stefano Sanfilippo cf241951a0 Ensure that basic blocks in loops and branches are well formed. 2015-03-09 22:04:10 +01:00
Stefano Sanfilippo ec76d2a21d Use Pointer<...> in BitcodeEmitter.hpp instead of unique_ptr 2015-03-09 22:03:07 +01:00
Stefano Sanfilippo dc5fffbddc Cast the expression before deducing truth value in isTrue() 2015-03-09 21:41:11 +01:00
Stefano Sanfilippo 2d58363c50 Ext or trunc for integers types, not bitcast. 2015-03-09 14:26:25 +01:00
Stefano Sanfilippo 1f4fec77b3 Fix error reporting in FunctionPrototype bitcode emitter. 2015-03-09 13:58:43 +01:00
Stefano Sanfilippo ea94de076d Force return type of main to int in CppEmitter. 2015-03-09 13:52:34 +01:00
Stefano Sanfilippo e46ddfcd80 Fixing error message for parameter number mismatch in function call. 2015-03-09 13:43:22 +01:00
Stefano Sanfilippo 12ea83a4af Make sure vectors are not empty when calling back(). 2015-03-09 13:35:33 +01:00
Stefano Sanfilippo 0c3702ea34 Single ret point in functions, so that a ret is always in the codepath. 2015-03-09 12:33:10 +01:00
Stefano Sanfilippo 3278f12028 Assert that the value returned by FunctionPrototype bitcode emitter is a llvm::Function. 2015-03-09 12:04:08 +01:00
Stefano Sanfilippo 408df71461 Move factorial.mcc to factorial.mc 2015-03-09 01:23:59 +01:00
Stefano Sanfilippo 4037a76c6b Implicitly cast return expressions to the return type of the function. 2015-03-09 01:11:13 +01:00
Stefano Sanfilippo eca4769534 Fixing naming issue in runtime. 2015-03-09 01:02:50 +01:00
Stefano Sanfilippo be503447b3 Fix bug in codegen for functions with multiple parameters.
Prior to this, all mutable param variables would be bound to the same parameter.
2015-03-09 01:02:24 +01:00
Stefano Sanfilippo 3ffdcf4b88 Using C for standard library, since it can't depend on lib(std)c++. 2015-03-08 22:18:21 +01:00
Stefano Sanfilippo 95d189e244 Use target_compile_options function in CMake script. 2015-03-08 22:10:34 +01:00
Stefano Sanfilippo 8d511f46f4 Expand documentation on the Monicelli standard library. 2015-03-08 21:52:29 +01:00
Stefano Sanfilippo 0531ec531a Removing unneeded dependency on LLVM JIT. 2015-03-08 21:45:06 +01:00
Stefano Sanfilippo 79c4303219 Using PointerSet for modules in monicelli::Program. 2015-03-08 21:37:46 +01:00
Stefano Sanfilippo 04cd095e41 Removing leading __ from Monicelli type definitions. 2015-03-08 21:37:29 +01:00
Stefano Sanfilippo 711f693f55 Renaming monicelli::plist to monicelli::plist_of 2015-03-08 21:27:24 +01:00
Stefano Sanfilippo b2e7a11b7a Introducing boost::ptr_vector and boost::ptr_unordered_set.
This is an easy way to increase the uniformity of the API.
2015-03-08 21:03:23 +01:00
Stefano Sanfilippo 19a0c656f2 Refactoring == and hash() operators for nodes that need them. 2015-03-08 21:01:27 +01:00
Stefano Sanfilippo 83a3813dd4 Updating readme. 2015-03-08 13:56:06 +01:00
Stefano Sanfilippo 6f69bf603d Add license block where missing. 2015-03-08 13:29:34 +01:00