Commit graph

120 commits

Author SHA1 Message Date
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 b2d468537e remove NO_FP checks; assume at least softfp, remove NO_MODULUS 2015-06-10 13:38:54 -05:00
Joseph Poirier c063462464 reorder types 2015-06-10 13:07:58 -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 9addfe1788 tidy up compilation environment 2015-06-07 22:05:17 -05:00
Joseph Poirier e0775801f9 formatting 2015-06-07 01:28:10 -05:00
Joseph Poirier a61bd97d9b formatting 2015-06-06 23:40:08 -05: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 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 62fc9d4f9f Fixed leak in lexer allocation, thanks to mmass@gmail.com
Issue #142


git-svn-id: http://picoc.googlecode.com/svn/trunk@585 21eae674-98b7-11dd-bd71-f92a316d2d60
2013-02-23 22:56:18 +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 cb4c34b506 Created Visual Studio 2011 project.
Modified to compile under Visual Studio 2011.

git-svn-id: http://picoc.googlecode.com/svn/trunk@572 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-10-05 10:57:24 +00:00
zik.saleeba bd7634d75b Fixed lexer compile issues from issue #135
git-svn-id: http://picoc.googlecode.com/svn/trunk@571 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-10-05 09:50:42 +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 4919d40cd2 Removed superseded math library references.
git-svn-id: http://picoc.googlecode.com/svn/trunk@541 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-15 22:59:45 +00:00
zik.saleeba 3893e46c26 Fixed a problem with invalid memory access during macro definition.
git-svn-id: http://picoc.googlecode.com/svn/trunk@519 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-14 06:04:29 +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 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 e45e455b9b Now handling multi-line string constants correctly.
Also handling either LF newlines or CR/LF newlines in multi-line string constants correctly.
Changed handling of multi-line comments to use the new, simpler Lexer->EmitExtraNewlines field.
Made FANCY_ERROR_REPORTING standard to reduce code obfuscation.
Fixed issue 98.


git-svn-id: http://picoc.googlecode.com/svn/trunk@473 21eae674-98b7-11dd-bd71-f92a316d2d60
2010-07-27 10:35:54 +00:00
zik.saleeba 4ecfc1c66b Fixed a problem where multi-line C comments with blank lines in them were causing incorrect line number reporting.
git-svn-id: http://picoc.googlecode.com/svn/trunk@471 21eae674-98b7-11dd-bd71-f92a316d2d60
2010-07-24 16:49:27 +00:00
zik.saleeba 036f3efa8b Fixed a problem with variable declarations in inner blocks giving errors. bug#82.
git-svn-id: http://picoc.googlecode.com/svn/trunk@470 21eae674-98b7-11dd-bd71-f92a316d2d60
2010-07-24 16:07:56 +00:00
zik.saleeba 3deb0908bb Now recognising and ignoring "static".
Recognising and ignoring 'L' following integer constants.
Tallying the line count in multi-line C-style comments more correctly.



git-svn-id: http://picoc.googlecode.com/svn/trunk@466 21eae674-98b7-11dd-bd71-f92a316d2d60
2010-07-18 20:27:05 +00:00
zik.saleeba 6d20f4b02f Support for #if, #ifdef, #ifndef, #else and #endif added
git-svn-id: http://picoc.googlecode.com/svn/trunk@464 21eae674-98b7-11dd-bd71-f92a316d2d60
2010-07-18 13:42:07 +00:00
zik.saleeba 145a99a7b1 Completed parameterised macros
git-svn-id: http://picoc.googlecode.com/svn/trunk@463 21eae674-98b7-11dd-bd71-f92a316d2d60
2010-07-11 18:44:07 +00:00
zik.saleeba 7c754bad48 Can now parse parameterised macros. Can't evaluate them yet though.
git-svn-id: http://picoc.googlecode.com/svn/trunk@462 21eae674-98b7-11dd-bd71-f92a316d2d60
2010-07-08 04:52:05 +00:00
zik.saleeba e977f325ae Now has the ability to use GNU readline for input editing
git-svn-id: http://picoc.googlecode.com/svn/trunk@461 21eae674-98b7-11dd-bd71-f92a316d2d60
2010-07-05 19:53:34 +00:00
zik.saleeba d63865fd83 Fixed a problem where entering a single character on a line would cause
an assertion failure.


