FACT (lenguaje informático)


De Wikipedia, la enciclopedia libre
  (Redirigido desde el lenguaje informático FACT )
Saltar a navegación Saltar a búsqueda

FACT es uno de los primeros lenguajes de programación de computadoras descontinuados , creado por la División Datamatic de Minneapolis Honeywell para sus computadoras comerciales modelo 800 de la serie en 1959. FACT era un acrónimo de "Técnica de compilación totalmente automática". [1] Influyó en el diseño del lenguaje de programación COBOL .

Parte del diseño de FACT se basó en el proyecto lingüístico Basic English , desarrollado alrededor de 1925 por CK Ogden .

En realidad, el software fue diseñado por Computer Sciences Corporation (Fletcher Jones, Roy Nutt y Robert L. Patrick) bajo contrato con Richard Clippinger de Honeywell.

Contribuciones a COBOL

FACT influyó en el diseño de COBOL y es uno de los tres lenguajes predecesores acreditados en todos los manuales de COBOL.

Se incorporaron varios elementos de FACT en COBOL:

  • Definición de datos como niveles, con elementos de grupo y elementos elementales.
  • Asignación de valores iniciales a los datos a medida que se definen ( VALUEcláusula).
  • Especificar una lista limitada de valores literales permitidos en un campo específico ( 88elementos de datos de nivel).
  • Un generador de informes no procedimentales basado en especificar la apariencia del informe deseado (Sección de informes en COBOL-66).
  • Calificación de nombres de datos ( INo OFcláusula).
  • Movimiento de grupo de elementos con el mismo nombre ( MOVE CORRESPONDING).
  • Verificaciones de validez de declaraciones de procedimiento ( ON ERRORcláusula).
  • Función SORTincorporada.

Implementaciones

No está claro si Honeywell lanzó alguna vez una versión funcional de FACT. Se diseñó el lenguaje y se publicó una especificación detallada (ver referencias), pero decía que "Computer Sciences Corporation también tiene el contrato para implementar FACT", lo que implica que todavía estaban trabajando en una implementación en ese momento. Aproximadamente en ese momento, el comité de corto alcance comenzó a desarrollar COBOL, y Roy Nutt, uno de los 3 directores de CSC, comenzó a trabajar con ese comité en COBOL. No está claro si alguna vez volvió a implementar FACT o si Honeywell concentró su esfuerzo de programación en un compilador COBOL.

FACT se implementó, [2] sin embargo, estaba siendo utilizado por el Departamento de Defensa de Australia en la década de 1960 y principios de la de 1970. [ aclaración necesaria ] [ aclaración necesaria ]

Programa de muestra

Los siguientes ejemplos de código de la aplicación de nómina simple en la especificación FACT muestran la naturaleza de forma fija de FACT y sus similitudes con COBOL.

Esquemas de archivo:

O  1 RU  DETALLE-FILE ,  ( DETALLE ), ( D ) O  2 FECHA O  3 MES O  4 DÍA O  5 AÑO O  6 * EMPLEADOS-RECORD O  7 EMPLEADOS-NO ,  ( EMPLOYNO ) O  8 * NUEVO-empleado , ( NW ) O  9 NOMBRE O  10 TARIFAO  11 EXENCIONES , ( EXENTAS ) O  12 BONO-DEDUCCIÓN , ( BONDEDUCT ) O  13 BONO-DENOMINACIÓN , ( BONO )O  30 I  ARCHIVO INTERNO1 O  31 DATOS DE TRABAJO O  32 11 D  SUMA DE LOTE O  33 11 D  NÚMERO DE LOTE O  34 11 D  CUENTA DE LOTE  O O  35 11 D  1 SUMA DE HORAS O  36 11 D  TARJETAS ENTRADAS -LOTE  O

Declaraciones de fuente:

P  85 PROCEDIMIENTO DE  ADHESIÓN .  ESCRIBA  BONDORDER  Y  RESTE  1 DE  NUM . P  86 P  87 NOTA .  FASE  I  DEL  PROGRAMA DE MUESTRA  . LOS SIGUIENTES PROCEDIMIENTOS SON UTILIZADOS PARA P 88 HAGA BATCH CONTROLES DURANTE LA TARJETA DE LECTURA PASS . P 89 P 90 PROCEDIMIENTO DE RESUMEN . AGREGAR                   RP  HORAS  A  SUMA DE HORAS .  AÑADIR  1 A LA  ENTRADA DE TARJETAS - P  91 - LOTE . P  92 P  93 PROCEDIMIENTO DE COMPROBACIÓN DE LOTES  . SI LA SUMA DE LOTE NO ES IGUAL A LA SUMA DE HORAS O EL LOTE - P 94 - EL RECUENTO NO ES IGUAL A LAS TARJETAS EN LOTE VER LOTE MAL . AJUSTE SUMA DE HORAS P 95 Y                     TARJETAS EN LOTE  A  CERO . P  96 P  97 PROCEDIMIENTO DE LOTE  INCORRECTO .  REVERSO  NUEVO MAESTRO .  CIERRE  LA PÁGINA  DEL  INFORME DE ERRORES . P  98 P  99 L .  PONER  LOS CEROS  EN LA  LÍNEA DE IMPRESIÓN .  AJUSTE  NUM  EN  8 . P  100 P  101 CONSTRUIR .  PUT  EMPLOYNO  Y  RP  HORAS  EN ( NUM )TH  EN  Y  EH .  SUB - P  102 TRACT  1 DE  TARJETAS EN LOTE  Y  NUM .  SI  LAS TARJETAS EN LOTE  ES  CERO,  ESCRIBIR P  103 INFORME DE ERROR ,  INVERTIR  NEW-MASTER ,  DEJAR  EL PROCEDIMIENTO .  CONSIGUE  EL PRÓXIMO  GRUPO . P  104 SI  NUM  ES  CERO  ESCRIBA  INFORME  DE  ERRORES Y VAYA  A  L ,  DE LO CONTRARIO RETURN  TO P  105 BUILD .  FIN  DEL  PROCEDIMIENTO .

