1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

Due to the size of the input buffer, a single line of the program is
limited to 255 characters. [Applesoft will start beeping when you get
to 248 characters]. There are several strategies for getting around
this. (1) When typing a line, use '?' instead of 'PRINT'-- it'll be
expanded to the full 'PRINT' when parsed. (2) Use no unneeded spaces--
only type them if they're in the middle of a string (" ") or a DATA
statement. They are not needed to separate terms in mathematical
expressions, etc. (3) Split the line into several lines.

When parsing lines without spaces, Applesoft looks for reserved words
first and separates them automatically, unless they're in the middle
of strings. For example, the following (nonsense) line of code
'10IFPRINT"HINPUT TETHEN"GOTOHLIN56=5' will appear as '10 IF PRINT
"HINPUT TETHEN" GOTO HLIN 56 = 5'

The command 'NEW' clears out any Applesoft program in memory and
clears the contents of all variables; it is not easily undoable. 'RUN'
starts the current program after clearing the contents of all
variables, starting at the lowest numbered line, and continues until
'STOP', 'END', flow of execution reaches the end of the code, or an
unhandled error is encoutered. Altenatively, you can use 'RUN linenum'
to clear all variables and start the program at line #linenum. You can
also do 'POKE 51,0: GOTO n' to start a program at line n without
losing the contents of the current variables.

To delete a single line of code, you can type simply the line number
and press return-- that 'replaces' it with an empty line.

There is minimal text mode support for line editing. When you 'LIST' a
program, you can press the 'esc'[ape] key and then use the diamond of
I/J/K/M (capitalization not important on an enhanced //e, //c, IIc+
and GS; may be necessary on an unenhanced //e) or the arrow keys (//e,
//c, GS and IIc+ only) to move around the screen and the spacebar to
move out of the movement mode. [The ][+ also exits escape mode with
the right or left arrows.] Once out of movement mode, the right arrow
can be used to "type" whatever character the cursor is on. This is
very handy for fixing part of a line, inserting or deleting sections.

When 'LIST'ing off a program, you'll notice that the default list has
quite a lot of padding on the right and left margins, which may make
it hard to "retype" a line without running afoul of the 255 character
limit. However, if you type a 'POKE 33,33' before 'LIST 'ing, (or you
can use 'POKE 33,72' if you're in 80-column mode), you'll signify to
Applesoft that you don't want the big margins, which'll help.
[Unenhanced //es must have an even screen width in 80-column mode;
'POKE 33,73' will work fine on an enhanced //e, //c, IIc+ and GS]

The 'TEXT' command will restore the screen to the normal margins.

_________________________________________________________________

Section 2: General language reference

2.1 Numeric Expressions and Assignments:

All variables can be set by '[LET] varb = expression'. The 'LET' is
totally optional, and is usually omitted as being redundant.

For integer and floating point (real) math, normal arithmatic
precedence and operations are followed. Thus, 'A=5+2*3' will set A to
11, not 21, as that expression with (redundant) parentheses is
'A=5+(2*3)'. Exponentiation can be performed with the '^' operator
('A=2^3' sets A to 8), but there is no remainder (modulus) operator
like in other languages.