home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / program / compiler / bob13st / bob.doc < prev    next >
Text File  |  1991-12-24  |  3KB  |  120 lines

  1. Bob was written by:
  2.  
  3.     David Betz
  4.     P.O. Box 144
  5.     Peterborough, NH 03458
  6.     (603) 924-4145
  7.  
  8. Bob is available free of charge for non-commercial use.  If you're
  9. interested in using Bob commercially, please contact me at the above
  10. address.
  11.  
  12. Bob Syntax:
  13.  
  14. Class definition:
  15.  
  16.   class <class-name> [ : <base-class-name> ]
  17.     { <member-definition>... }
  18.  
  19. Member definition:
  20.  
  21.   <variable-name>... ;
  22.   static <variable-name>... ;
  23.   <function-name> ( [ <formal-argument-list> ] ) ;
  24.   static <function-name> ( [ <formal-argument-list> ] ) ;
  25.  
  26. Function definition:
  27.  
  28.   [ <class-name> :: ] <function-name>
  29.     ( [ <formal-argument-list> [ ; <temporary-list> ] )
  30.     { <statement>... }
  31.  
  32. Statement:
  33.  
  34.   if ( <test-expression> ) <then-statement> [ else <else-statement> ] ;
  35.   while ( <test-expression> ) <body-statement>
  36.   do <body-statement> while ( <test-expression> ) ;
  37.   for ( <init-expression> ; <test-expression> ; <increment-expression> )
  38.     <body-statement>
  39.   break ;
  40.   continue ;
  41.   return [ <result-expression> ] ;
  42.   [ <expression> ] ;
  43.   { <statement>... }
  44.   ;
  45.  
  46. Expression:
  47.  
  48.   <expression> , <expression>
  49.   <lvalue> = <expression>
  50.   <lvalue> += <expression>
  51.   <lvalue> -= <expression>
  52.   <lvalue> *= <expression>
  53.   <lvalue> /= <expression>
  54.   <lvalue> %= <expression>
  55.   <lvalue> &= <expression>
  56.   <lvalue> |= <expression>
  57.   <lvalue> ^= <expression>
  58.   <lvalue> <<= <expression>
  59.   <lvalue> >>= <expression>
  60.   <test-expression> ? <true-expression> : <false-expression>
  61.   <expression> || <expresssion>
  62.   <expression> && <expression>
  63.   <expression> | <expression>
  64.   <expression> ^ <expression>
  65.   <expression> & <expression>
  66.   <expression> == <expression>
  67.   <expression> != <expression>
  68.   <expression> < <expression>
  69.   <expression> <= <expression>
  70.   <expression> >= <expression>
  71.   <expression> > <expression>
  72.   <expression> << <expression>
  73.   <expression> >> <expression>
  74.   <expression> + <expression>
  75.   <expression> - <expression>
  76.   <expression> * <expression>
  77.   <expression> / <expression>
  78.   <expression> % <expression>
  79.   - <expression>
  80.   ! <expression>
  81.   ~ <expression>
  82.   ++ <lvalue>
  83.   -- <lvalue>
  84.   <lvalue> ++
  85.   <lvalue> --
  86.   new <class-name> ( [ <constructor-arguments> ] )
  87.   <expression> ( [ <arguments> ] )
  88.   <expression> -> <function-name> ( [ <arguments> ] )
  89.   <expression> '[' <expression ']'
  90.   ( <expression> )
  91.   <variable-name>
  92.   <number>
  93.   <string>
  94.   nil
  95.  
  96. Lvalue:
  97.  
  98.   <variable-name>
  99.   <vector-or-string-expression> '[' <expression> ']'
  100.  
  101. Global Variables:
  102.  
  103. stdin        The standard input file pointer
  104. stdout        The standard output file pointer
  105. stderr        The standard error file pointer
  106.  
  107. Runtime Routines:
  108.  
  109. typeof(x)        Returns the type of its argument
  110. newvector(s)        Returns a new vector of the specified size
  111. newstring(s)        Returns a new string of the specified size
  112. sizeof(x)        Returns the size of a vector or string
  113. fopen(name,mode)    Opens a file (returns a file pointer)
  114. fclose(fp)        Closes a file
  115. getc(fp)        Gets a character from an open file
  116. putc(ch,fp)        Writes a character to an open file
  117. print(x)        Prints an object to stdout
  118. getarg(n)        Gets argv[n]
  119. system(cmd)        Executes a shell command
  120.