git-svn-id: http://picoc.googlecode.com/svn/trunk@450 21eae674-98b7-11dd-bd71-f92a316d2d60
2010-07-03 13:09:37 +00:00
zik.saleeba 06acdabc6f Fixed compile on cygwin
git-svn-id: http://picoc.googlecode.com/svn/trunk@446 21eae674-98b7-11dd-bd71-f92a316d2d60
2010-06-29 10:28:13 +00:00
zik.saleeba 907f2b26d9 Changed "NativePointer" to "Pointer" for brevity
git-svn-id: http://picoc.googlecode.com/svn/trunk@437 21eae674-98b7-11dd-bd71-f92a316d2d60
2010-06-13 14:41:03 +00:00
zik.saleeba a591133f35 Added support for #include of predefined libraries.
Created a stdio.h predefined library.


git-svn-id: http://picoc.googlecode.com/svn/trunk@420 21eae674-98b7-11dd-bd71-f92a316d2d60
2010-06-05 19:00:46 +00:00
zik.saleeba 54ad31d6d3 Fixed a problem with lexing very large hex constants as reported by Sen Chang in issue #78.
git-svn-id: http://picoc.googlecode.com/svn/trunk@417 21eae674-98b7-11dd-bd71-f92a316d2d60
2010-06-02 19:31:51 +00:00
zik.saleeba 3f113f1f16 Did I remove this by accident?
git-svn-id: http://picoc.googlecode.com/svn/trunk@403 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-11-22 11:40:46 +00:00
zik.saleeba d09e156558 Fixes for Surveyor SRV-1 platform
git-svn-id: http://picoc.googlecode.com/svn/trunk@398 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-11-08 19:23:50 +00:00
zik.saleeba e75518e139 Changed the way that arrays are represented to a simpler one without
the extra level of indirection.
Fixed various array-related problems, including array assignment
which is issue #49.


git-svn-id: http://picoc.googlecode.com/svn/trunk@373 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-11-04 02:02:37 +00:00
zik.saleeba f1aeadb077 Removed redundant "struct ArrayValue"
git-svn-id: http://picoc.googlecode.com/svn/trunk@369 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-11-01 21:10:48 +00:00
zik.saleeba 18acb6dc1a Removed old pointer system. Now it's "native pointers" all the way.
git-svn-id: http://picoc.googlecode.com/svn/trunk@368 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-11-01 21:02:31 +00:00
zik.saleeba 425c86d365 Debug removed
git-svn-id: http://picoc.googlecode.com/svn/trunk@363 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-10-31 14:22:35 +00:00
zik.saleeba ed26e6716b Fixed an annoying problem with entering functions interactively.
Includes a heap of debug.


git-svn-id: http://picoc.googlecode.com/svn/trunk@362 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-10-31 14:18:46 +00:00
zik.saleeba 172e6e5e8b Fixed problem with negative exponents in floating point constants (issue #62)
git-svn-id: http://picoc.googlecode.com/svn/trunk@355 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-10-29 19:26:47 +00:00
zik.saleeba 8c7434424d Native pointers no longer carry their size with them.
git-svn-id: http://picoc.googlecode.com/svn/trunk@344 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-10-23 19:01:32 +00:00
zik.saleeba 196331d6ba 'short' data type added
git-svn-id: http://picoc.googlecode.com/svn/trunk@340 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-10-11 11:09:07 +00:00
zik.saleeba 32727cc365 Native pointers feature added
git-svn-id: http://picoc.googlecode.com/svn/trunk@331 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-06-05 00:55:54 +00:00
zik.saleeba 3a1e39f9d3 New fancy error reporting feature makes nice error messages
git-svn-id: http://picoc.googlecode.com/svn/trunk@330 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-06-04 07:41:06 +00:00
zik.saleeba b55ab05d48 Added support for octal and hex character constants
git-svn-id: http://picoc.googlecode.com/svn/trunk@326 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-06-03 02:57:23 +00:00
zik.saleeba eb6f323f06 HeapAlloc() changed to HeapAllocMem() to avoid clash with win32 namespace.
git-svn-id: http://picoc.googlecode.com/svn/trunk@321 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-06-02 08:00:02 +00:00
zik.saleeba bb0d19a733 Now conforms fully to the ISO C90 standard
git-svn-id: http://picoc.googlecode.com/svn/trunk@320 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-06-02 07:50:46 +00:00