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
|
fe17566370
|
improved reporting of slow stack based evaluation code
|
2021-10-31 14:18:49 +01:00 |
|
Irmen de Jong
|
03ac9b6956
|
various cleanups, slight update to dbus
|
2021-10-30 19:30:19 +02:00 |
|
Irmen de Jong
|
dfbef8495d
|
got rid of ParsingFailedError
|
2021-10-30 17:05:23 +02:00 |
|
Irmen de Jong
|
7b17c49d8f
|
update petscii tables with improvements to box drawing chars. fixes #68
|
2021-10-30 16:45:23 +02:00 |
|
Irmen de Jong
|
4b3f31c2ee
|
added option to suppress assembler output (and enabled this in unit tests)
|
2021-10-30 15:26:40 +02:00 |
|
Irmen de Jong
|
9ccc65bf8f
|
more petscii tests
|
2021-10-30 15:15:11 +02:00 |
|
Irmen de Jong
|
f9e22add03
|
fix crash when using array as paramater type
|
2021-10-30 15:15:00 +02:00 |
|
Irmen de Jong
|
97836e18b2
|
simplified gradle config, automatically run installDist task after build
|
2021-10-30 12:01:52 +02:00 |
|
Irmen de Jong
|
7b69df4db2
|
todos
|
2021-10-30 00:38:48 +02:00 |
|
Irmen de Jong
|
3767b4bbe7
|
'Program' is not an ast Node
|
2021-10-30 00:25:34 +02:00 |
|
Irmen de Jong
|
d7d2eefa4f
|
implemented CharLiteral.constValue()
|
2021-10-30 00:05:55 +02:00 |
|
Irmen de Jong
|
6737f28d1e
|
moved unittests of compilerInterfaces into compiler module itself
|
2021-10-29 23:46:51 +02:00 |
|
Irmen de Jong
|
3da9404c2d
|
removed memsizer arg from all builtin functions
|
2021-10-29 23:38:31 +02:00 |
|
Irmen de Jong
|
1137da37c3
|
reshuffle ErrorReporter
|
2021-10-29 17:02:03 +02:00 |
|
Irmen de Jong
|
495a18805c
|
move asmgen test to codeGeneration module
|
2021-10-29 16:20:53 +02:00 |
|
Irmen de Jong
|
a226b82d0b
|
cleanup imports
|
2021-10-29 05:30:12 +02:00 |
|
Irmen de Jong
|
0b5ddcdc9b
|
split out the code generator into own project submodule
|
2021-10-29 05:00:30 +02:00 |
|
Irmen de Jong
|
5ff481ce3c
|
make sure tmp folders exist for unit tests
|
2021-10-29 03:04:16 +02:00 |
|
Irmen de Jong
|
f21dcaa6fb
|
split out the code optimizers into own project submodule
|
2021-10-29 02:42:10 +02:00 |
|
Irmen de Jong
|
2c940de598
|
better name
|
2021-10-29 01:06:01 +02:00 |
|
Irmen de Jong
|
ce75b776bb
|
refactor loadAsmIncludeFile response
|
2021-10-29 01:01:24 +02:00 |
|
Irmen de Jong
|
7d22b9b9f9
|
simplified name conflict check for sub params
|
2021-10-29 00:20:33 +02:00 |
|
Irmen de Jong
|
6cb8b3b5cd
|
removed unneeded scope param from lookup()
|
2021-10-29 00:01:28 +02:00 |
|
Irmen de Jong
|
2bf4017f2b
|
fix nested label lookups in anon scopes
fixed non-global qualified names lookup
|
2021-10-28 23:48:01 +02:00 |
|
Irmen de Jong
|
08d2f8568b
|
refactoring symbol lookups
|
2021-10-27 23:48:12 +02:00 |
|
Irmen de Jong
|
ac5f45d2d4
|
fix nested label lookups in anon scopes (partly)
|
2021-10-27 02:41:24 +02:00 |
|
Irmen de Jong
|
3cc7ad7d20
|
slightly improve error message for unknown module import
|
2021-10-27 00:38:36 +02:00 |
|
Irmen de Jong
|
d4513364fb
|
fix compiler crash when file on command line doesn't exist
|
2021-10-27 00:23:54 +02:00 |
|
Irmen de Jong
|
9684f4e42a
|
add unit tests for AnonScope refactoring, cleaned up imports
|
2021-10-27 00:05:46 +02:00 |
|
Irmen de Jong
|
141689e697
|
change many uses of .definingScope to just the parent node
|
2021-10-26 23:25:16 +02:00 |
|
Irmen de Jong
|
743c8b44a2
|
AnonymousScope refactor: it's no longer a INameScope
because it doesn't contain scoped variables (these are moved to the subroutine's scope)
|
2021-10-26 23:01:51 +02:00 |
|
Irmen de Jong
|
5e1459564a
|
no longer take AddressOf a str-variable that is a subroutine's parameter with str type (it's just an address/uword already)
|
2021-10-25 23:49:01 +02:00 |
|
Irmen de Jong
|
69a8813a3d
|
first steps to add support for str parameter type
|
2021-10-24 20:57:10 +02:00 |
|
Irmen de Jong
|
17175df835
|
more precise error messages checks
|
2021-10-24 19:14:46 +02:00 |
|
Irmen de Jong
|
6b32535cb6
|
don't complain about uninitialized str var if it's not a var
|
2021-10-24 15:13:38 +02:00 |
|
Irmen de Jong
|
2815a14bb5
|
(7.2) can now test for specific error messages, and specify to omit invoking assembler in tests
|
2021-10-22 01:25:26 +02:00 |
|
Irmen de Jong
|
f4dfa60790
|
(7.2) tests for pass by ref parameters
|
2021-10-22 00:41:34 +02:00 |
|
Irmen de Jong
|
35e88dd529
|
(7.2) correctly parse datatype of array parameters
|
2021-10-21 22:06:21 +02:00 |
|
Irmen de Jong
|
4d5094a517
|
(7.2) cleanup Petscii converter errorhandling, add unit tests for error scenarios
|
2021-10-20 23:48:20 +02:00 |
|
Irmen de Jong
|
dd5abae721
|
move testcase to proper location
|
2021-10-20 23:08:40 +02:00 |
|
Irmen de Jong
|
8f2fb20934
|
Merge branch 'v7.1' into v7.2
|
2021-10-20 22:51:14 +02:00 |
|
Irmen de Jong
|
440abf4998
|
fix test to recognise inserted return statements
|
2021-10-20 22:50:18 +02:00 |
|
Irmen de Jong
|
74555a32ed
|
Merge branch 'v7.1' into v7.2
|
2021-10-20 22:37:43 +02:00 |
|
Irmen de Jong
|
85956b5828
|
code generator: add a return (RTS) to empty subroutines. Fixes #67
|
2021-10-20 22:36:13 +02:00 |
|
Irmen de Jong
|
41e40cad03
|
optimizer bug: don't remove empty subroutine if it's referenced. Fixes #67
|
2021-10-20 22:25:10 +02:00 |
|
Irmen de Jong
|
df2d5c6585
|
tests for callgraph and unused subroutine removal in optimizer
|
2021-10-20 22:24:10 +02:00 |
|
Irmen de Jong
|
e6c41eac93
|
Merge branch 'v7.1' into v7.2
|
2021-10-19 23:22:38 +02:00 |
|
Irmen de Jong
|
82d20dea39
|
a few comment and TODO cleanups.
remove remark about chars UBYTE type, kotlin's closest native type that can contain 0-255 is a short.
|
2021-10-19 23:20:34 +02:00 |
|
Irmen de Jong
|
804bb06859
|
clarified isInRegularRAM() by making it an extension method on AssignTarget
|
2021-10-19 22:36:05 +02:00 |
|
Irmen de Jong
|
5afa7e53f8
|
got rid of program arg for isInRegularRAM
|
2021-10-19 22:30:30 +02:00 |
|
Irmen de Jong
|
7f15b7b716
|
remove unneeded check for duplicate module names as this is now caught by the logic in Program.addModule itself
|
2021-10-19 22:12:54 +02:00 |
|
Irmen de Jong
|
552e0c2248
|
rename mainModule to toplevelModule.
failed module no longer retains in the Ast.
improved some tests on that.
|
2021-10-19 21:49:05 +02:00 |
|
Irmen de Jong
|
502bf90007
|
comments
|
2021-10-19 01:12:28 +02:00 |
|
Irmen de Jong
|
4011dce31b
|
added a few more tests for the file element of Position
|
2021-10-19 00:26:02 +02:00 |
|
Irmen de Jong
|
14aad2358f
|
version 7.2 started
|
2021-10-16 18:46:08 +02:00 |
|
Irmen de Jong
|
cf0e395921
|
got rid of SourceCode.pathString() and the 'need' to strip < and >
|
2021-10-16 17:15:22 +02:00 |
|
Irmen de Jong
|
9626c5dead
|
attempt to fix Windows path issue with "library:" prefixes in AsmGen
|
2021-10-16 14:50:08 +02:00 |
|
Irmen de Jong
|
aea364e43d
|
paths are now always relative to the current directory. Fixes #64
|
2021-10-16 14:26:33 +02:00 |
|
Irmen de Jong
|
06defd0cb0
|
paths are now always relative
|
2021-10-16 02:43:22 +02:00 |
|
Irmen de Jong
|
57bb1c2c0d
|
performance optimized checks against short ranges of values
|
2021-10-15 00:51:45 +02:00 |
|
Irmen de Jong
|
7b35b414e8
|
tweak check of DataType against multiple values
|
2021-10-15 00:39:42 +02:00 |
|
Irmen de Jong
|
761aac7a23
|
replace inferredType.istype() by infix form
|
2021-10-15 00:28:23 +02:00 |
|
Irmen de Jong
|
15a02d7664
|
making InferredType easier to use
|
2021-10-15 00:18:13 +02:00 |
|
Irmen de Jong
|
16ed68c1ec
|
Module.name is now derived back from the source's origin string
|
2021-10-14 23:58:14 +02:00 |
|
Irmen de Jong
|
e63cf660c6
|
petscii now use Result instead of Either
|
2021-10-13 23:22:46 +02:00 |
|
Irmen de Jong
|
aaff484306
|
refactor executeImportDirective
|
2021-10-13 23:14:27 +02:00 |
|
Irmen de Jong
|
3281d9a215
|
fix error when sourcepaths is empty
|
2021-10-13 23:08:51 +02:00 |
|
Irmen de Jong
|
0fcd61e00f
|
refactor tryGetModuleFromResource
|
2021-10-13 23:00:22 +02:00 |
|
Irmen de Jong
|
c4523ea470
|
refactor tryGetModuleFromFile
|
2021-10-13 22:32:52 +02:00 |
|
Irmen de Jong
|
0447b3e4cc
|
remove testcase that attempted to check invalid %import syntax.
we only allow unquoted names, without filename suffix, in %import.
|
2021-10-13 22:10:35 +02:00 |
|
Irmen de Jong
|
4d27c2901b
|
fix weird error printing when doing %import textio.p8
|
2021-10-13 21:55:51 +02:00 |
|
Irmen de Jong
|
d790878af6
|
enabled test
|
2021-10-13 20:28:42 +02:00 |
|
Irmen de Jong
|
85b244df2f
|
remove remains of %target
|
2021-10-13 20:13:57 +02:00 |
|
Irmen de Jong
|
6070afa6b6
|
cleanup SourceCode class
|
2021-10-13 19:16:01 +02:00 |
|
Irmen de Jong
|
6b8c3ef614
|
renamed command line option -libdirs to -srcdirs
this more clearly separates this meaning from the internal library modules
|
2021-10-13 18:16:51 +02:00 |
|
Irmen de Jong
|
557f4f689f
|
doc
|
2021-10-13 00:50:54 +02:00 |
|
Irmen de Jong
|
66574d058a
|
renamed InferredType.typeOrElse to getOr()
this is closer to the convention of most functional return types
|
2021-10-13 00:21:38 +02:00 |
|
Irmen de Jong
|
1c7c67060d
|
better result and error handling for importModule()
|
2021-10-12 23:54:48 +02:00 |
|
Irmen de Jong
|
9827ee97ad
|
better returnvalue/errorhandling for Petscii encoding
|
2021-10-12 23:26:45 +02:00 |
|
Irmen de Jong
|
367a2a4cee
|
cleaner return type
|
2021-10-12 22:21:38 +02:00 |
|
Irmen de Jong
|
4f7465ba44
|
better return types
|
2021-10-12 21:59:19 +02:00 |
|
Irmen de Jong
|
f891fc698c
|
switched to more featureful Result library
|
2021-10-12 21:35:27 +02:00 |
|
Irmen de Jong
|
51b2e41879
|
libs updated to maven
|
2021-10-12 03:33:52 +02:00 |
|
Irmen de Jong
|
ef43bc9208
|
lib update
|
2021-10-12 02:33:34 +02:00 |
|
Irmen de Jong
|
33733a4001
|
improve errorhandling
|
2021-10-12 01:45:32 +02:00 |
|
Irmen de Jong
|
e5a1b37981
|
simplify
|
2021-10-12 01:22:17 +02:00 |
|
Irmen de Jong
|
30aa72dc8e
|
fix unittest and use kotlin.test method to test for exceptions
|
2021-10-11 21:22:06 +02:00 |
|
Irmen de Jong
|
2c2d474059
|
fix crash when attempting to import non-existing module
|
2021-10-11 20:37:55 +02:00 |
|
Irmen de Jong
|
c55ac0450f
|
unified @embedded@ and library: into the latter
|
2021-10-11 19:22:56 +02:00 |
|
Irmen de Jong
|
2d26b9c994
|
fixed module parent linking mistakes in unit tests: module's parent should always be the GlobalNamespace
|
2021-10-11 01:34:55 +02:00 |
|
Irmen de Jong
|
f38fe092ee
|
optimized imports
|
2021-10-11 00:22:04 +02:00 |
|
Irmen de Jong
|
7a33eb163b
|
also use output path when launching emulator, fixes #61
|
2021-10-11 00:19:48 +02:00 |
|
Irmen de Jong
|
5db0408b9f
|
syntactic sugar: turned some functions into read only properties
|
2021-10-11 00:05:51 +02:00 |
|
Irmen de Jong
|
3557d38ce0
|
cleanup: fix spelling errors and some compiler warnings/suggestions
|
2021-10-10 23:35:02 +02:00 |
|
Irmen de Jong
|
73838ccb8b
|
ref github issue
|
2021-10-10 23:00:31 +02:00 |
|
Irmen de Jong
|
f37fb82d53
|
Merge branch 'v7.1' into testability_steps_1_2_3_again
# Conflicts:
# compilerAst/src/prog8/ast/antlr/Antlr2Kotlin.kt
# compilerAst/src/prog8/parser/ModuleParsing.kt
# compilerAst/test/TestAntlrParser.kt
# parser/antlr/Prog8ANTLR.g4
|
2021-10-10 22:20:08 +02:00 |
|
Irmen de Jong
|
371d4768e6
|
fix filename case issue
|
2021-10-09 17:59:40 +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 |
|