zik.saleeba
d6a7ac7c14
Redesigned the test system
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@67 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-10 06:13:14 +00:00
zik.saleeba
a8b4b08d93
Implemented the '.' operator for struct/union member access
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@66 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-09 11:40:56 +00:00
zik.saleeba
c9abac9fad
Fixed an EOF lexing problem.
...
Added some optional debug.
Turned debug off.
Fixed handling of LValues to work with stack frames better.
Fixed the handling of stack frames in function calls.
Fixed a bug in popping variable stack frames.
git-svn-id: http://picoc.googlecode.com/svn/trunk@65 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-04 00:17:30 +00:00
zik.saleeba
a9494ff382
Put a better (but slower) string hash function back in since it's only used at lex time now.
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@64 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-03 22:05:11 +00:00
zik.saleeba
70cc4eae49
Fixed lexer EOF handling when whitespace at end of file
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@63 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-03 11:09:07 +00:00
zik.saleeba
bd30654f74
Fixed a problem with VariableAllocValueAndData() allocating the wrong amount of memory.
...
Fixed a problem with type parsing.
git-svn-id: http://picoc.googlecode.com/svn/trunk@62 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-03 10:39:48 +00:00
zik.saleeba
943aa9cf97
Added some heap debug
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@61 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-03 06:27:34 +00:00
zik.saleeba
c009864bbb
Fixed type parsing error
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@60 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-03 00:46:02 +00:00
zik.saleeba
d95e7debf8
Fixed off-by-one error in LexGetToken()
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@59 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-03 00:43:13 +00:00
zik.saleeba
11fd7f0f16
Fixed handling of interactive input at EOF
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@58 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-03 00:23:13 +00:00
zik.saleeba
5b1d4a611f
More compact storage of lex token values
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@57 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-03 00:13:50 +00:00
zik.saleeba
44117cde04
Fixed fallthrough problem in lexer
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@56 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-02 23:45:34 +00:00
zik.saleeba
0547bcaff0
Increased heap size to 8k
...
git-svn-id: http://picoc.googlecode.com/svn/trunk@55 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-02-02 22:35:59 +00:00
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