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
zik.saleeba
9f9728dab5
Made it so a null character causes EOF. This shouldn't really be necessary but maybe it makes it easier for some implementations.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@317 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-06-02 06:40:47 +00:00
zik.saleeba
022e09a7a6
Fixed a bug which was causing decimal constants less than zero to be interpreted as octal
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@308 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-05-29 00:40:45 +00:00
zik.saleeba
4bc228c439
Fixed bogus references to native math library
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@306 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-05-29 00:21:58 +00:00
zik.saleeba
da2cd4805d
Fixed an annoying bug which looked like a floating point issue but was in fact a string lexer issue.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@291 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-05-27 03:23:41 +00:00
zik.saleeba
6015fc5694
Fixed return of floating point tokens
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@289 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-05-27 00:06:09 +00:00
zik.saleeba
5cece5090c
Fixed a painful bug which was causing numbers to be corrupted on
...
the surveyor architecture. Why this didn't cause a problem on x86
I'll never know.
git-svn-id: http://picoc.googlecode.com/svn/trunk@281 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-05-16 12:51:55 +00:00
zik.saleeba
a76fc34881
By popular demand I'm adding support for native pointers. It's a work in progress - not working yet.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@277 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-05-06 00:25:09 +00:00
zik.saleeba
bd9cb90e02
Added the beginnings of flying fox platform support.
...
Removed some annoying debug.
Made it easier to compile unmodified on non-UNIX systems.
git-svn-id: http://picoc.googlecode.com/svn/trunk@274 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-05-04 12:02:16 +00:00
zik.saleeba
4ea76ea5b3
Changed dereferencing to handle arrays correctly.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@269 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-26 03:26:04 +00:00
zik.saleeba
95f2b3e193
Characters are now actually stored as char and coerced to other types when necessary.
...
Parameters are passed as the requested types and coerced where appropriate.
Assignments are now a function rather than a macro.
Cleaned up some comments in lex.c.
Small valued integer constants are passed as char constants to save space.
git-svn-id: http://picoc.googlecode.com/svn/trunk@262 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-22 12:06:58 +00:00
zik.saleeba
61174fb115
Interactive mode error handling fixed for surveyor.
...
All surveyor warnings fixed.
git-svn-id: http://picoc.googlecode.com/svn/trunk@216 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-04 03:11:12 +00:00
zik.saleeba
1ab28fcfb7
Took a first stab at implementing new/delete. Needs a bit more thought on how to handle dangling references to deallocated storage.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@211 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-16 04:25:58 +00:00
zik.saleeba
ce80c66e8f
Added new "delete" keyword, used for undefining variables or functions
...
in interactive mode.
git-svn-id: http://picoc.googlecode.com/svn/trunk@206 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-15 10:44:56 +00:00
zik.saleeba
207549bf17
Reorganised platform/library stuff for better separation between
...
platforms.
Removed unnecessary union in pointers.
git-svn-id: http://picoc.googlecode.com/svn/trunk@203 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-15 07:07:21 +00:00
zik.saleeba
48a6472c68
All allocations are now cleaned up neatly on exit. This is probably unnecessary given that we run our own heap but gives confidence that there are no internal memory leaks.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@199 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-11 23:49:10 +00:00
zik.saleeba
0523bd570d
String literal array values are now shared and deallocated cleanly
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@197 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-11 22:28:42 +00:00
zik.saleeba
b8aedfe050
Fixed bugs in LexCopyTokens() which were affecting multi-line function definitions in interactive mode
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@183 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-10 02:01:12 +00:00
zik.saleeba
46c4bad533
Interactive mode now works.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@167 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-08 04:26:28 +00:00
zik.saleeba
878e545b20
Hexadecimal, octal and binary integer literals added
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@165 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-08 01:09:42 +00:00
zik.saleeba
05d377e49d
First stab at interactive mode needs debug.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@164 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-07 11:23:42 +00:00