Some readability related wishes for the syntax editor.

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Some readability related wishes for the syntax editor.

Art Kendall
 I applaud SPSS for changing to color etc in the editor.

I would like the editor to  have options to set things like these. Could
there be  PYTHON applications do some of these until they are integrated
into the editor?

1. I would still like to see automatic conversion to upper, mixed, and
lower case to distinguish reserved words, functions, and user variable
names (constants).  This was available in DEC FORTRAN in the 70s by
running the code through another program.
COMPUTE newvar = Sqrt(oldvar).
IF vara GT varb ...
It might also be possible to set options so user could specify UPPER,
Mixed, or lower case or other formating for each of words, functions,
user variable names and constants.

2. optionally automatically
-- convert = sign as logical operator to conventional EQ.
-- convert conventional operators to symbols except EQ.
-- convert conventional operators to symbols always. Not a good idea
since it could mean either an assignment or a logical operator but some
may want to.
-- convert symbol logical operators to conventional logical operators.

[If I had a dollar for every time a client or student had a problem with
the two meanings of' '=', I would be able donate all my Social Security
to charity.]

3. It has been my experience that vertical alignment can be very useful
in checking syntax. Automatic vertical alignment would do things like
indent all statements inside do if ... else if ...else...end if blocks.
It would do multiple indents for nested blocks. Again something that was
available for  DEC FORTRAN in the early 80's
DO IF   sex EQ 'M'.
.      DO IF   age LT 14.
.          COMPUTE ...
.      ELSE IF age GT 65.
.          COMPUTE ...
.      ELSE.
.          COMPUTE ...
.      END IF.
ELSE IF sex EQ 'F'.
.      DO IF   age LT 14.
.          COMPUTE ...
.      ELSE IF age GT 65.
.          COMPUTE ...
.      ELSE.
.          COMPUTE ...
.      END IF.
ELSE.
       COMPUTE errflag1 = 1.
END IF.

A further refinement of this would be to assure "do if " were followed
by three blanks so that conditions on do if and else if statements were
vertically aligned.

4. assure that there were blank spaces each side of = signs, before open
parentheses, after close parentheses

5.  Something else that was useful with FORTRAN was a cross reference
listing.  It list all variables, told which line numbers the variable
appeared on and whether it was on the right of an assignment operator.

6. It would be great if one could cut-and-paste from a syntax window
preserving all color etc when posting replies to the list.

Art Kendall
Social Research Consultants

=====================
To manage your subscription to SPSSX-L, send a message to
[hidden email] (not to SPSSX-L), with no body text except the
command. To leave the list, send the command
SIGNOFF SPSSX-L
For a list of commands to manage subscriptions, send the command
INFO REFCARD
Art Kendall
Social Research Consultants