Irmen de Jong
e384822b2c
array size in vardecl is optional when initializer array value is given
2019-04-16 01:19:51 +02:00
Irmen de Jong
a9bbe0bc40
removed the memory keyword instead use & now (reuse the address-of operator to reduce the number of different concepts in the grammar)
2019-04-12 22:00:32 +02:00
Irmen de Jong
0820716e7b
added sqrt16() integer square root
2019-03-16 19:25:47 +01:00
Irmen de Jong
d9d83248fe
implemented strlen() function
2019-03-15 23:10:26 +01:00
Irmen de Jong
06f0984fa1
docs about irq handlers
2019-03-07 01:02:11 +01:00
Irmen de Jong
77dc35dc6a
added read_flags() function, uword2bcd routine no longer enables irq again if it wasn't enabled before calling it.
2019-03-05 23:10:00 +01:00
Irmen de Jong
5ea2f2d4db
docs about @zp tag
2019-02-28 00:13:59 +01:00
Irmen de Jong
2f1249489b
datatype cleanups
2019-02-25 01:22:56 +01:00
Irmen de Jong
73b0cc4056
docs
2019-01-31 23:46:58 +01:00
Irmen de Jong
204cc03fc8
doc
2019-01-26 23:28:28 +01:00
Irmen de Jong
fa8a3c997a
Expressions can now be split over multiple lines. Fixed datatype of len().
2019-01-26 17:32:26 +01:00
Irmen de Jong
d37c9d1680
argument type casts for builtin functions, added memset, tweaked memcopy/memset assembly a bit
2019-01-23 00:19:29 +01:00
Irmen de Jong
75b38d7b84
added swap() slow version
2019-01-18 01:33:54 +01:00
Irmen de Jong
b2ecf16234
fixed some array length loop issues
2019-01-09 22:28:04 +01:00
Irmen de Jong
46c282d6d5
created mkword function
2019-01-09 01:03:33 +01:00
Irmen de Jong
58854ef45b
doc fix
2019-01-08 02:25:22 +01:00
Irmen de Jong
295f7a6c6e
added unsigned versions of sin and cos (0..255, 0..65535)
2019-01-06 22:56:06 +01:00
Irmen de Jong
9f4ac37a00
split off c64flt library for all floating point routines
2019-01-05 16:09:05 +01:00
Irmen de Jong
32d82e8e56
asmsubs can now specify params and return values to be on the stack.
...
implemented fast integer fixed-point sin and cosine functions.
2019-01-04 22:11:46 +01:00
Irmen de Jong
2f9eabeac7
c64 irq handling routines
2019-01-02 02:47:52 +01:00
Irmen de Jong
c2eb181b5a
added memcopy function
2019-01-01 18:38:43 +01:00
Irmen de Jong
ac8e7f4fa9
made setting/restoring the IRQ vector explicit
2019-01-01 18:05:50 +01:00
Irmen de Jong
a319e6f9ec
direct memory access and sprite fixes
2018-12-31 04:48:26 +01:00
Irmen de Jong
aeb963673a
sprites example
2018-12-31 01:52:18 +01:00
Irmen de Jong
500777bf78
added direct memory access ("poke"/"peek")
2018-12-31 01:10:42 +01:00
Irmen de Jong
904e317781
cleanups, fix scope of certain generated nodes in for loops
2018-12-25 01:05:38 +01:00
Irmen de Jong
d55bbcf706
removed string conversion builtin functions, they're now subroutines in c64util
2018-12-22 01:07:43 +01:00
Irmen de Jong
ee893e5a2c
multiplications
2018-12-20 23:28:03 +01:00
Irmen de Jong
5870006b2f
introduced type cast "... as ..." instead of builtin functions
2018-12-20 03:17:41 +01:00
Irmen de Jong
3a7b341f47
fixes
2018-12-18 18:32:41 +01:00
Irmen de Jong
ca1d6bff56
log functions
2018-12-18 02:02:19 +01:00
Irmen de Jong
bcfb390077
optimizations
2018-12-17 15:52:37 +01:00
Irmen de Jong
be819ba8a7
got the number guessing example fully working on c64 asm
2018-12-11 00:09:37 +01:00
Irmen de Jong
f070dc22bb
save X register automatically when calling sub that clobbers X
2018-12-09 19:48:59 +01:00
Irmen de Jong
6c8354aef0
taking the address of strings and arrays
2018-11-23 00:31:21 +01:00
Irmen de Jong
069f6ea372
improved assignment of single character values and strings
2018-11-22 00:58:21 +01:00
Irmen de Jong
d6432df90d
got rid of 16-bit register pair variables (AX, AY, XY) they were complicating things too much
2018-11-02 22:06:57 +01:00
Irmen de Jong
5bf2c4a798
got rid of matrix type
2018-10-30 20:29:03 +01:00
Irmen de Jong
1fea9e3bc4
matrix doc
2018-10-27 22:16:18 +02:00
Irmen de Jong
a825bbff96
fix array problems, limit size of arrays.
2018-10-23 00:52:51 +02:00
Irmen de Jong
ba384c9722
rsave/rrestore added
2018-10-14 22:32:03 +02:00
Irmen de Jong
987915a77a
doc
2018-10-12 18:01:40 +02:00
Irmen de Jong
7aec14524e
fix datatype conversion issues
2018-10-12 15:50:32 +02:00
Irmen de Jong
42394f561b
syntax checks on asmsubs
2018-10-08 22:35:39 +02:00
Irmen de Jong
34d26e42e1
fixed some type checks
2018-10-07 02:05:26 +02:00
Irmen de Jong
30b58c8567
variables are reset to their declared value when entering the scope again
2018-10-07 00:21:13 +02:00
Irmen de Jong
6edd5f9b30
can now declare for loop variable on the spot
2018-10-06 22:54:03 +02:00
Irmen de Jong
1d37841575
for, while, repeat, if, branch bodies are now (anonymous) symbol scopes
2018-10-06 18:42:06 +02:00
Irmen de Jong
a7abc32368
wrd and wrdhi functions added for byte-word conversion, more constant folding optimizations
2018-10-06 00:10:30 +02:00
Irmen de Jong
4501276217
cube3d and tweaks
2018-10-03 01:57:16 +02:00
Irmen de Jong
38e7d48492
implemented floating-point arrays
2018-10-02 02:20:42 +02:00
Irmen de Jong
0cdae48ce7
implemented array indexing
2018-10-01 22:23:16 +02:00
Irmen de Jong
623b42cc14
added single character literals (petscii byte value)
2018-09-30 23:07:26 +02:00
Irmen de Jong
3278d4c945
fixed function calls, added some string-to-number conversion functions
2018-09-30 22:43:34 +02:00
Irmen de Jong
02075f2cf2
changed subroutine syntax and fixed array/matrix initalizer values
2018-09-30 18:49:58 +02:00
Irmen de Jong
c5d251073f
removed broken unused symbol clean up for now
...
streamlined irq routine handling and compilation
2018-09-28 21:28:16 +02:00
Irmen de Jong
91f9229b07
fixed memory vars in compiler, added invalid assignment check
2018-09-27 23:21:04 +02:00
Irmen de Jong
53cd50ad48
changed float handling and appropriate compiler messages
2018-09-25 19:52:59 +02:00
Irmen de Jong
70e5a38aa2
changed set/clear carry and irqd somewhat
2018-09-24 23:38:33 +02:00
Irmen de Jong
cef0aae927
compilation of builtin functions to opcode
...
untit tests for stackvm opcodes, value and parser literalvalue
2018-09-24 22:34:12 +02:00
Irmen de Jong
68037e4425
implemented while and repeat loops
2018-09-23 02:04:45 +02:00
Irmen de Jong
f84e06bdeb
tweak branches
2018-09-22 00:33:25 +02:00
Irmen de Jong
455f60fb84
for loop and comparison expression fixes
2018-09-20 01:13:21 +02:00
Irmen de Jong
00d74551b3
fix for loop code generation.
...
added flt conversion function.
attempt at implementing break and continue.
var initializer value can be omitted for numeric vars (and default to 0)
subroutine return statement not needed when no return values.
2018-09-18 23:14:32 +02:00
Irmen de Jong
63492a1805
stackvm functions
2018-09-18 00:38:29 +02:00
Irmen de Jong
266f98a888
doc
2018-09-16 11:25:37 +02:00
Irmen de Jong
3426593a06
fixed a load of type checks regarding arrays and matrixes and strings
...
added more builtin functions to the compiler to access the syscalls in the stackVm
2018-09-16 00:06:06 +02:00
Irmen de Jong
c05cd72d23
vm tweaks
2018-09-15 18:43:23 +02:00
Irmen de Jong
e382be89db
changed source file suffix to .p8
2018-09-15 16:35:15 +02:00
Irmen de Jong
8ff72167a4
renamed project to Prog8
2018-09-15 16:21:05 +02:00
Irmen de Jong
6da048ba4c
some type conversion opcodes added
2018-09-15 04:07:42 +02:00
Irmen de Jong
70fe43a6ac
improved type checking of builtin functions
2018-09-15 03:12:30 +02:00
Irmen de Jong
28aaf38f22
made position required to avoid some bugs where it was not specified
...
fixed some type checking bugs
2018-09-15 01:28:01 +02:00
Irmen de Jong
efd3b1f5c6
matrix decl parsing and fixes
2018-09-12 03:07:49 +02:00
Irmen de Jong
8ef61ffc88
various syntax checks added
...
first steps code generation
2018-09-08 00:07:25 +02:00
Irmen de Jong
3933fdab13
added lsb, msb functions.
...
fixed missing errormessages.
changed some zp options.
2018-09-06 21:13:49 +02:00
Irmen de Jong
0b4135698e
reorder statments to please the compiler later
2018-09-06 01:35:26 +02:00
Irmen de Jong
d9865a4b97
bunch of new builtin functions, const expression evaluation now also done for array literals
2018-09-04 23:37:21 +02:00
Irmen de Jong
76d07a2de8
recursion checking and bugfix in subroutine usage determination
2018-09-03 23:19:25 +02:00
Irmen de Jong
e39ae3c346
branching instructions
2018-09-02 18:32:48 +02:00
Irmen de Jong
d4341b7afe
more builtin functions
2018-09-02 12:34:50 +02:00
Irmen de Jong
4b7d656a2f
range initializers
2018-08-14 16:29:08 +02:00
Irmen de Jong
397fdc61cd
if statement
2018-08-14 14:33:36 +02:00
Irmen de Jong
69ff680eaf
fix functions
2018-08-14 02:22:59 +02:00
Irmen de Jong
666b9b2263
functions
2018-08-14 01:15:11 +02:00
Irmen de Jong
64032d766e
%option
2018-08-13 10:51:05 +02:00
Irmen de Jong
437c948c05
grammar
2018-08-09 01:54:43 +02:00
Irmen de Jong
cee0f5bd2a
more docs. restructure project. add antlr stuff.
2018-08-07 22:49:01 +02:00
Irmen de Jong
b34ae4c91c
new docs
2018-08-07 01:23:34 +02:00
Irmen de Jong
0e785fcfb3
new docs
2018-08-06 03:35:43 +02:00