GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  HOC (1)

NAME

hoc - interactive floating point language

CONTENTS

Synopsis
Description
Examples
Source
Bugs

SYNOPSIS

hoc [ file ... ] [ -e expression ]

DESCRIPTION

Hoc interprets a simple language for floating point arithmetic, at about the level of BASIC, with C-like syntax and functions.

The named files are read and interpreted in order. If no file is given or if file is hoc interprets the standard input. The -e option allows input to hoc to be specified on the command line, to be treated as if it appeared in a file.

Hoc input consists of expressions and statements. Expressions are evaluated and their results printed. Statements, typically assignments and function or procedure definitions, produce no output unless they explicitly call print.

Variable names have the usual syntax, including the name by itself contains the value of the last expression evaluated. The variables E, PI, PHI, GAMMA and DEG are predefined; the last is 59.25..., degrees per radian.

Expressions are formed with these C-like operators, listed by decreasing precedence.
^ exponentiation
! - ++ --
* / %
+ -
> >= < <= == !=
&&
||
= += -= *= /= %=
 
Built in functions are abs, acos, asin, atan (one argument), cos, cosh, exp, int, log, log10, sin, sinh, sqrt, tan, and tanh. The function read(x) reads a value into the variable x and returns 0 at EOF; the statement print prints a list of expressions that may include string constants such as "hello\n".

Control flow statements are if-else, while, and for, with braces for grouping. Newline ends a statement. Backslash-newline is equivalent to a space.

Functions and procedures are introduced by the words func and proc; return is used to return with a value from a function.

EXAMPLES

func gcd(a, b) {
        temp = abs(a) % abs(b)
        if(temp == 0) return abs(b)
        return gcd(b, temp) } for(i=1; i<12; i++) print gcd(i,12)

SOURCE

/usr/local/plan9/src/cmd/hoc

SEE ALSO

bc(1), dc(1)
B. W. Kernighan and R. Pike, The Unix Programming Environment, Prentice-Hall, 1984

BUGS

Error recovery is imperfect within function and procedure definitions.
Search for    or go to Top of page |  Section 1 |  Main Index


HOC (1) -->

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.