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.