Stefano Sanfilippo
c55e25e2a2
Stub bitcode emitter.
2015-03-05 14:26:24 +01:00
Stefano Sanfilippo
82b63189f4
Adding new features to features.cpp compiler checks.
2015-03-05 14:24:27 +01:00
Stefano Sanfilippo
25153e8a85
Properly indent generated C++ code.
2015-03-05 13:55:34 +01:00
Stefano Sanfilippo
b0a01d2fb7
Decouple AST nodes from representation.
...
1. adding getters to all node properties.
2. extracting an Emitter interface.
3. moving all C++ codegen features to a CppEmitter.
All list template specializations typedefs have been removed for
increased readability.
A dependency on Boost is introduced for boost::optional,
which is required in the AST getters API.
2015-03-05 01:16:40 +01:00
Stefano Sanfilippo
0fb3ea5dd6
Moving pointer stuff to separater header.
2015-03-05 01:09:04 +01:00
Stefano Sanfilippo
a302ea3911
Meta comments are no more printed to screen during compilation.
2015-03-05 00:59:33 +01:00
Stefano Sanfilippo
eba0efb878
Passing a pointer to Scanner instead of reference.
...
This way, we can handle std::cin easier.
2015-03-05 00:58:30 +01:00
Stefano Sanfilippo
0cf45c87b4
Merge pull request #22 from calamarim/patch-1
...
Use "prematurata" instead of "brematurata" in examples.
2015-02-11 01:25:50 +01:00
Marco A. Calamari - Progetto Winston Smith
e79316f5fa
Update factorial.mcc
...
Because "Brematurata" and Supercazzora" was in the screenplay while "Prematurata" and "Supercazzola" in the common film understanding, we can consider the second being a new version of the language; let's say Monicelli IV and Monicelli 77.
Is widely known that well conformed programs must not use mixed features, and stick to the latest ones if possible.
This, in short, means replacing all existing instances of tokens also in all others examples.
2015-02-05 14:31:36 +01:00
Stefano Sanfilippo
f229f3fbd4
Remove duplicate line in README
2015-01-16 12:35:15 +01:00
Alessandro Gatti
1e6289a193
Move Homebrew support in its own file.
2015-01-16 01:32:17 +01:00
Stefano Sanfilippo
a9da15c4c3
Reserving more keywords for future usage.
2015-01-15 22:02:57 +01:00
Alessandro Gatti
64fc284a52
Avoid clobbering externally-set variables.
2015-01-07 17:54:05 +01:00
Alessandro Gatti
4130129216
Automatically find homebrew packages if present.
2015-01-03 00:07:46 +01:00
Stefano Sanfilippo
d179b4eb21
List reserved keywords in README.
2014-12-16 16:53:27 +01:00
Stefano Sanfilippo
fabb600d19
Updating README for CMake.
2014-12-14 14:26:32 +01:00
Stefano Sanfilippo
715b0fe840
Compiler features discovery and Bison version check.
2014-12-10 23:03:02 +01:00
Stefano Sanfilippo
815dcf9df2
Adding QTCreator *.user to ignore list.
2014-12-10 23:02:24 +01:00
Stefano Sanfilippo
6e63e248ce
Merge branch 'master' of github.com:esseks/monicelli
2014-12-10 20:39:30 +01:00
Stefano Sanfilippo
9c0a2573c3
Adding simple module dependency analysis.
...
Addresses #14
2014-12-10 20:38:32 +01:00
Stefano Sanfilippo
eb072a063d
Do not wrap simple expressions in braces.
2014-12-10 19:50:51 +01:00
Stefano Sanfilippo
b721cd666b
Merge pull request #11 from slattarini/factorial
...
New example: calculate factorial of a given integer, as double
2014-12-05 19:58:32 +01:00
Stefano Sanfilippo
d8a895773a
Merge branch 'master' into cmake
2014-12-05 01:50:07 +01:00
Stefano Sanfilippo
7d615b91a5
Adding missing header for assert(), not in ns std::.
...
Closes #13
2014-12-05 01:28:08 +01:00
Stefano Lattarini
080773ed0a
New example: calculate factorial of a given integer, as double
...
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2014-12-05 00:33:02 +01:00
Stefano Sanfilippo
d0e1af34b2
Merge branch 'master' into cmake
...
Conflicts:
CMakeLists.txt
2014-12-04 22:18:01 +01:00
Stefano Sanfilippo
2d2fd93e2c
Add parser-scanner dependency to CMake rules.
2014-12-04 21:50:15 +01:00
Stefano Sanfilippo
1b3ecac847
Merge pull request #10 from nsanitate/patch-1
...
"way" instead of "wat"
2014-12-04 21:46:00 +01:00
Nicola Sanitate
ea2c46fcba
Readme.md typo fix
2014-12-04 11:56:57 +01:00
Stefano Sanfilippo
07bdbbe55e
Switch to CMake.
2014-12-02 17:55:48 +01:00
Stefano Sanfilippo
f148814087
g++ 4.6.x compatibility
2014-12-02 17:28:42 +01:00
Stefano Sanfilippo
e5fd0ed6bc
Honour CXX environment variable.
2014-12-02 17:28:21 +01:00
Stefano Sanfilippo
c4dd6e3c6b
Removing extra \n when no functions are defined.
2014-12-02 16:28:01 +01:00
Stefano Sanfilippo
2f66c31729
Getting rid of explicit stacks with more left-recursive rules.
...
As a result, the grammar should be more readable.
2014-12-02 16:22:03 +01:00
Stefano Sanfilippo
e984b5d0ea
Uniform token naming convention.
2014-12-02 14:15:25 +01:00
Stefano Sanfilippo
5160c82adb
Add a note to Specification.txt to remark that it's not up-to-date.
2014-12-02 13:15:40 +01:00
Stefano Sanfilippo
8e80aa4969
Show the variable name when asking the user for some input.
2014-12-02 01:36:50 +01:00
Stefano Sanfilippo
761ce64ca2
More meaningful example for bituma comment.
2014-12-01 10:20:23 +01:00
Stefano Sanfilippo
b254b63faf
Accented letters vs. backtick + smal fix to README.
2014-12-01 10:17:14 +01:00
Stefano Sanfilippo
87ca7614e4
Crediting the people who contributed to the initial specs.
2014-12-01 10:16:56 +01:00
Stefano Sanfilippo
ffb2c6f975
Make in() static since it's not supposed to be used outside the lexer.
2014-12-01 09:55:06 +01:00
Stefano Sanfilippo
d031031e4e
Void functions might not return a value.
2014-12-01 00:33:57 +01:00
Stefano Sanfilippo
10034f38df
Accept "supercazzora" as alternate spelling of "supercazzola".
...
As mentioned in #2
2014-12-01 00:29:49 +01:00
Alessandro Gatti
e9be8b4419
Don't assume Italian accented characters are available.
2014-11-30 23:45:07 +01:00
Alessandro Pellegrini
8913c12a7f
Hello World
...
There cannot be any programming language without a Hello World.
2014-11-30 23:39:57 +01:00
Stefano Sanfilippo
36de368b19
Enclose output expression in ().
2014-11-30 13:40:08 +01:00
Stefano Sanfilippo
2bc017d0bb
Allow floating point literals with exponent and without decimal part.
2014-11-30 13:19:19 +01:00
Stefano Sanfilippo
a6954b6ff7
Documenting function declaration and invocation in README.
2014-11-30 13:17:30 +01:00
Stefano Sanfilippo
0a49ccfeca
Emitting prototypes for all declared functions.
2014-11-30 13:05:59 +01:00
Stefano Sanfilippo
76a4e3d7f2
Adding support for functions.
2014-11-30 13:03:45 +01:00