Mattia Mascarello
477fcaa1a0
alternate statement implemented, minor syntax fix
2023-04-19 09:15:58 +02:00
Mattia Mascarello
6cdef34073
Paccianizing
2023-04-18 22:55:48 +02:00
Stefano Sanfilippo
f7fc90d98d
Make the debug type printer compatible with opaque pointers.
...
This makes the code compatible with both LLVM 14 and 15.
2023-01-28 14:44:57 +01:00
Stefano Sanfilippo
ef048aa324
Update the minimum version of CMake to 3.14, required for LLVM 14.
...
Updating the readme too, pointing to the latest LTS for testing.
2023-01-26 18:27:04 +01:00
Stefano Sanfilippo
ffae8e9e77
Store variable definitions as AllocaInsts objects.
...
This way the LLVM type is explicitly available. Required for opaque pointers.
2023-01-26 18:20:04 +01:00
Stefano Sanfilippo
2f91c61296
Port to LLVM 14.
2023-01-04 19:24:51 +01:00
Stefano Sanfilippo
097a6fc511
Run clang-format on the codebase.
2023-01-04 19:24:33 +01:00
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
7a72294426
Build a tarball with "make package".
2019-06-25 10:44:10 +02:00
Stefano Sanfilippo
e48cb899f4
Merge branch 'master' of github.com:esseks/monicelli
2019-06-25 10:36:14 +02:00
Stefano Sanfilippo
c4c70182a1
Improve build scripts, add MONICELLI_ARCH cache variable.
2019-06-25 10:35:02 +02:00
Stefano Sanfilippo
6c29cadd86
Bump LLVM version to 6.0 in the README.
2019-06-24 11:44:21 +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
8aa5c1a575
Merge branch 'location'
2015-03-27 12:02:55 +01: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
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