uncomplete and unsorted list of open issues in the compiler
- identifiers must become checked against predefined words
- update 2022-09-27:
- keywords are not allowed as identifiers: the lexer detects this and emits incomprehensive error messages like
no via to ... expected ....
- other reserved words like
A, T, ... are currently also forbidden . They should be usable as identifiers
- both elements should be solved in milestone
compiler_V2
- update 2026-01-09
- is now in ticket #437
- solved
- type mismatch errors must become more comprehensive (ExpressionTypeVisitor)
- update 2022-09-27
- this is solved in many cases but there are a lot of throw XYZExceptions in several modules
- the mechanism
throw XYZExceptiopn should be substituted by ErrorStack.add(), .addInternal()
- all exception classes should be removed from the project
- this may be subject of
compiler_V2
- update 2028-01-09
- most exception classes are not used
- the unused exception classes should become removed from the project
- TYPE
- update 2022-09-27
- is solved
- BIT + CHAR slices on left hand side
- update 2022-09-27
- is solved for variables as name
- ticket#405 (
compiler_V2) deals with procedure results as name
- --> solved for milestone
compiler
- array slices
- all kind of slices as procedure and i/o-parameters
- update 2022-09-27
- this may be solved
- --> tests should be added to check the status
- update 2022-09-29:
- array slices work with PUT
- array slices are not defined as actual procedure parameters and are not supported by OpenPEARL
- the language report of PEARL90 V2.2 uses the term
segment in the chapter I/O
slice in the appendix
- OpenPEARL uses the term
ArraySlice
- the language report states that they are
- allowed in
READ, WRITE, GET and PUT
- not allowed in
CONVERT, TAKE and SEND
- consequences:
- add tests with all types of I/O
- emit warnings if array slices are used in
CONVERT, TAKE or SEND with -std=PEARL90
- should be solved in milestone
compiler
- finish STRUCT support
- implement new I/O API (after STRUCT support) *(solved)
- Initializer
- update 2022-09-27
- initializers are solved
- role out of structure components in i/o statements with type adjustments is still missing
- update 2026-01.09
- moved in new ticket #438
- solved`
- update 2026-01-09
- the language report must state,that OpenPEARL does not support yet the behavior of PEARL90
- solved
- a semantic analyses check for valid constant array and slice indices would be nice
- update 2022-09-27
- this my be subject of milestone
compiler_V2
- update 2026-01-09
- separate ticket #439 created for milestone `compiler_V2'
- solved
please add other issues
Diff:
Diff:
array indices are now checked on number and type
Note about slices as PROC-parameters:
A look on Werum-PEARL showed that
Diff:
array indices check completed
Diff:
Diff:
Diff:
TYPE is treated in ticket #375
Diff:
Diff:
Diff:
Diff:
Diff:
open issues are now in separate tickets.