home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V6 / usr / man / man6 / sno.6 < prev    next >
Encoding:
Text File  |  1975-06-26  |  1.7 KB  |  85 lines

  1. .th SNO VI 2/9/73
  2. .sh NAME
  3. sno \*- Snobol interpreter
  4. .sh SYNOPSIS
  5. .bd sno
  6. [ file ]
  7. .sh DESCRIPTION
  8. .it Sno
  9. is a Snobol III (with slight differences)
  10. compiler and interpreter.
  11. .it Sno
  12. obtains input from the
  13. concatenation of
  14. .it file
  15. and the standard input.
  16. All input through a statement
  17. containing the label `end' is
  18. considered program and is compiled.
  19. The rest is available to `syspit'.
  20. .s3
  21. .it Sno
  22. differs from Snobol III in the following ways.
  23. .s3
  24. There are no unanchored searches.
  25. To get the same effect:
  26. .s3
  27.     a ** b        unanchored search for b
  28. .br
  29.     a *x* b = x c    unanchored assignment
  30. .s3
  31. There is no back referencing.
  32. .s3
  33.     x = "abc"
  34. .br
  35.     a *x* x        is an unanchored search for `abc'
  36. .s3
  37. .i0
  38. Function declaration is different.
  39. The function declaration is
  40. done at compile time by the use of the label `define'.
  41. Thus there is no ability to define functions at run time
  42. and the use of the name `define' is preempted.
  43. There is also no provision for automatic variables
  44. other than the parameters.
  45. For example:
  46. .s3
  47. .lp +8 8
  48. .bd "define    f( )"
  49. .s3
  50. .i0
  51. or
  52. .s3
  53. .lp +8 8
  54. .bd "define    f(a,b,c)"
  55. .s3
  56. .i0
  57. All labels except `define' (even `end')
  58. must have a non-empty statement.
  59. .s3
  60. If `start' is a label in the program,
  61. program execution will start there.
  62. If not, execution begins with the first
  63. executable statement.
  64. `define' is not an executable statement.
  65. .s3
  66. There are no builtin functions.
  67. .s3
  68. Parentheses for arithmetic are not needed.
  69. Normal precedence applies.
  70. Because of this, the arithmetic
  71. operators `/' and `*'
  72. must be set off by space.
  73. .s3
  74. The right side of assignments
  75. must be non-empty.
  76. .s3
  77. Either \*a or " may be used for literal quotes.
  78. .s3
  79. The pseudo-variable `sysppt' is not available.
  80. .sh "SEE ALSO"
  81. Snobol III manual.
  82. (JACM;
  83. Vol. 11 No. 1; Jan 1964; pp 21)
  84. .sh BUGS
  85.