main( ) {
   -- statements --
   }
   newfunc(arg1, arg2) {
   -- statements --
   }
   fun3(arg) {
   -- more statements --
   }
(a) SYSTEM? filsys cf bsource,b/1,100/ (b) SYSTEM? filsys cf bhs,b/6,6/,m/r/ (c) SYSTEM? [create source program with any text editor] (d) SYSTEM? ./bj (w) bsource bhs (e) SYSTEM? /bhs
ee n ee name n
main( ) {
  auto a, b, c, sum;
  a = 1; b = 2; c = 3;
  sum = a+b+c;
  putnumb(sum);
}
x = a%b
main( ) {
  auto a;
  a= 'hi!';
  putchar(a);
  putchar('*n' );
}
c = c+'A'-'a';
main( ) {
 extrn a, b, c;
 putchar(a); putchar(b); putchar(c); putchar('!*n');
}
a 'hell';
b 'o, w';
c 'orld';
main( ) {
  extrn a,b,c,d;
  put2char(a,b) ;
  put2char(c,d) ;
}
put2char(x,y) {
putchar(x);
putchar(y);
}
a 'hell'; b 'o, w'; c 'orld'; d '!*n';
put2char( 'hell','o, w'); etc.
main( ) {
  auto c;
  c= getchar();
  putchar(c);
}
	== equal to (".EQ." to Fortraners)
	!= not equal to
	> greater than
	< less than
	>= greater than or equal to
	<= less than or equal to
main( ) {
  auto c;
read:
  c= getchar();
  putchar(c);
  if(c != '*n') goto read;
}               /* loop if not a newline */
if (expression) statement
      if(a<b) {
	t = a;
	a = b;
	b = t;
      }
        read:
           c = putchar(getchar());
           if (c != '*n') goto read;
         read:
          if (putchar(getchar()) != '*n') goto read;
     while ((c=getchar()) != '*n') putchar(c);
while (expression) statement
    (a) evaluate the expression
    (b) if its value is true (i. e., not zero), do the
        statement and return to (a)
x = y = f(a)+g(b)
c = getchar() != '*n'
main( ) {
  auto c;
  while (1) {
    while ( (c=getchar()) != ' ')
      if (putchar(c) == '*n') exit();
    putchar( '*n' );
    while ( (c=getchar()) == ' '); /* skip blanks */
    if (putchar(c)=='*n') exit(); /* done when newline */
    }
}
  while(1){
    ---
  }
      if (expression) statement else statement2
      if (a<b) x=a; else x=b;
      if(---)
        { -----
          ----- }
       else if(---)
        { -----
          ----- }
       else if(----)
        { -----
          ----- }
x = a<b ? a : b;
auto k; k = 0; while (getchar() != '*n') ++k;
          k++
            x = ++k
             x = k++
c = o; i = 36; while ((i = i-9) >= 0) c = c | getchar()<<i;
x = ~y&0777
x = x&077
x =- 10
x = -10
x =- 10
x=-10
x = x<<y|z
x =<< y|z
c= 0; i = 36; while ((i =- 9) >= 0) c =| getchar()<<i;
auto v[10];
sum = o; i = 0; while (i<=n) sum =+ V[i++];
i = -1; while (v[++i]);
extrn v;
v[10];
v[10] 'hi!', 1, 2, 3, 0777;
auto u[10], v[10]; --- u = v; v[0] = ... v[1] = ... ---
x[0] is equivalent to *x x[1] is equivalent to *(x+1) &x[0] is equivalent to x
"this is a string"
"hello"
"He said, *"Let's go.*""
   a "hello"; b "world'*;
   v[2] "now is the time", "for all good men",
       "to come to the aid of the party";
   strcopy(sl ,s2){
   auto i;
   i = 0;
   while (lchar(sl,i,char(s2,i)) != '*e') i++;
  }
   char(s, n){
     auto y,sh,cpos;
     y = s[n/4];        /* word containing n-th char */
     cpos = n%4;        /* position of char in word */
     sh = 27-9*cpos;    /* bit positions to shift */
     y =  (y>>sh)&0777; /* shift and mask all but 9 bits */
     return(y);         /* return character to caller */
   }
char(s,n) return((s[n/4]>>(27-9*(n%4)))&0777);
   getstr(s){
   auto c,i;
   while ((c=getchar()) != '*n') lchar(s,i++,c);
   lchar(s,i,'*e');
   return(s) ;
   }
   auto s[20] ;
   putstr(getstr(s)); putchar('*n');
     loop:
       switch (c=getchar()){
        pr:
              case 'p':  /* print */
              case 'P':
                print();
                goto loop;
              case 's':  /* subs */
              case 'S':
                subs() ;
                goto pr;
              case 'd':  /* delete */
              case 'D':
                delete();
                goto loop;
              case '*n': /* quit on newline */
                break;
              default:
                error();  /* error if fall out */
                goto loop;
        }
      switch (expression) statement
         case constant:
openr(5, "cat/file")
openw(u,s)
   putstr("old or new?");
   flush();
   getstr(s);
         old or new?
reread(); getstr(s);
   system("./rj (w) ident;file");
./rj (w) ident;file
   extrn wr.unit;
   ---
   wr.unit = -1;
   opts = "(w)";
   fname = "file";
   printf("./rj %s ident;%s*n", opts,fname');
   putnumb(n) {
     auto a;
     if(a=n/10)   /* assignment, not equality test */
        putnumb(a);  /* recursive */
        putchar(n%10 + '0');
    }
      flip(x,y){
         auto t;
         t = x;
         x = y;
         y = t;
       }
flip(&a,&b);
   flip(x,y){
   auto t;
    t = *y;
    *x = *y;
    *y = t;
    }
callf(name, a1,a2, . . .,a10)
tod = callf(itimez,&0)
t=0; tod = callf(itimez,&t) ;
s = callf(sin,&x)
callf(sin2,&x,&s)
subroutine sin2(x,y) y = sin(x) return end
$)	-	{ } imbalance
()	-	( ) imbalance
*/	-	/**/ imbalance
[]	-	[] imbalance
>c	-	case table overflow (fatal)
>e	-	expression stack overflow (fatal)
>i	-	label table overflow (fatal)
>s	-	symbol table overflow (fatal)
ex	-	expression syntax error
lv	-	address expected
rd	name	name redeclaration - multiple definition
sx	keyword	statement syntax error
un	name	undefined name -  line number is last line
		of function where definition is missing
xx	-	syntax error in external definition
	*0 	null (ascii NUL = 000)
	*e	end of string (ascii EOT = 004)
	*(	{
	*)	}
	*t	tab
	**	*
	*'	'
	*"	"
	*n	newline
c -- character data (ascii) d -- decimal number o -- octal number s -- character string
   printf("%d + %o is %s or %c*n", 1,-1,"zero",'0');
1 + 777777777777 is zero or 0
   wr.unit = -1 ;
   printf("filsys cf %s,b/%d/,r*n",s,n);
     ++  --  *  &  -  ! ~ (unary) [RL]
     *  /  % (binary)    [LR]
     +  -  [LR]
     >>  << [LR]
     >  <  <=  >=
     ==   !=
     &   [LR]
     ^   [LR]
     |   [LR]
     ?:  [RL]
     =   =+  =-  etc. (all assignment operators) [RL]