Commit graph

132 commits

Author SHA1 Message Date
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 16c5b72f4d Pointer comparison operations implemented
git-svn-id: http://picoc.googlecode.com/svn/trunk@260 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-22 08:19:52 +00:00
zik.saleeba e5fa7017f0 Better checks on pointers.
Pointer offsets are now honoured.


git-svn-id: http://picoc.googlecode.com/svn/trunk@259 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-22 07:23:26 +00:00
zik.saleeba 8c918707f2 Added checks for NULL pointer dereference
git-svn-id: http://picoc.googlecode.com/svn/trunk@258 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-22 01:58:03 +00:00
zik.saleeba 096def8f55 Pointer arithmetic and NULL pointer support added
git-svn-id: http://picoc.googlecode.com/svn/trunk@255 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-19 11:49:01 +00:00
zik.saleeba 7c2ce7290a Fixes for a clean surveyor compile
git-svn-id: http://picoc.googlecode.com/svn/trunk@253 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-19 01:15:01 +00:00
zik.saleeba 94e051c9c9 The new expression system is now the mainstream expression evaluator. Hoorah!
git-svn-id: http://picoc.googlecode.com/svn/trunk@249 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-15 10:49:22 +00:00
zik.saleeba 2e22614595 Final problems with the new expression system fixed
git-svn-id: http://picoc.googlecode.com/svn/trunk@248 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-15 10:47:51 +00:00
zik.saleeba 7cb2079af4 Macros implemented
git-svn-id: http://picoc.googlecode.com/svn/trunk@245 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-15 06:57:02 +00:00
zik.saleeba 883db65e15 '->' now works in the new expression system.
git-svn-id: http://picoc.googlecode.com/svn/trunk@244 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-15 06:40:56 +00:00
zik.saleeba 8339e586d1 Fixed a problem with assignment of non-numeric types
git-svn-id: http://picoc.googlecode.com/svn/trunk@242 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-15 05:26:46 +00:00
zik.saleeba 031edfb7ab Problem with ending expressions fixed in new expression system.
Problem with handling ternary operators in case values fixed (those colons are tricky).


git-svn-id: http://picoc.googlecode.com/svn/trunk@233 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-14 23:44:49 +00:00
zik.saleeba 9fdee50576 Case expression handling fixed.
git-svn-id: http://picoc.googlecode.com/svn/trunk@232 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-14 08:44:47 +00:00
zik.saleeba ca628b8cb3 Array indexing now works in the new expression system.
git-svn-id: http://picoc.googlecode.com/svn/trunk@231 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-14 06:55:00 +00:00
zik.saleeba d034ded5fc Structs now work in the new expression system.
Tests 03 and 04 now pass.


git-svn-id: http://picoc.googlecode.com/svn/trunk@230 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-14 03:18:40 +00:00
zik.saleeba 9e24449497 Problems with increment/decrement operators fixed in new expression system.
Test 02_printf now works.


git-svn-id: http://picoc.googlecode.com/svn/trunk@229 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-13 09:02:45 +00:00
zik.saleeba 1877ab67aa New expression system now successfully evaluates simple expressions.
git-svn-id: http://picoc.googlecode.com/svn/trunk@228 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-13 06:57:32 +00:00
zik.saleeba 8038424d1a Removed diagnostics
git-svn-id: http://picoc.googlecode.com/svn/trunk@225 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-11 06:36:40 +00:00
zik.saleeba 9e75ab3760 Temporarily added some test for the parameter passing problem Howard found.
git-svn-id: http://picoc.googlecode.com/svn/trunk@222 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-08 12:00:45 +00:00
zik.saleeba 74673d965a More work on expressions. Trying to get variable lookups to work in the new system.
git-svn-id: http://picoc.googlecode.com/svn/trunk@217 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-04-05 02:24:00 +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 79c7619dab New expression system now handles simple numeric values
git-svn-id: http://picoc.googlecode.com/svn/trunk@214 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-30 11:16:40 +00:00
zik.saleeba 45a378231b More work on expressions
git-svn-id: http://picoc.googlecode.com/svn/trunk@213 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-29 11:08:03 +00:00
zik.saleeba 8baa2f71f7 Fixed a pile of compile errors
git-svn-id: http://picoc.googlecode.com/svn/trunk@212 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-28 11:10:34 +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 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 c65cd8256b More work on the new expression evaluator
git-svn-id: http://picoc.googlecode.com/svn/trunk@201 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-12 10:49:57 +00:00
zik.saleeba 36e58ab475 Stack handling for new expression evaluator
git-svn-id: http://picoc.googlecode.com/svn/trunk@200 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-12 02:21:12 +00:00
zik.saleeba 456a83da75 '->' operator implemented
git-svn-id: http://picoc.googlecode.com/svn/trunk@181 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-09 23:18:04 +00:00
zik.saleeba 08cd7e8328 Changed prompt for surveyor
git-svn-id: http://picoc.googlecode.com/svn/trunk@174 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-09 00:07:44 +00:00
zik.saleeba fab9d6ed1e More work on operator precedence. Plenty to do yet.
git-svn-id: http://picoc.googlecode.com/svn/trunk@171 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-08 08:40:05 +00:00
zik.saleeba dc04ba8dd0 Split parsing across two files parse.c and the new expression.c
git-svn-id: http://picoc.googlecode.com/svn/trunk@170 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-08 07:56:28 +00:00