Annotation of researchv8dc/cmd/hoc/hoc.1, revision 1.1.1.1

1.1       root        1: .TH HOC 1
                      2: .SH NAME
                      3: hoc \- interactive floating point language
                      4: .SH SYNOPSIS
                      5: .B hoc
                      6: [ file ... ]
                      7: .SH DESCRIPTION
                      8: .I Hoc
                      9: interprets a simple language for floating point arithmetic,
                     10: at about the level of BASIC, with C-like syntax and
                     11: functions and procedures with arguments and recursion.
                     12: .PP
                     13: The named
                     14: .IR file s
                     15: are read and interpreted in order.
                     16: If no
                     17: .I file
                     18: is given or if
                     19: .I file
                     20: is `\-'
                     21: .I hoc
                     22: interprets the standard input.
                     23: .PP
                     24: .I Hoc
                     25: input consists of
                     26: .I expressions
                     27: and
                     28: .IR statements .
                     29: Expressions are evaluated and their results printed.
                     30: Statements, typically assignments and function or procedure
                     31: definitions, produce no output unless they explicitly call
                     32: .IR print .
                     33: .PP
                     34: Variable names are the usual syntax, including `_'; the name `_'
                     35: by itself contains the value of the last expression evaluated.
                     36: The variables E, PI, PHI, GAMMA and DEG are predefined;
                     37: the last is 59.25..., degrees per radian.
                     38: .PP
                     39: Expressions are formed with these operators:
                     40: .nf
                     41: .ta .5i 1.5i
                     42:        ^       exponentiation
                     43:        ! \- ++ \-\-    unary logical and arithmetic negation, ...
                     44:        * / %   the obvious
                     45:        + \-    ditto
                     46:        > >= < <= == !=
                     47:        &&
                     48:        \(or\(or
                     49:        = += \-= \(**= /= %=
                     50: .fi
                     51: Built in functions include 
                     52: .IR abs ,
                     53: .I atan
                     54: (one argument),
                     55: .IR cos ,
                     56: .IR exp ,
                     57: .IR int ,
                     58: .IR log ,
                     59: .IR log10 ,
                     60: .IR sin ,
                     61: and
                     62: .IR sqrt .
                     63: The function
                     64: .I read(x)
                     65: reads a value into the variable 
                     66: .IR x ;
                     67: the statement
                     68: .I print
                     69: prints a list of expressions that may include
                     70: string constants such as
                     71: .IR \&\&\&"hello\en" .
                     72: .PP
                     73: Control flow includes
                     74: .IR if-else ,
                     75: .IR while ,
                     76: and
                     77: .IR for ,
                     78: with braces for grouping.
                     79: End of line marks end of statement, as does a semicolon.
                     80: Comments begin with # and continue to end of line.
                     81: .PP
                     82: Functions and procedures are introduced by the words
                     83: .I func
                     84: and
                     85: .IR proc ;
                     86: .I return
                     87: is used to return, with a value from a function.
                     88: Within a function or procedure,
                     89: arguments are referred to as
                     90: .IR $1 ,
                     91: .IR $2 ,
                     92: etc.; all other variables are global.
                     93: .SH "SEE ALSO"
                     94: .I
                     95: The Unix Programming Environment
                     96: by Brian Kernighan and Rob Pike.
                     97: .br
                     98: .IR bas (1),
                     99: .IR bc (1)
                    100: and
                    101: .IR dc (1).
                    102: .SH BUGS
                    103: Error recovery is imperfect within function and procedure definitions.
                    104: .br
                    105: The treatment of newlines is not exactly user-friendly.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.