Commit graph

205 commits

Author SHA1 Message Date
zik.saleeba a414de85e5 getchar()/gets() implemented
git-svn-id: http://picoc.googlecode.com/svn/trunk@205 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-15 09:57:19 +00:00
zik.saleeba 70d48e75d7 Updated tests to reflect the removal of sayhello() and printint()
git-svn-id: http://picoc.googlecode.com/svn/trunk@204 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-15 09:09:38 +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 436b0cafc0 Conditional support for #include for surveyor
git-svn-id: http://picoc.googlecode.com/svn/trunk@202 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-12 20:44:50 +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 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 c403ddcd04 Updated TODO
git-svn-id: http://picoc.googlecode.com/svn/trunk@198 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-11 22:36:25 +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 815dc75dbd Count now ignores comment and blank lines
git-svn-id: http://picoc.googlecode.com/svn/trunk@196 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-11 10:23:40 +00:00
zik.saleeba 6f7daf0145 Now cleaning up types too
git-svn-id: http://picoc.googlecode.com/svn/trunk@195 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-11 10:17:46 +00:00
zik.saleeba 028c98d665 Now cleaning up more stuff
git-svn-id: http://picoc.googlecode.com/svn/trunk@194 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-11 10:01:32 +00:00
zik.saleeba 3448e70551 Memory cleanup now works
git-svn-id: http://picoc.googlecode.com/svn/trunk@193 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-11 09:50:11 +00:00
zik.saleeba a22c243c06 Doing some work on cleaning up more nicely on exit.
Also allowing the use of the native heap allocator as an option.

git-svn-id: http://picoc.googlecode.com/svn/trunk@192 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-11 02:19:18 +00:00
zik.saleeba d48345a9ea Safety check for bucket sizes
git-svn-id: http://picoc.googlecode.com/svn/trunk@191 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-11 01:59:22 +00:00
zik.saleeba 8d315824b5 Fixed a problem with heap allocation when splitting large blocks from the free list
git-svn-id: http://picoc.googlecode.com/svn/trunk@190 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-10 23:32:36 +00:00
zik.saleeba 201019ce2d Removed debug which was accidentally checked in
git-svn-id: http://picoc.googlecode.com/svn/trunk@189 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-10 23:02:06 +00:00
zik.saleeba 7306924785 Fixed a null-termination bug in StrRegister()
git-svn-id: http://picoc.googlecode.com/svn/trunk@188 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-10 21:59:18 +00:00
zik.saleeba 6a586cee75 Fixed bug in enum declaration requiring a variable name
git-svn-id: http://picoc.googlecode.com/svn/trunk@187 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-10 08:03:10 +00:00
zik.saleeba 588353449e Updated TODO
git-svn-id: http://picoc.googlecode.com/svn/trunk@186 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-10 04:11:03 +00:00
zik.saleeba 9769bd432b Fixed problem with 'return' parsing which was causing the factorial example to fail
git-svn-id: http://picoc.googlecode.com/svn/trunk@185 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-10 02:18:17 +00:00
zik.saleeba bee7e23212 Functions with no parameters tested and passed
git-svn-id: http://picoc.googlecode.com/svn/trunk@184 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-10 02:04:19 +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 8d76edfe4b #include now works
git-svn-id: http://picoc.googlecode.com/svn/trunk@182 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-10 01:01:57 +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 23bce9d38a enums implemented
git-svn-id: http://picoc.googlecode.com/svn/trunk@180 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-09 22:36:01 +00:00
zik.saleeba 2f5a46681e Nesting test added
git-svn-id: http://picoc.googlecode.com/svn/trunk@179 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-09 20:48:26 +00:00
zik.saleeba 460a8df81f Added missing tests
git-svn-id: http://picoc.googlecode.com/svn/trunk@178 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-09 00:49:01 +00:00
zik.saleeba 1fd07ea9a2 Corrected test
git-svn-id: http://picoc.googlecode.com/svn/trunk@177 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-09 00:45:33 +00:00
zik.saleeba b9990d2c39 Functions returning void fixed
git-svn-id: http://picoc.googlecode.com/svn/trunk@176 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-09 00:43:31 +00:00
zik.saleeba 1b312544d9 'else' fixed, along with semicolon handling
git-svn-id: http://picoc.googlecode.com/svn/trunk@175 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-09 00:34:32 +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
surveyor.com 0f5675271d added support for interactive mode in SURVEYOR_HOST
added neural net functions for SURVEYOR_HOST



git-svn-id: http://picoc.googlecode.com/svn/trunk@173 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-08 23:53:19 +00:00
zik.saleeba 1169e6f909 Prompt changes
git-svn-id: http://picoc.googlecode.com/svn/trunk@172 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-08 23:03:59 +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
zik.saleeba 679e235822 TODO updated
git-svn-id: http://picoc.googlecode.com/svn/trunk@169 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-08 04:35:58 +00:00
zik.saleeba 1c765127ac Nicer prompt
git-svn-id: http://picoc.googlecode.com/svn/trunk@168 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-08 04:32:14 +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 2e0ff8774c Added missing tests
git-svn-id: http://picoc.googlecode.com/svn/trunk@166 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-08 01:10:29 +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
zik.saleeba 9780c54403 LexCopyTokens() now handles multi-line copies in preparation for interactive mode.
git-svn-id: http://picoc.googlecode.com/svn/trunk@163 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-07 11:08:00 +00:00
zik.saleeba f5fac3fdf2 First stab at making lists of tokens from interactive input. Not ready yet.
git-svn-id: http://picoc.googlecode.com/svn/trunk@162 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-07 07:49:17 +00:00
zik.saleeba 8a5ed05fd2 Now copying function tokens so when we're in interactive mode we can free the original tokens without
losing the box and dice.


git-svn-id: http://picoc.googlecode.com/svn/trunk@161 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-07 06:17:11 +00:00
zik.saleeba 4e0f734572 Updated TODO
git-svn-id: http://picoc.googlecode.com/svn/trunk@160 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-06 10:42:37 +00:00
zik.saleeba 86bb48b158 #define now works for simple unparameterised expression macros
git-svn-id: http://picoc.googlecode.com/svn/trunk@159 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-06 07:27:45 +00:00
zik.saleeba 6436319fa6 Updated TODO
git-svn-id: http://picoc.googlecode.com/svn/trunk@158 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-06 06:11:05 +00:00
zik.saleeba 3bdbb51d5c Now allowing multiple declarations in one statement
git-svn-id: http://picoc.googlecode.com/svn/trunk@157 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-06 06:00:51 +00:00
zik.saleeba 8b410241ee Declarations can now assign an initial value
git-svn-id: http://picoc.googlecode.com/svn/trunk@156 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-03-06 04:55:11 +00:00