Irmen de Jong
a1c658274d
Merge pull request #50 from meisl/v7.1
...
*/+ fix comments & test messages, *add CompilerDevelopment.md*
2021-10-09 16:27:14 +02:00
Irmen de Jong
be9998b48b
Merge branch 'irmen:v7.1' into v7.1
2021-10-09 14:48:19 +02:00
Irmen de Jong
e8f308f654
a few more inlinings of trivial return values
2021-10-09 01:36:13 +02:00
Irmen de Jong
07132a2c42
removed unreliable inlining of non-asmsub subroutines. Fixes #60
2021-10-08 23:09:38 +02:00
Irmen de Jong
9c4582e283
optimized codegen of swap of two memread values with index on the same pointer; like swap(@(ptr+i1), @(ptr+i2))
2021-10-08 18:19:16 +02:00
Irmen de Jong
0204002d9b
bugfix: non-existing asm function was sometimes called to swap floats
2021-10-08 04:14:43 +02:00
Irmen de Jong
b3107cfad0
Merge branch 'master' into v7.1
2021-10-04 22:38:53 +02:00
Irmen de Jong
91ae68c07e
blinds effects done
2021-10-04 22:15:59 +02:00
Irmen de Jong
06b3bf27b5
slightly improve sys.waitvsync() on c64
2021-10-03 21:35:12 +02:00
Irmen de Jong
fbef63e150
moving to raster lines via irq
2021-09-30 23:45:45 +02:00
Irmen de Jong
bb8ee9bb3e
Merge branch 'master' into v7.1
2021-09-28 23:27:56 +02:00
Irmen de Jong
25677a4126
remove unused var
2021-09-28 23:27:32 +02:00
Irmen de Jong
3aeca0a770
Merge branch 'master' into v7.1
2021-09-28 23:15:06 +02:00
Irmen de Jong
4bd4733e52
fix index calc bug in palette.set_color
2021-09-28 23:12:59 +02:00
Irmen de Jong
9acec4d952
changed to fixed point math to always generate bars of 32 lines height
2021-09-28 23:12:16 +02:00
Irmen de Jong
8388adcd1d
changed to fixed point math to always generate bars of 32 lines height
2021-09-28 22:55:55 +02:00
Irmen de Jong
5988ba76b5
test example for fixed float ranges
2021-09-12 19:10:50 +02:00
Irmen de Jong
1a06e7a16e
expand range expression in float array decls, fixes issue #55
2021-09-12 19:02:07 +02:00
Irmen de Jong
7241cef7a5
fix char range in float-range test and exclude test.p8 example from tests
2021-09-12 18:59:53 +02:00
Irmen de Jong
5145296486
fix test assertion for float ranges (and re-enable test)
2021-09-12 18:53:12 +02:00
Irmen de Jong
2cbf2d2226
fix regression in imported module order (reversed)
...
this caused an error in determining the main module and correct compilation options
2021-09-12 18:16:24 +02:00
Irmen de Jong
754664aefa
correctly allow codegen to proceed for byte->word register assignment. Fixes crash #58
2021-09-06 23:22:43 +02:00
Irmen de Jong
af99173cd7
range expressions are on integers only
2021-09-06 22:15:27 +02:00
Irmen de Jong
fd1f30f92b
removed %target directive (didn't add much, too confusing, only supported single target)
2021-09-04 15:01:16 +02:00
Irmen de Jong
d9ab2f8b90
upgrade to kotlin 1.5.30
2021-09-03 23:00:00 +02:00
meisl
bd6c60cf8a
* improve test method names in helpers_pathsTests by means of backtick syntax
2021-08-02 15:47:42 +02:00
meisl
f0c150d93b
* improve test method names in TestProg8Parser by means of backtick syntax
2021-08-02 15:36:08 +02:00
meisl
c2986eaf47
* structure TestProg8Parser with @Nested
2021-08-02 14:52:46 +02:00
meisl
ef0c4797bb
Merge remote-tracking branch 'remotes/origin/v7.1' into testability_steps_1_2_3_again
2021-08-02 10:26:48 +02:00
meisl
ac02a99934
* move ModuleImporter to prog8.compiler (package & module), together with its tests
2021-08-02 10:07:19 +02:00
meisl
fb67d1155f
* structure TestCompilerOnImportsAndIncludes, add (@Disabled for now) test re %import with string arg
2021-08-02 08:57:09 +02:00
meisl
eb46852bb9
* restrict access to Program.modules, add tests
2021-08-02 08:15:20 +02:00
meisl
007d8d2811
* ModuleImporter tests: refactor, more precise assertions about the program's modules
2021-08-01 17:27:41 +02:00
meisl
ebe04fc114
* @Disable ModuleImporter test re importing a faulty module twice - no easy fix for this atm
2021-08-01 16:26:27 +02:00
meisl
d7dd7f70c0
* rename file ModuleParsing.kt to ModuleImporter.kt (nothing else, still in compilerAst)
2021-08-01 15:38:21 +02:00
meisl
f2cb89a128
- ModuleImporter: deduplicate code
2021-08-01 15:37:57 +02:00
meisl
b8fade23de
* (first quick) fix: ModuleImporter should look in given "libdirs" (or better "srcdirs"?) for module file
2021-08-01 15:17:47 +02:00
meisl
3b97a17648
* *little bit* of cleanup in ModuleImporter - *only refactoring*
2021-08-01 11:18:45 +02:00
meisl
0d06e3ff22
*/+ refactor tests of ModuleImporter, add some tests related to libdirs issue
2021-08-01 10:48:28 +02:00
meisl
c914f7bbcf
+ TestCompilerOptionLibdirs.kt: libdirs option doesn't seem to work
2021-08-01 10:16:37 +02:00
meisl
1b451180c1
* test helpers assumeXyz (helpers/paths.kt) return the resulting path (unless they fail, of course); test directories are checked automatically at init, so no sanityCheckDirectories is needed anymore
2021-07-31 14:44:02 +02:00
meisl
ed061b362b
* #53 step6: move IStringEncoding to prog8.compiler (package as well as module)
2021-07-30 19:25:18 +02:00
meisl
e1026584c8
* split up test helpers into separate files, move mapCombinations(..) down to compilerAst/test/helpers since they're generic and don't depend on compiler
2021-07-30 18:37:12 +02:00
meisl
4c615e4fac
* solve problem re shared test helpers: a) don't use the same file name (results in same JVM class name) & b) tell gradle about it (put them in extra dir(s) test/helpers/ and add this to test source set)
2021-07-30 17:19:44 +02:00
meisl
7c9d48833b
Merge branch 'irmen:v7.1' into v7.1
2021-07-22 12:14:34 +02:00
Irmen de Jong
b60b195aec
update junit and hamcrest unittest lib versions
2021-07-20 22:42:27 +02:00
meisl
db76c8d7f4
-/* remove IStringEncoding as param in compilerAst, and all other uses that were only because of that.
...
For good measure we also turn on *all* compiler tests with examples (they do take some time).
Note that the total *mentions* of IStringEncoding in the entire project went down from ~50 to 6, only 3 of which are *actual uses* (the others are 2 imports and 1 supertype ref in ICompilationTarget : IStringEncoding)!
2021-07-17 22:08:17 +02:00
meisl
de92740e87
* simple refactoring: move IStringEncoding, IMemSizer and IBuiltinFunctions to files of their own, also ext method Number.toHex to file compilerAst/src/prog8/ast/Extensions.kt. Moved the other interfaces that are indeed closely related to Node to the top of AstToplevel.kt. *This is really ONLY moving text around*, so it's easier to find things. Nothing else.
2021-07-17 21:29:01 +02:00
meisl
522bf91c30
* refactor RangeExpr, step 2: make toConstantIntegerRange and size *extension methods* and move them to compiler/astprocessing/AstExtensions.kt (along with the simple helper makeRange). They are in fact *only* used from the compiler module - strong indication that they actually belong there.
2021-07-17 21:13:34 +02:00
meisl
48d3abc1fe
* refactor RangeExpr, step 1: remove IStringEncoding as ctor arg and instead put it as arg to the two methods that actually depend on it: toConstantIntegerRange and size (as *it* calls the former)
2021-07-17 20:45:17 +02:00