Stefano Sanfilippo
554f80ac5d
Keeping track of locations in parser.
2015-03-26 15:19:07 +01:00
Stefano Sanfilippo
4c9c5dc13b
Pass current node to reportError function.
...
This way, the location is included in the error message.
2015-03-26 15:18:44 +01:00
Stefano Sanfilippo
7c5b760a94
Add location traits to AST nodes.
...
This way, we keep trace of the exact source location where a
statement or symbol was defined and we are able to emit
more precise error messages in LLVM mode.
2015-03-26 14:43:42 +01:00
Stefano Sanfilippo
5c05d96b39
Merge branch 'master' into location
2015-03-25 01:36:26 +01:00
Stefano Sanfilippo
3dc5dc604a
Ensure that a proper bb is created when "else" is omitted in a branch.
2015-03-25 01:32:49 +01:00
Stefano Sanfilippo
69f54847b4
Fixing typo in HEXDIGIT regex.
2015-03-25 01:32:38 +01:00
Stefano Sanfilippo
d7fe87ee6e
Add missing header in BitcodeEmitter.cpp
2015-03-25 01:26:15 +01:00
Stefano Sanfilippo
aa927e698b
Add Netbeans files to gitignore.
2015-03-25 01:26:01 +01:00
Stefano Sanfilippo
425dc1d9f4
Fixing typo in HEXDIGIT regex.
2015-03-12 18:59:45 +01:00
Stefano Sanfilippo
1ba0e79c01
Making output operator for Type and Operator part of the iface.
2015-03-12 17:52:27 +01:00
Stefano Sanfilippo
09c69f163f
Adding template using decl to compile features check.
2015-03-12 15:25:15 +01:00
Stefano Sanfilippo
f2ee32ca80
Remove unused headers.
2015-03-11 00:58:31 +01:00
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