Descripciones de informes:

R  1 40 INFORME DE ERROR A  2 TÍTULOS DE PÁGINA  HDEJ  2 F  3 LOTE-NÚMERO  24 LOTE  NO .  ^ F  4 NÚMERO  DE PÁGINA 1 43 EN  PÁGINA DE ERROR  ^ A 5 TÍTULOS DE COLUMNA HD 3 F 6 30 EMP . NO . HORAS EMP . NO . HORAS ^ F 7 60 EMP .       NO .  HORAS  EMP . NO . HORAS ^ F  8 90 EMP . NO .  HORAS  EMP . NO . HORAS ^ F  9 120 EMP . NO .  HORAS  EMP . NO . HORAS ^ A  10 ERROR-LINE  OO  1 F  11 1 ST  EN  8 ^ F  12 1 ST RH  14 . ^ F  13 2 ND  EN  23 ^ F  14 2 ND  RH  29 . ^ F  15 3 RD  EN  38 ^ F  16 3 RD  RH  44 . ^R  101 4 OBONDORDER A  102 BOND-HEADING  HDEJ  2 F  103 BPAGE  1 A  104 BONDORDER-LINE  OO  1 F  105 M  EMPLOYNO F  106 M  NAME

Diseños de informes:

L  1 LOTE DE TÍTULOS  DE  PÁGINA NO .  ^  EN  ERROR  PÁGINA ^ L  2 COLUMNA-ENCABEZAMIENTO  EMP . NO .  HORAS  EMP . NO .  HORAS  EMP . NO .  HORAS  EMP . NO .  HORAS  EMP . NO .  HORAS  EMP . NO .  HORAS  EMP . NO .  HORAS  EMP . NO .  HORASL  3 LÍNEA DE ERROR  ^  . ^  ^  . ^  ^  . ^  ^  . ^  ^  . ^  ^  . ^  ^  . ^  ^  . ^ L  4 ENLACE-ENCABEZAMIENTO  BOND  ÓRDENES  EMP .  NO .  NOMBRE  FECHA  BOND  PAGE ^ L  5 BONDORDER-LINE  ^  ^  ^ -  ^ -  ^  .  ^ L  6 BORRANDO  TERMINACIONES  EMP .  NO .  FECHA  NOMBRE  BONO  CR .  TOTALES ...  IMPUESTO BRUTO  FICA INSUR RET PAGE ^ L 7 SUPRESIONES-LINE ^ ^ - ^ - ^ ^ . ^ . ^ . ^ . ^ . ^ . ^ L 8 ERRORES DE ENCABEZADO DE ERRORES ... EMP . NO . FECHA                             ESCRIBA  PÁGINA ^ L  9 LÍNEA DE ERROR  ^  ^ -  ^ -  ^  ^ L  10 LÍNEA  DE  TÍTULO COLOCAR FORMULARIO DE VERIFICACIÓN  EN LA IMPRESORA L 12 1 LÍNEA DE PAGO ^ ^ / ^ / ^ . ^ ^ / ^ / ^ L 13 2 LÍNEA DE PAGO . ^ . ^ . ^ . ^ . ^ L 14 3 LÍNEA DE PAGO ^ $                        **** .  ^  .  ^  .  ^

Fuentes

Referencias

  1. ^ HECHO Técnica de compilación completamente automática (PDF) . Procesamiento electrónico de datos de Honeywell. 1960. DSI-27.
  2. ^ Clippinger, RF (1 de agosto de 1962). "Hecho" . The Computer Journal . 5 (2): 112–119 (118 - Experiencia con el uso de FACT ). doi : 10.1093 / comjnl / 5.2.112 . ISSN 0010-4620 . 

Obtenido de " https://en.wikipedia.org/w/index.php?title=FACT_(computer_language)&oldid=1039882308 "