Russell Joyce
62969cb0ee
Added handling of 'const' type qualifier keyword
...
There is currently no enforcement of a variable being constant, and the
actual type is the same as if 'const' wasn't present.
2020-06-11 11:30:51 +01:00
Russell Joyce
9abf00e2d3
Added basic pragma parsing
...
Actual contents of the pragma are currently just discarded. This
supports both #pragma and _Pragma() definitions, but the pragma must end
the line it is on and cannot be in the middle of a statement.
2020-06-09 19:21:00 +01:00
Russell Joyce
45d85111f0
Added parsing of volatile qualifier
...
This doesn't affect code execution, but is exposed through TypeParse().
2020-06-09 12:30:47 +01:00
Russell Joyce
409f520b61
Added functions to log and count parsing of statements and expressions
...
Currently prints all expressions and statements to stderr, then outputs
a total count of each token to stderr after program execution.
2020-05-13 18:44:09 +01:00
Joseph Poirier
e8a2a13595
fix parsing typedef usage outside of the actual declaration, don't decrement loop counter
2018-01-16 16:12:07 -06:00
Joseph Poirier
f551e28a49
formatting
2015-06-21 20:54:56 -05:00
Joseph Poirier
9316233d16
formatting, initial multiline macro support
2015-06-19 04:45:51 -05:00
Joseph Poirier
9c05060820
initialize
2015-06-18 22:49:47 -05:00
Joseph Poirier
97fbbaaf8f
system includes before user includes, and cleanup
2015-06-17 16:34:26 -05:00
Joseph Poirier
0ac0f71fc0
proper static prototypes
2015-06-17 04:30:27 -05:00
Joseph Poirier
1ff1ef9cfb
minor formatting, add message on how to terminate interactive mode
2015-06-14 15:48:18 -05:00
Joseph Poirier
890694a14a
formatting
2015-06-14 04:46:15 -05:00
Joseph Poirier
463f086a33
changes after simple analysis, added FIXMEs
2015-06-14 02:08:10 -05:00
Joseph Poirier
9636ca0b2a
minor format changes
2015-06-13 19:06:23 -05:00
Joseph Poirier
d865074892
malloc deref pointer to struct syntax, minor formatting changes
2015-06-13 09:41:41 -05:00
Joseph Poirier
8c18e1d061
respect 80 col mark when it makes sense
2015-06-10 19:27:30 -05:00
Joseph Poirier
e52188dcda
respect 80 col mark when it makes sense
2015-06-10 18:49:09 -05:00
Joseph Poirier
9293ed0443
use stdbool.h and convert TRUE/FALSE to true/false
2015-06-10 14:24:53 -05:00
Joseph Poirier
ff49007571
removed FEATURE_AUTO_DECLARE_VARIABLES
2015-06-10 13:54:32 -05:00
Joseph Poirier
c063462464
reorder types
2015-06-10 13:07:58 -05:00
Joseph Poirier
f26b78f29f
PRINT_SOURCE_POS macro refactors
2015-06-10 12:33:16 -05:00
Joseph Poirier
c504c52cd1
misc formatting, more descriptive out of mem erros, increase default stack size
2015-06-09 02:45:00 -05:00
Joseph Poirier
a755ebfbe6
proper debug func prototypes, remove DEBUGGER compile switch double negative :/
2015-06-07 21:12:20 -05:00
Joseph Poirier
1a4b9a92c4
ongoing dev: remove unused platform specific code
2015-06-07 20:56:23 -05:00
Joseph Poirier
8964112c70
define NO_BUGGER by default in make file
2015-06-07 00:02:32 -05:00
Joseph Poirier
a61bd97d9b
formatting
2015-06-06 23:40:08 -05:00
zik.saleeba
864c372dbb
Fix for issue #191 suggested by Christopher Foucher.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@606 21eae674-98b7-11dd-bd71-f92a316d2d60
2014-03-01 04:23:55 +00:00
zik.saleeba
019c4cb42c
Patch from christophe.foucher added.
...
Issue #168
git-svn-id: http://picoc.googlecode.com/svn/trunk@600 21eae674-98b7-11dd-bd71-f92a316d2d60
2013-03-16 07:42:55 +00:00
zik.saleeba
b5a600a749
Merged in a pile of changes from broscutamaker
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@599 21eae674-98b7-11dd-bd71-f92a316d2d60
2013-03-16 07:39:34 +00:00
zik.saleeba
505f229419
continue bug in "for" thanks to broscutamaker
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@596 21eae674-98b7-11dd-bd71-f92a316d2d60
2013-03-16 06:02:05 +00:00
zik.saleeba
37ada79ac9
Fix for "Break statement not working correctly".
...
Issue #163
git-svn-id: http://picoc.googlecode.com/svn/trunk@594 21eae674-98b7-11dd-bd71-f92a316d2d60
2013-03-16 05:49:01 +00:00
zik.saleeba
d74c7bba38
Fix from broscutamaker for "return outside function body leads to crash".
...
Issue #143 .
git-svn-id: http://picoc.googlecode.com/svn/trunk@593 21eae674-98b7-11dd-bd71-f92a316d2d60
2013-03-16 05:45:44 +00:00
zik.saleeba
54cfcffa9b
Fix for eclipse submitted by christophe.foucher
...
Issue #177
git-svn-id: http://picoc.googlecode.com/svn/trunk@589 21eae674-98b7-11dd-bd71-f92a316d2d60
2013-02-23 23:18:47 +00:00
zik.saleeba
35e64fa8c1
Fixed a regression I added while implementing re-entrancy.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@582 21eae674-98b7-11dd-bd71-f92a316d2d60
2012-09-23 08:13:05 +00:00
zik.saleeba
62bc229f4a
Adapted to be fully re-entrant.
...
Issue #137
git-svn-id: http://picoc.googlecode.com/svn/trunk@581 21eae674-98b7-11dd-bd71-f92a316d2d60
2012-09-22 05:11:44 +00:00
zik.saleeba
29d15395ba
Fixed regression in array initialisers with trailing commas.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@579 21eae674-98b7-11dd-bd71-f92a316d2d60
2012-09-06 12:07:57 +00:00
zik.saleeba
83de73dc45
Assignment to unsized array from array initialisers is implemented.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@578 21eae674-98b7-11dd-bd71-f92a316d2d60
2012-09-06 11:33:39 +00:00
zik.saleeba
853b6f6259
Added some more comments.
...
Added the beginnings of a debugger. It's not useful yet.
git-svn-id: http://picoc.googlecode.com/svn/trunk@570 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-05-01 06:50:00 +00:00
zik.saleeba
3d7eaa7da6
Added "goto" statement.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@560 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-21 04:44:16 +00:00
zik.saleeba
b23d1e8e06
Big reorganisation to make it easier to access picoc as a library.
...
Also moved most internal header stuff to the new header interpreter.h.
git-svn-id: http://picoc.googlecode.com/svn/trunk@549 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-17 07:11:20 +00:00
zik.saleeba
cab5e8b2d8
Added support for static type qualifiers.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@546 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-16 23:38:41 +00:00
zik.saleeba
88cf377659
Changes for a clean compile on the SRV
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@537 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-15 21:06:47 +00:00
zik.saleeba
de95adb36a
Fixed a bug where function prototypes were not being deallocated
...
correctly when they were overridden by the actual function.
git-svn-id: http://picoc.googlecode.com/svn/trunk@529 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-15 01:21:27 +00:00
zik.saleeba
b2c4d6ce83
Fixed bug108 - brackets were not collapsing the expression stack
...
as they should have.
Now more permissive in declarations of void main()
git-svn-id: http://picoc.googlecode.com/svn/trunk@520 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-14 06:05:53 +00:00
zik.saleeba
19b22261d3
Now checks for correct parameters to main()
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@517 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-12 04:52:45 +00:00
zik.saleeba
eb7010d292
Now avoiding structure assignment since it seems to cause problems on blackfin processors. Urk!
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@515 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-12 04:04:51 +00:00
zik.saleeba
4da8196e9d
Fixed a problem with do..while() and breack/continue.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@510 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-11 06:32:52 +00:00
zik.saleeba
b4f882354d
Fixed a problem with nested while() loops not handling break and continue correctly.
...
Fixes issue #96 .
git-svn-id: http://picoc.googlecode.com/svn/trunk@509 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-11 06:27:54 +00:00
zik.saleeba
318db09eb7
Now recognising and ignoring "register" and "extern".
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@508 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-11 05:13:58 +00:00
zik.saleeba
e236537ab2
Fixed problem with returns inside switch() statements not working correctly outside the switch block.
...
Issue #116
git-svn-id: http://picoc.googlecode.com/svn/trunk@506 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-11 04:49:44 +00:00