zik.saleeba
e267efdb96
Changed order of initialisation to fix reserved word bug
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@54 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-02 22:35:34 +00:00
zik.saleeba
7cd75ae05b
Some cleanup of memory references
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@53 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-02 22:33:51 +00:00
zik.saleeba
b0c3f9d63d
Uninitialised memory bug fixed
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@52 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-02 22:33:07 +00:00
zik.saleeba
8fcc680dd2
Size error in big allocation fixed
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@51 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-02 22:32:24 +00:00
zik.saleeba
bd37037d5f
Freeing tokens after intrinsic parse
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@50 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-02 11:51:45 +00:00
zik.saleeba
1389084b36
Fixed some egrerious bugs
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@49 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-02 11:50:55 +00:00
zik.saleeba
956efab67f
Parser is now updated to work with the new lexer and string system.
...
System now compiles - needs debug.
git-svn-id: http://picoc.googlecode.com/svn/trunk@48 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-02 11:08:36 +00:00
zik.saleeba
f8216bb79f
Type system now works with the new lexer.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@47 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-02 05:27:15 +00:00
zik.saleeba
0c0ac9b332
Lexer now supports interactive input.
...
Lexer now pre-scans the source and returns a buffer of tokens.
Heap can provide unallocated memory for a temporary buffer.
git-svn-id: http://picoc.googlecode.com/svn/trunk@46 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-02 04:53:45 +00:00
zik.saleeba
8bd1c18d24
Converting to use shared strings
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@45 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-02 03:27:05 +00:00
zik.saleeba
a9a93f3aa4
Now uses the benefits of shared strings to simplify the hash table for value lookups.
...
Added a more compact way of storing shared string hash chains.
git-svn-id: http://picoc.googlecode.com/svn/trunk@44 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-02 03:25:15 +00:00
zik.saleeba
86af5318da
Bulko lexer change for more efficient pre-scanned tokens.
...
Removed Str type - replaced with standard C strings.
Added hashed string tables for efficient string storage.
git-svn-id: http://picoc.googlecode.com/svn/trunk@43 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-01 11:31:18 +00:00
zik.saleeba
921ccdf17d
Fixed a bug in HeapFree().
...
Allowed for coalescing frees on the bottom of the heap.
git-svn-id: http://picoc.googlecode.com/svn/trunk@42 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-01 03:39:16 +00:00
zik.saleeba
2d7b467b96
Changed from a linear probing hash table to a hash chain method since we now have better storage allocation. This is more space efficient and removes the static limits on local variable table sizes.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@41 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-29 22:26:04 +00:00
zik.saleeba
b2396d3eda
Now stack frames appear on our new stack as they should. The old static
...
limits are gone.
git-svn-id: http://picoc.googlecode.com/svn/trunk@40 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-29 11:10:46 +00:00
zik.saleeba
86cea880e3
Changed away from old FunctionStore approach now that I have dynamic
...
allocation available.
git-svn-id: http://picoc.googlecode.com/svn/trunk@39 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-29 10:56:50 +00:00
zik.saleeba
75e45704e8
Bulk changes to accomodate the new storage model.
...
The system now compiles again (probably doesn't run though).
git-svn-id: http://picoc.googlecode.com/svn/trunk@38 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-26 08:57:32 +00:00
zik.saleeba
4524270e50
Changing everything to handled heap-allocated values
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@37 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-25 02:09:44 +00:00
zik.saleeba
b9e1086cbb
Moving towards a working new type system
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@36 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-24 03:15:02 +00:00
zik.saleeba
fad5c6db69
Big changes and progress towards the new type system. Doesn't compile right now. Maybe tomorrow.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@35 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-23 11:34:12 +00:00
zik.saleeba
a59be13de3
Now compiles with some of the new structure in place
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@34 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-21 09:02:05 +00:00
zik.saleeba
626c29a639
Working on the heap and the new type system. Doesn't compile right now.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@33 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-21 00:52:42 +00:00
zik.saleeba
df1d001b76
Added TODO file
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@32 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-05 11:30:12 +00:00
zik.saleeba
f400c36949
Added comment test case
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@31 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-05 10:53:44 +00:00
zik.saleeba
a15cf7dd36
Fixed a problem with passing unnamed parameters.
...
Fixed a problem with file reading.
git-svn-id: http://picoc.googlecode.com/svn/trunk@30 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-05 05:50:04 +00:00
zik.saleeba
ef8969d975
Added lexer token caching for improved performance
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@29 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-05 04:52:33 +00:00
zik.saleeba
883c862474
#include implemented
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@28 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-05 04:38:19 +00:00
zik.saleeba
93a6dffee4
#define macros implemented
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@27 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-05 04:28:54 +00:00
zik.saleeba
995266ce9c
Added test framework.
...
Implemented preprocessor-style directives (not finished yet).
git-svn-id: http://picoc.googlecode.com/svn/trunk@26 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-04 04:08:49 +00:00
zik.saleeba
939c68cd4d
Intrinsic functions implemented
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@25 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-27 04:36:45 +00:00
zik.saleeba
bf0fe101e5
Support for floating point output added
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@24 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-27 03:04:58 +00:00
zik.saleeba
224a90dca3
Fixed bug in scoping accessing all stack frames, not just local and
...
global
git-svn-id: http://picoc.googlecode.com/svn/trunk@23 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-27 02:28:29 +00:00
zik.saleeba
704f20e1c4
Added floating point support
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@22 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-27 02:25:49 +00:00
zik.saleeba
a8008e9ac7
Function calls now work.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@21 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-24 03:27:53 +00:00
zik.saleeba
69113a26c6
Function calls added
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@20 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-24 02:30:29 +00:00
zik.saleeba
252e1339d6
Type and parameter parsing - working toward function handling.
...
"plain token" lexical analysis for brevity.
git-svn-id: http://picoc.googlecode.com/svn/trunk@19 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-22 11:52:31 +00:00
zik.saleeba
e5920c041c
Local variables implemented
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@18 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-22 02:29:19 +00:00
zik.saleeba
b57f0eac65
Simple counting loops now work
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@17 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-21 03:46:32 +00:00
zik.saleeba
ebf601bfb9
Removed unused path in TableSet()
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@16 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-21 03:13:25 +00:00
zik.saleeba
eba1492fcb
Function definitions implemented.
...
Lexer changed to not carry values in LexState.
git-svn-id: http://picoc.googlecode.com/svn/trunk@15 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-21 01:36:09 +00:00
zik.saleeba
19fbe151ff
Fixed a number lexing bug.
...
Fixed an assignment bug.
Beginnings of function handling.
Now can run a simple program for the first time.
git-svn-id: http://picoc.googlecode.com/svn/trunk@14 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-20 11:46:21 +00:00
zik.saleeba
42c28c78c7
Neatened calling and error handling.
...
Parser now handles assignment.
git-svn-id: http://picoc.googlecode.com/svn/trunk@13 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-20 10:24:34 +00:00
zik.saleeba
553e501460
Fixed decimal printing
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@12 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-19 07:26:41 +00:00
zik.saleeba
ead3f08671
Updated hello.c to current syntax.
...
Fixed a bug in string constant handling.
git-svn-id: http://picoc.googlecode.com/svn/trunk@11 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-19 04:24:55 +00:00
zik.saleeba
a41ac67b50
Now compiles
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@10 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-12-19 00:22:52 +00:00
zik.saleeba
8cfd9c6013
Wrote much of the parser
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@9 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-11-22 02:56:08 +00:00
zik.saleeba
50c7494508
Starting the parser
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@8 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-10-16 07:04:23 +00:00
zik.saleeba
5ddfcfd14a
Completed lexer.
...
Removed dependence on strtol()
git-svn-id: http://picoc.googlecode.com/svn/trunk@7 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-10-15 02:09:47 +00:00
zik.saleeba
d89cc62990
More lexiness
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@6 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-10-14 11:46:42 +00:00
zik.saleeba
96674aad41
Now uses internal printf
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@5 21eae674-98b7-11dd-bd71-f92a316d2d60
2008-10-14 11:18:43 +00:00