Stefano Sanfilippo
4b49bd28e7
Implement "ho visto" statement.
2020-02-23 10:52:39 +01:00
Stefano Sanfilippo
7338102d46
Mark abort builtin as noreturn.
2020-02-23 10:50:57 +01:00
Stefano Sanfilippo
7cc72828a0
Extract IRGenerator::evalBooleanCondition.
...
This unifies condition evaluation between loops and branches.
2020-02-23 10:25:14 +01:00
Stefano Sanfilippo
5bd3ac2be5
Implement "avvertite don ulrico" statement.
2020-02-23 09:54:44 +01:00
Stefano Sanfilippo
6c86720a1d
Allow both "maggiore o uguale" and "maggiore uguale" for >=.
...
Fixes #49 .
2020-02-23 09:06:34 +01:00
Stefano Sanfilippo
39c9e3f08c
Choose the LLVM version with a CMake option.
2019-12-10 10:54:03 +01:00
Stefano Sanfilippo
439ef31f94
Support LLVM 7, 8 and 9. Bump default required version to 7.
...
Fixes #48 .
2019-12-09 18:46:43 +01:00
Stefano Sanfilippo
1bdb2d64c9
Build system fixes.
2019-12-09 18:44:36 +01:00
Stefano Sanfilippo
4be7463cb3
Replace deprecated TypeBuilder with FunctionType::get.
...
The TypeBuilder API has been removed in https://reviews.llvm.org/D56573 , and breaks compilation in LLVM 9+.
2019-12-09 18:04:08 +01:00
Stefano Sanfilippo
21f27ec261
Enable C++11 and strict checks for all code, msvc compatibility.
2019-07-07 10:07:28 +02:00
Stefano Sanfilippo
25110521d0
Check LLVM version, rename RAGEL to RAGEL_EXECUTABLE.
2019-07-07 09:53:59 +02:00
Stefano Sanfilippo
08368b178c
Update clang-format config, run it.
2019-07-07 09:53:59 +02:00
Stefano Sanfilippo
c4c70182a1
Improve build scripts, add MONICELLI_ARCH cache variable.
2019-06-25 10:35:02 +02:00
Stefano Sanfilippo
68dee1250d
Port the build scripts to CMake 3.5, refactor them.
...
* Use the official LLVMConfig rather than our FindLLVM.
* Add target rule for Ragel.
* Remove useless dependencies by only compiling for the native target.
* Use target rules.
2019-06-24 11:02:46 +02:00
Stefano Sanfilippo
3b5a9be6b9
Emit position independent code by default, to enable support for shared libraries and PIE.
...
PIE is now default on Ubuntu LTS. PIC can be disabled with --no-pic.
2018-12-25 14:12:35 +01:00
Stefano Sanfilippo
ab596da379
Port Monicelli to LLVM 6.0
2018-09-16 14:24:27 +02:00
Stefano Sanfilippo
7f2a9a34a8
Push Monicelli 2.0 "Cofandina"
2018-09-16 14:24:27 +02:00
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
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
d7fe87ee6e
Add missing header in BitcodeEmitter.cpp
2015-03-25 01:26:15 +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
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
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
47302ea0de
Slightly improved error reporting for << and >>.
2015-03-10 20:57:25 +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
a34efebff9
Adding forgotten <iostream> include.
2015-03-10 15:44:07 +01:00
Stefano Sanfilippo
22f4c334b7
Adding command line options parser
2015-03-10 14:36:32 +01:00
Stefano Sanfilippo
c9c0e72bec
Add install rules to CMake build scripts.
2015-03-10 13:31:02 +01:00
Stefano Sanfilippo
6e20935a1b
Grouping source files under src/ directory.
2015-03-10 01:28:43 +01:00