forked from OCamlPro/gnucobol
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
830 additions
and
547 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -74,6 +74,30 @@ | |
if it ends with OCCURS DEPENDING ON | ||
If a field follows ODO and not odoslide then it is fixed size | ||
|
||
2022-10-21 Simon Sobisch <[email protected]> | ||
|
||
* codegen.c: rewritten codegen for INITIALIZE of table fields, | ||
effectively using the 3.1.2 codegen for that with "check only" | ||
for table-format VALUE, then after everything was initialized | ||
post-setting of the table-format VALUES with | ||
output_initialize_multi_values, a simplified version of the | ||
previously often called output_initialize_occurs (now renamed), | ||
added originally for FR #234: multiple VALUEs for OCCURS | ||
* tree.h (cb_field): drop flag_occurs_values | ||
* codegen.c (output_initialize_to_value, output_initialize_to_default): | ||
extracted from output_initialize_one (split only) | ||
* codegen.c: draft for codegen of better readable init code as | ||
done in other places (not active, inspect and decide later) | ||
* codegen.c (output_figurative): fix bug #724 lvl01 OCCURS items to | ||
also correctly INITIALIZE TO VALUE with figurative constants | ||
* field.c (cleanup_field_value): new function called from field | ||
value validation code; replaces values that match default by | ||
cb_zero/cb_space for better codegen | ||
* tree.c (cb_build_binary_op): don't raise an error in the condition | ||
code when we raised an error - for example on a bad reference - before | ||
* field.c (cb_build_field_tree): generate dummy filler for level | ||
mismatch also for non-relaxed parsing to prevent follow-on errors | ||
|
||
2022-10-20 Simon Sobisch <[email protected]> | ||
|
||
* parser.y, tree.c (cb_build_vary), tree.h: cleanup to not use | ||
|
@@ -84,7 +108,7 @@ | |
cb_table_values to store the complex parsing result, only embed the VALUE | ||
in a list when actually necessary, and use these adjustments in syntax | ||
and codegen | ||
* field.c: check all multi-values for correct type an length; | ||
* field.c: check all multi-values for correct type and length; | ||
verify that only up to max amount entries are specified; | ||
TODO: complete handling of FROM/TO/REPEATED clause | ||
|
||
|
Oops, something went wrong.