Commit graph

2081 commits

Author SHA1 Message Date
Wolfgang Bumiller
8bc9d4b427 Committing an evil allocator and a trie to speed up the correction stuff 2013-01-05 19:09:36 +01:00
Wolfgang Bumiller
b8d238d76b Merge branch 'master' of git://github.com/graphitemaster/gmqcc 2013-01-04 14:52:00 +01:00
Wolfgang Bumiller
0e3bb0e4f4 Get rid of correct_strndup and correct_concat altogether, reduces each generated edit to a single alloc 2013-01-04 14:50:50 +01:00
Dale Weiler
ec4cd0d258 Disable enhanced diagnostics as they're too slow. 2013-01-04 12:26:44 +00:00
Dale Weiler
793547a132 Implemented -f[no]enhanced-diagnostics, to enable/disable the usage of enhanced diagnostics. 2013-01-04 12:07:42 +00:00
Dale Weiler
5377835f1e Remove constant string literal for correction check, use parse_tokval of the current parser state instead. Accidently left it behind from debugging. 2013-01-04 11:58:27 +00:00
Dale Weiler
2d96b2a3ec Merge branch 'correct' 2013-01-04 11:56:07 +00:00
Dale Weiler
36d02d010e Got rid of all the memleaks. We can now merge with master. 2013-01-04 11:53:40 +00:00
Dale Weiler
18b9473cf8 Itegration of corrector. Seems to be some leaks in the score keeping for the probability system. 2013-01-04 11:44:25 +00:00
Dale Weiler
d97e032fcf Cleanups and add the corrector to the makefile. Starting integration with the parser. 2013-01-04 10:05:41 +00:00
Dale Weiler
7ef051f58a Fix all the memleaks in the corrector. Holy shit, the amount of hours I wasted trying to find out where I left out ONE little free. 2013-01-04 09:46:22 +00:00
Dale Weiler
ab64706cc3 Fix another two leaks 2013-01-03 21:38:07 +00:00
Dale Weiler
2189dd4b85 Remove some memory leaks in the corrector. There is still some memory leaks that are proving impossible to fix. 2013-01-03 21:25:35 +00:00
Dale Weiler
861987e13e Work on "did you mean? <ident>" support for errors. Using a three-part Bayes Theorem expression (language model, error model and control mechanisim). 2013-01-03 19:44:13 +00:00
Wolfgang Bumiller
9edae7fa0a Merge remote-tracking branch 'origin/pp-unary-numbers' 2013-01-03 14:58:02 +01:00
Wolfgang Bumiller
cf293bc669 handling the ast-destruction in computed goto 2013-01-03 13:21:11 +01:00
Dale Weiler
7d14fdf530 Merge branch 'master' of github.com:graphitemaster/gmqcc 2013-01-03 12:05:02 +00:00
Dale Weiler
9bda8f61f4 Add specialized diagnostics for when predefined macros are used and ftepp predefined macros are not enabled. 2013-01-03 12:04:32 +00:00
Wolfgang Bumiller
614fcb12f5 check for TYPE_NOEXPR in general when applying an operator 2013-01-03 12:56:26 +01:00
Wolfgang Bumiller
ae09831227 Introducing TYPE_NOEXPR so that these undefined labels cannot be used on the expression side of goto ternary expressions; ast_label now is TYPE_NOEXPR; we may consider setting ast_ifthen to that too unless we want ifthen to return a value... 2013-01-03 12:49:21 +01:00
Wolfgang Bumiller
e146fd121c parse_expression now takes a boolean flag on whether or not it should be creating ast_labels for undefined identifiers; creating the label later will pick it up and set its undefined flag to false 2013-01-03 12:46:33 +01:00
Dale Weiler
0ab15e9f22 Fix argument padding for win_fputs and alike. 2013-01-03 10:33:35 +00:00
Dale Weiler
a168c5efbe More error checking and proper unreferencing of ast nodes if expressions for computed goto fails. 2013-01-02 22:39:24 +00:00
Dale Weiler
c1734d1b27 Some error checking for computed goto. 2013-01-02 22:28:26 +00:00
Dale Weiler
c750828632 Fix the testsuite bug, and implemented QCFLAGS enviroment variable support for setting the compile flags (the .tmpl rules takes precedence). 2013-01-02 22:16:02 +00:00
Dale Weiler
a2f63aae33 Implemented __TIME__ for ftepp 2013-01-02 21:53:46 +00:00
Dale Weiler
908f6ded8a Implemented __DATE__ for ftepp 2013-01-02 21:51:22 +00:00
Dale Weiler
e08e4a9ce0 Remove "got" left behind from debugging. 2013-01-02 21:35:18 +00:00
Dale Weiler
a421d9a33b Implemented computed goto + added goto test for testsuite (tests both normal and computed goto statements). 2013-01-02 21:32:57 +00:00
Wolfgang Bumiller
6c076f99f6 lex->flags.preprocessing causes the lexer to parse the unary number if it is one 2013-01-02 17:38:24 +01:00
Dale Weiler
467a4740da Fix some issues 2013-01-02 16:34:55 +00:00
Wolfgang Bumiller
654eceb33b Allow unary minus in ftepp_if_value 2013-01-02 17:26:35 +01:00
Wolfgang Bumiller
0d839bd138 pragma code: signed correctness 2013-01-02 15:20:07 +01:00
Wolfgang Bumiller
558a091c08 remove ast.h-include from lexer.h to parser.c... 2013-01-02 15:08:02 +01:00
Wolfgang Bumiller
14593ce789 Makefile: ftepp.o: lexer.h 2013-01-02 15:05:52 +01:00
Wolfgang Bumiller
359ba5f728 lex.peek char->int 2013-01-02 15:03:20 +01:00
Wolfgang Bumiller
8331a2982d tests for __VA_ARGS__ 2013-01-02 14:16:42 +01:00
Wolfgang Bumiller
38a664ed72 __VA_ARGS__ support 2013-01-02 14:15:16 +01:00
Wolfgang Bumiller
3c212c8389 fix a leak: delete the output string of macro calls 2013-01-02 10:45:55 +01:00
Wolfgang Bumiller
dce7a0c72b update old_string on failure in ftepp_macro_expand to not segfault on a preprocessor-error inside recursive preprocessor calls 2013-01-02 10:44:39 +01:00
Wolfgang Bumiller
c7280fca52 when recursinve into macros copy the previous line number; fixes macros showing line 1 for each error 2013-01-02 10:35:00 +01:00
Dale Weiler
686394654f Implemented a optimized hash-set that can be used in various parts of the compiler (to get a little more speed). I intend this to replace the hackery that is code_genstring, and code_util_str_htgeth. 2013-01-01 07:59:04 +00:00
Dale Weiler
29db4a44ed Happy new years! 2013-01-01 05:08:55 +00:00
Dale Weiler
2f356f12e6 Fix util_vasprintf. 2012-12-31 18:50:57 +00:00
Dale Weiler
f4c3080824 Add todo about util_vasprintf (too lazy to fix right now) 2012-12-31 18:34:13 +00:00
Dale Weiler
1182ab55c5 Fix #include for <machine/endian.h> s/endiane/endian/ 2012-12-31 14:40:08 +00:00
Wolfgang Bumiller
2b1eaa6df3 Actually allocate a nil-vector for nil 2012-12-31 13:25:18 +01:00
Wolfgang Bumiller
5a5cb74db2 add codegen_output_type to ast_binary_codegen 2012-12-31 13:20:08 +01:00
Wolfgang Bumiller
0c673dfebb fix store op for nil as parameter 2012-12-31 13:19:34 +01:00
Wolfgang Bumiller
12d87fba1b Adding '&~=' to the -std=gmqcc operator list 2012-12-31 12:56:04 +01:00