hoc , un acrónimo de High Order Calculator , es un lenguaje de programación interpretado que se usó en el libro de 1984 The Unix Programming Environment para demostrar cómo construir intérpretes usando Yacc .
Autor (es) original (es) | Brian Kernighan , Rob Pike ( Laboratorios Bell de AT&T ) |
---|---|
Versión inicial | 1984 |
Repositorio | |
Sistema operativo | Unix , plan 9 |
Plataforma | Multiplataforma |
Tipo | Lenguaje de programación , Command |
hoc fue desarrollado por Brian Kernighan y Rob Pike como una calculadora interactiva glorificada. Su funcionalidad básica es evaluar expresiones numéricas de coma flotante, por ejemplo, "1 + 2 * sin (0.7)". Luego, se agregaron variables, condicionales, bucles, funciones definidas por el usuario, E / S simple y más, utilizando una sintaxis similar a C.
Un intérprete de hoc mejorado se incluyó en la octava edición de Research Unix en 1985, pero no ha sido adoptado generalmente por los sistemas comerciales de Unix o por las distribuciones de Linux . En cambio, los lenguajes de calculadora anteriores dc y bc se han generalizado en esos sistemas. hoc sobrevivió y continuó evolucionando como parte del sistema operativo Plan 9 . Bell Labs y otras personas lanzaron varias versiones mejoradas de Hoc como software gratuito (consulte la lista a continuación). hoc se utiliza como lenguaje de programación principal para el simulador de Neuron .
Ejemplos de
El siguiente es un ejemplo simple de una sesión de calculadora interactiva en hoc; el texto resaltado representa la salida de hoc:
1 + 2 * 3 7ángulo = PI / 3 r = sin ( ángulo ) r 0.866025r * 2 1,73205
Y un ejemplo sencillo de funciones y control de flujo:
func atan 2 () { if ( $ 1 > 0 ) { return atan ( $ 2 / $ 1 ) } else if ( $ 1 < 0 ) { return atan ( $ 2 / $ 1 ) + PI } else if ( $ 2 > 0 ) { return PI / 2 } else if ( $ 2 < 0 ) { return - PI / 2 } else { print "error de dominio atan2" return 0 } } atan 2 ( 2 , 3 ) 0,982794atan 2 ( 0 , 0 )error de dominio atan 2 0.0
Referencias
- Kernighan, Brian W .; Pike, Rob (1984). El entorno de programación Unix . Prentice Hall. ISBN 0-13-937681-X.
enlaces externos
- Plan 9 , Volumen 1 - Manual del programador de
implementaciones y versiones hoc
- Versiones de AT&T:
- El código original del libro Unix Programming Environment , incluido hoc.
- Código fuente de hoc de Bell Labs, publicado como software gratuito . Esta es la versión Research Unix, ligeramente mejorada con respecto a la del libro.
- Versión Plan9 de hoc publicada bajo la licencia pública de Lucent . Esta versión es ligeramente diferente de la versión Research Unix, siendo la diferencia más notable que los argumentos de función numerados ($ 1, $ 2, etc., como en el shell de Unix) fueron reemplazados por argumentos con nombre (como en C). Consulte también el manual hoc de Plan 9 .
- Otras versiones:
- una versión ampliada de hoc de Nelson HF Beebe.
- una versión ampliada de hoc de Nadav Y. Har'El.
- una versión extendida de hoc de Jack Dennon.
- una versión ampliada de hoc de Michael Hines, John W. Moore y Ted Carnevale.