
monop ("+1">): plus symbol, ->;
monop ("~">): logical not symbol, ->;
monop ("itof">): itof symbol, ->;
monop ("-1">): minus symbol.

%TEX
\subsection{ expression 8 }
%
expr 8 (>indent, expr>):
   expr 9 (>indent+extra indent, expr 1>),
      expr 8atail (>indent, >expr 1, extra indent>, expr>).

expr 8atail (>indent, >expr 1, extra indent+"   ">, expr>):
   slice symbol, ->,
      expression (>indent+"   ", expri 1>), dotdot symbol,
      expression (>indent+"   ", expri 2>),
      make op node3 (>indent, >"[..]", >expr1, >expri 1, >expri 2, mexpr>),
      expr 8atail (>indent, >mexpr, extra indent>, expr>);
expr 8atail (>indent, >expr, "">, expr>):.

%TEX
\subsection{ expression 9 }
%
expr 9 (>indent, expr>):
   expr 10 (>indent+extra indent, expr 1>),
      expr 9tail (>indent, >expr 1, extra indent>, expr>).

expr 9tail (>indent, >expr 1, extra indent+" ">, expr>):
  no close symbol,
   expr 10 (>indent+extra indent+" ", expr 2>), ->, 
      expr 9tail (>indent,
	>nlcr+indent+extra indent+"(VValApply "+expr 1+expr 2+")",
	extra indent>, expr>);
expr 9tail (>indent, >expr, "">, expr>):.

no close symbol: !,-=+*;}])! (x>), ->,fail;
no close symbol:.

fail: not equal (>nlcr,>nlcr).

%TEX
\subsection{ expression 10 }
%
expr 10 (>indent, nlcr+indent+"(VSym "+ org + name+")">):
   name (name>), ->,
   get org (org>);
expr 10 (>indent, nlcr+indent+n>):
   integer or floating denotation (>"V",n>), ->;
expr 10 (>indent, nlcr+indent+"(VBool "+val+")">):
   boolean denotation (val>), ->;
expr 10 (>indent, nlcr+indent+"(VStr "+str+")">):
   string denotation (str>), ->;
expr 10 (>indent, expr>):
   open symbol, ->, expression (>indent, expr>), close symbol;
expr 10 (>indent,
	nlcr+indent+"(VList "+
	nlcr+indent+" ["+exprs+"])">):
   left square bracket symbol, exprs (>indent+"  ", exprs>),
      right square bracket symbol.

make op node 3 (>indent, >op, >n 1, >n 2, >n 3,
	nlcr+indent+" (VBuiltin "+quote+op+quote+
        nlcr+indent+"    [ "+n 1+","+n 2+","+n 3+"])">):.

make op node 2 (>indent, >op, >n 1, >n 2,
	nlcr+indent+" (VBuiltin "+quote+op+quote+
        nlcr+indent+"   [ "+n 1+","+n 2+"])">):.

make op node 1 (>indent, >op, >n 1,
	nlcr+indent+" (VBuiltin "+quote+op+quote+ "["+ n 1+"])">):.

names (name+names>):
   name (name>), ->, more names (names>);
names ("">):.

more names (","+name+names>):
   comma symbol, ->, name (name>), more names (names>);
more names ("">):.

%TEX
\section{ lexical analysis }

\subsection{ numeric denotations }
%

integer or floating denotation (>fa,tail>):
   number (numb>), floating denotation tail (>fa, >numb,tail>), layout.

floating denotation tail (>fa,>n,"("+fa+"Flo "+n+"."+digs+scale+")">):
   ".", ->, number (digs>), scale option (scale>);
floating denotation tail (>fa,>n,"("+fa+"Flo "+n+"."+digs+scale+")">):
   electrical scale (scale>), ->, number option (digs>);
floating denotation tail (>fa,>n,"("+fa+"Flo "+n+".0"+scale+")">):
   exponent (scale>), ->;
floating denotation tail (>fa,>n,"("+fa+"Int "+n+")">):.

number option (numb>): number (numb>), ->;
number option ("0">):.

scale option (scale>): scale (scale>), ->;
scale option ("">):.

scale (scale>): exponent (scale>), ->;
scale (scale>): electrical scale (scale>).
