Advantages of Lava structure editing
- No syntax-learning: You need not learn and meticulously observe the Lava syntax; Lava does not even have a fixed textual syntax.
- Minimum text-entry: You need not textually enter individual keywords, operators, separators, variable/function/type references in
LavaPE but only comments, constants and new identifiers.
- Drag-and-Drop/Cut-Copy-Paste of syntactic units only: You can only select complete syntactic units in the Lava structure editors; Drag-and-Drop/Cut-Copy-Paste copy/move such units only to places where they are acceptable, and an automatic maintenance of existing references is performed subsequently.
- No syntactic errors: Many clerical errors, like unbalanced parentheses, misspelled keywords or other context-free syntax errors are impossible with structure editing.
- Early error reporting: Context-related errors are reported at the earliest possible moment, i.e., immediately after the edit operation that caused the error.
- Variable/function/type references need not be keyed in but you select them from specific combo boxes.
- These combo boxes list only references that are permissible at the current selection. E.g., if you are about to insert a variable as an actual input or output parameter of a function call then only variables that are compatible with the type of the corresponding formal parameter are listed in the "objects combo box". Only more complex, context-dependent potential errors would remain owing to this "preselection" of insertable references.
- Automatic maintenance of references: If you rename a Lava entity or move it (via drag-and-drop in the declaration view) to another place then all references in the declaration view and in all execs are changed automatically. Cumbersome string replacement procedures are not required to this end.
- Automatic maintenance of actual parameter lists: If you add, remove, or permute parameters of a function in the declaration view then all required modifications in all execs that are affected by that change are performed automatically, at the latest when you re-open the affected exec if it was closed at the time of the change.
- Automatic maintenance of implementations, derived classes and packages when classes or base classes/packages are changed.
See also:
Basic program editing procedures in Lava.
Point-and-click nature of LavaPE.
Improved readability of Lava programs.