Irmen de Jong
|
7b54aa0c7d
|
more consistent naming of the statement classes
|
2021-12-28 13:56:47 +01:00 |
|
Irmen de Jong
|
6e11b8ada1
|
GoSub no longer inherits from Jump node, fixes subtle ast/codegen bugs related to jsrs
|
2021-12-28 01:55:13 +01:00 |
|
Irmen de Jong
|
98d25fc4e9
|
fix some unneeded open classes
|
2021-12-28 01:29:08 +01:00 |
|
Irmen de Jong
|
1c7c4fc3b0
|
optimized if-goto codegeneration
|
2021-12-28 00:42:00 +01:00 |
|
Irmen de Jong
|
c55fdd9834
|
removed special code generation for while and util expression (replaced by jumps)
also added exhaustive parent node checker in validation step
|
2021-12-27 02:04:28 +01:00 |
|
Irmen de Jong
|
08f87c321f
|
fixed capitalization of operator sets to be consistent with other sets names
|
2021-12-15 23:43:14 +01:00 |
|
Irmen de Jong
|
b21f7411dd
|
fix compiler crash when trying to concatenate string var and string literal.
|
2021-12-14 23:07:46 +01:00 |
|
Irmen de Jong
|
33061aaa0d
|
fix: allow scoped variables such as cx16.rX as loop variable in forloops
|
2021-12-10 14:59:04 +01:00 |
|
Irmen de Jong
|
84f75f4156
|
tweaked some more .getOrElse
|
2021-12-06 21:22:00 +01:00 |
|
Irmen de Jong
|
edffe92a24
|
astchecker is smarter in detecting rts in inline assembly
|
2021-12-05 21:28:31 +01:00 |
|
Irmen de Jong
|
81deed143b
|
fix grammar problem: \x and \u escape sequences didn't work in character literals.
|
2021-12-05 18:11:40 +01:00 |
|
Irmen de Jong
|
c92f914081
|
gradle build settings tweak to avoid jdk version conflict
|
2021-12-04 18:36:47 +01:00 |
|
Irmen de Jong
|
0498444ef2
|
moved all unit tests into single project to avoid dependency issues
|
2021-12-04 18:20:22 +01:00 |
|
Irmen de Jong
|
ce3c34e458
|
tweak in error output for file links, corrected column number off-by-one
|
2021-12-04 16:52:03 +01:00 |
|
Irmen de Jong
|
b867d8f731
|
cleanups
|
2021-12-04 01:03:51 +01:00 |
|
Irmen de Jong
|
fbcd9a0c1d
|
reduce number of similar errors for type problem in assignment
|
2021-12-02 17:44:52 +01:00 |
|
Irmen de Jong
|
f0dadc4a43
|
optimize 1-arg functioncalls
|
2021-11-28 16:55:10 +01:00 |
|
Irmen de Jong
|
960b60cd2d
|
tweak
|
2021-11-28 14:06:12 +01:00 |
|
Irmen de Jong
|
42fe052f9f
|
got rid of old getScopedSymbolNameForTarget routine
|
2021-11-26 21:09:29 +01:00 |
|
Irmen de Jong
|
58d9c46a9b
|
got rid of old makeScopedName routine
|
2021-11-26 20:56:30 +01:00 |
|
Irmen de Jong
|
110e047681
|
replace subroutine calls (statement) by GoSub
|
2021-11-26 19:47:01 +01:00 |
|
Irmen de Jong
|
17d403d812
|
Merge branch 'ref-subroutine-param' into v7.4-dev
# Conflicts:
# compilerAst/src/prog8/ast/AstToplevel.kt
|
2021-11-26 01:12:14 +01:00 |
|
Irmen de Jong
|
e52d05c7db
|
fix some scoping related symbol lookup issues, clarified scoping rules in docs
|
2021-11-23 23:43:23 +01:00 |
|
Irmen de Jong
|
ff715881bc
|
allow scoped identifiers to reference a subroutine parameter directly.
also for asmsubroutines, but the asm generation for that is not yet done.
|
2021-11-21 23:21:39 +01:00 |
|
Irmen de Jong
|
8095c4c155
|
added GoSub node (internal use only later for calling subroutines)
|
2021-11-21 16:23:48 +01:00 |
|
Irmen de Jong
|
b292124f3c
|
replaced many short/int values by unsigned types if appropriate
|
2021-11-21 00:55:56 +01:00 |
|
Irmen de Jong
|
c0035ba1a2
|
char encodings now use UByte type instead of short
|
2021-11-21 00:07:17 +01:00 |
|
Irmen de Jong
|
eacf8b896a
|
fix augmentable check to align with what the asmgen understands
|
2021-11-20 22:06:51 +01:00 |
|
Irmen de Jong
|
74db5c6be7
|
fix referencesIdentifier() and better removal of unnecessary assignments
|
2021-11-20 17:41:41 +01:00 |
|
Irmen de Jong
|
f9399bcce7
|
r=(q+r)-c and r=q+(r-c) are now both also 'augmentable', and BinExprSplitter doesn't check for associativeOperator anymore
|
2021-11-20 02:03:32 +01:00 |
|
Irmen de Jong
|
87600b23db
|
fix constvalue parent linkage for prefix and typecast
|
2021-11-20 00:20:35 +01:00 |
|
Irmen de Jong
|
cedfb17b18
|
fix too aggressive removal of vars that weren't completely unused
|
2021-11-19 22:49:35 +01:00 |
|
Irmen de Jong
|
b334d89715
|
refactor and fix the way memory addresses are checked to be in IO space or regular ram
|
2021-11-18 22:47:58 +01:00 |
|
Irmen de Jong
|
4f5d36a84d
|
optimization added: bitwise operations with a negative constant number -> replace the number by its positive 2 complement
|
2021-11-18 02:51:42 +01:00 |
|
Irmen de Jong
|
8f379e2262
|
give an error when initializing an integer var with a float value instead of silently rounding
|
2021-11-18 01:56:11 +01:00 |
|
Irmen de Jong
|
52bedce8f4
|
added test for assignment.isAugmented
|
2021-11-18 01:05:16 +01:00 |
|
Irmen de Jong
|
dafa0d9138
|
fix compiler crash bug due to reused ast expression nodes. Now all (relevant) Nodes have a copy() function to make a clone.
|
2021-11-17 23:05:59 +01:00 |
|
Irmen de Jong
|
f48d6ca9f8
|
simplified NumericLiteral to always just contain a Double instead of a Number for the value
|
2021-11-16 23:52:54 +01:00 |
|
Irmen de Jong
|
ab2d1122a9
|
conditional expressions are optimized more intelligently (simple ones are not split off in separate assignments)
|
2021-11-14 12:38:56 +01:00 |
|
Irmen de Jong
|
75a06d2a40
|
preparing for more optimizations
|
2021-11-12 02:17:37 +01:00 |
|
Irmen de Jong
|
69f4a4d4f8
|
tweak expr.typecastTo() a bit
|
2021-11-11 00:15:09 +01:00 |
|
Irmen de Jong
|
4937e004b5
|
fix compiler crash where it used wrong datatype in split assignment
fixes crash for "ubyte bb ;; uword ww ;; bb = not bb or not ww"
|
2021-11-09 01:13:23 +01:00 |
|
Irmen de Jong
|
a9b0400d13
|
fixed 'not' operator priority: it now has higher priority as or/and/xor.
|
2021-11-08 18:38:04 +01:00 |
|
Irmen de Jong
|
613efcacc7
|
converting compiler module's testcases to kotest (ongoing)
|
2021-11-08 15:08:48 +01:00 |
|
Irmen de Jong
|
7e8db16e18
|
moved to kotest assertions in compilerAst module tests
|
2021-11-07 21:18:18 +01:00 |
|
Irmen de Jong
|
984272beb4
|
migrated compilerAst module to KoTest (but not finished with the assertions yet)
|
2021-11-07 17:25:53 +01:00 |
|
Irmen de Jong
|
23961f695d
|
fixed some parse tree node position end-columns. cleanup some todo's
|
2021-11-05 22:48:28 +01:00 |
|
Irmen de Jong
|
7e287a5359
|
proper parent node linkage in generated const values out of typecast expressions. Fixes crash mentioned in #72
|
2021-11-02 00:47:01 +01:00 |
|
Irmen de Jong
|
1110bd0851
|
fix vardecl initialization value to not use stack eval anymore but separate assignment
(this causes the optimized assignment code gen to be used instead)
but some programs now end up larger in output size
|
2021-11-01 00:24:15 +01:00 |
|
Irmen de Jong
|
1b576f826d
|
remove unneeded sibling methods
|
2021-10-31 16:50:15 +01:00 |
|