Commit Graph

60 Commits

Author SHA1 Message Date
Stefano Sanfilippo
40845c011b Cleanups.
1. move emit() to separate file.
2. move main to .cpp
3. use "namespace" for parser and lexer.
4. remove Type.h
2014-11-27 19:59:48 +01:00
Stefano Sanfilippo
c9b53a7470 Removing unnecessary commas from examples. 2014-11-25 00:57:18 +01:00
Stefano Sanfilippo
9e12a95612 Renaming ASSERT_BEGIN and ASSERT_END into ASSERT and BANG. 2014-11-25 00:47:51 +01:00
Stefano Sanfilippo
4cdde5025a Fully optional comma.
As a side effect, return now must end with "!".
2014-11-25 00:46:34 +01:00
Stefano Sanfilippo
ab0cd1f1de Funnier function declaration. 2014-11-25 00:39:42 +01:00
Stefano Sanfilippo
90c75e9b5a Optional statement terminator wherever possibile. 2014-11-25 00:39:27 +01:00
Stefano Sanfilippo
7197bd707a Allow arbitrary expressions to be passed as function params. 2014-11-25 00:39:01 +01:00
Stefano Sanfilippo
be3de046c3 Moving %start directive to bottom of prologue. 2014-11-24 23:59:28 +01:00
Stefano Sanfilippo
b5d524c295 Add Types.h to %code require in parser definition. 2014-11-24 23:56:54 +01:00
Stefano Sanfilippo
aa122fd7a0 Add auxiliary macro _() 2014-11-24 23:53:26 +01:00
Stefano Sanfilippo
af934dfea8 Formatting 2014-11-24 21:19:13 +01:00
Stefano Sanfilippo
2f42a60849 Prototypes and header cleanups for parser. 2014-11-24 21:18:59 +01:00
Stefano Sanfilippo
adb1c82e7c Fix code formatting in example. 2014-11-24 13:51:53 +01:00
Stefano Sanfilippo
a15da1f544 Best fit for BRANCH_ELSE. 2014-11-24 10:54:25 +01:00
Stefano Sanfilippo
e40f1cf55f More compact format for beautified example. 2014-11-24 10:52:56 +01:00
Stefano Sanfilippo
65a3929f48 CASE_END only if case is not last. 2014-11-24 10:50:10 +01:00
Stefano Sanfilippo
16772f287e Cluster common part between expression and semi-expression. 2014-11-24 00:14:27 +01:00
Stefano Sanfilippo
b35d565ec6 Add contracted article forms. 2014-11-23 23:46:32 +01:00
Stefano Sanfilippo
d80705b163 Allow ARTICLE in function param list. 2014-11-23 23:45:29 +01:00
Stefano Sanfilippo
f9abe82f69 Allow function calls in expressions. 2014-11-23 23:45:16 +01:00
Stefano Sanfilippo
68cb175e90 Cases in branch can only be semi expressions. 2014-11-23 23:36:58 +01:00
Stefano Sanfilippo
4a2e313e3b Disable debug mode by default in Makefile. 2014-11-23 23:30:53 +01:00
Stefano Sanfilippo
cd3f873682 Adding examples. 2014-11-23 23:30:22 +01:00
Stefano Sanfilippo
32846cccd7 More fluent CASE_END. 2014-11-23 23:22:55 +01:00
Stefano Sanfilippo
bc69779b67 Cleaner handling of meta comments. 2014-11-23 23:22:44 +01:00
Stefano Sanfilippo
0f76a9da53 Complete valid tokens in "shift" status. 2014-11-23 23:14:43 +01:00
Stefano Sanfilippo
43fee532b0 Print meta comments to stderr. 2014-11-23 23:14:12 +01:00
Stefano Sanfilippo
00ed9869ed Verbose error messages. 2014-11-23 22:46:50 +01:00
Stefano Sanfilippo
72e3888cce Functions don't need terminator. 2014-11-23 22:43:51 +01:00
Stefano Sanfilippo
a8521e324d Program can be empty. 2014-11-23 22:43:42 +01:00
Stefano Sanfilippo
403a957b08 Adding metacomments 2014-11-23 22:42:59 +01:00
Stefano Sanfilippo
cad818d33b Get rid of DOTS. 2014-11-23 22:33:50 +01:00
Stefano Sanfilippo
ae7920d5dd Use comma and dots instead of dot (easy flow). 2014-11-23 22:32:41 +01:00
Stefano Sanfilippo
acce9c0c78 Minor fixes. 2014-11-23 22:19:10 +01:00
Stefano Sanfilippo
0de580d0e9 Funnier delimiters for functions. 2014-11-23 22:18:56 +01:00
Stefano Sanfilippo
a25e1697cd Alternate spelling for ASSIGN 2014-11-23 22:18:19 +01:00
Stefano Sanfilippo
fd373c390a Fix var initialization. 2014-11-23 22:07:55 +01:00
Stefano Sanfilippo
42c46c0648 No DOT after END_ASSERT. 2014-11-23 22:07:43 +01:00
Stefano Sanfilippo
1147af9eda Handle shift operator at syntactic level. 2014-11-23 22:06:37 +01:00
Stefano Sanfilippo
0a6c350ba1 Stripping stray article in token. 2014-11-23 22:06:11 +01:00
Stefano Sanfilippo
558f5712d6 Removing alias for 2. 2014-11-23 22:05:59 +01:00
Stefano Sanfilippo
af77bb1c3c Add missing semicolon. 2014-11-23 20:48:23 +01:00
Stefano Sanfilippo
92a6ea5a59 Fix assign statement. 2014-11-23 20:47:52 +01:00
Stefano Sanfilippo
2aef8dbeec Allow semi expressions in branch conditions. 2014-11-23 20:47:39 +01:00
Stefano Sanfilippo
613599a7d9 Fix var declaration. 2014-11-23 20:47:18 +01:00
Stefano Sanfilippo
49893a04a0 Pointer dereference through operator STAR. 2014-11-23 20:46:58 +01:00
Stefano Sanfilippo
5e719dbadf Immediately terminate parsing in case of error. 2014-11-23 20:46:35 +01:00
Stefano Sanfilippo
95087c6e7e No more newlines (use . DOT as delimiter). 2014-11-23 20:45:44 +01:00
Stefano Sanfilippo
d86f72eec3 Text alias for number 2. 2014-11-23 20:44:16 +01:00
Stefano Sanfilippo
298f2b115c Using a phrase instead of dots as CASE_END. 2014-11-23 20:43:57 +01:00