Commit Graph

110 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