Code Monkey home page Code Monkey logo

forth-programming-language's Introduction

Forth programming language

Ejemplos y trucos utilizando el lenguaje de programación Forth

Aquí te pondré algunas cosas relacionadas con el lenguaje Forth.


Por ahora tengo tres juegos:


¿Qué es Forth?

Forth o FORTH es un lenguaje de programación y un ambiente de programación
  para ordenadores inventado por Charles H. Moore en 1968 y usado en 1970
  para controlar el telescopio de 30ft (11 metros) del National Radio Astronomy Observatory de Kitt Peak, Arizona.
Inicialmente diseñado para una aplicación muy concreta, la astronomía
  (cálculo de trayectorias de cuerpos en órbita, cromatografías, análisis de espectros de emisión),
  ha evolucionado hasta ser aplicable a casi todos los demás campos relacionados o no con esa rama
  de la ciencia (cálculos de probabilidad, bases de datos, análisis estadisticos y hasta financieros).
Forth es un lenguaje de programación procedimental, estructurado, imperativo, reflexivo,
  basado en pila y sin comprobación de tipos.
Una de sus importantes características es la utilización de una pila de datos
  para pasar los argumentos entre las palabras, que son los constituyentes de un programa en Forth.
En Forth para el manejo de la pila se usa la notación postfija (notación polaca inversa)
  de forma que para sumar dos números se escriba de esta forma: 3 2 +
  Se ponen los números en la pila y después se indica la operación a realizar con esos números,
    dejando en la pila el resultado.
  Si queremos sumar 3+2 y el resultado multiplicarlo por 7 lo haríamos así: 7 2 3 + *
    Primero se suman 2+3 y el resultado (que estará en la pila) se multiplica por 7.

Para mas información e implementaciones populares de Forth ver:
   Forth en Wikipedia                       https://es.wikipedia.org/wiki/Forth
   Forth Interest Group (FIG)               http://www.forth.org/
   Forth Standard                           https://forth-standard.org/
   GForth del Proyecto GNU                  https://gforth.org/
   Sitio web oficial de FORTH, Inc.         https://www.forth.com/
   Starting FORTH (tutorial de Leo Brodie)  https://www.forth.com/starting-forth/
       Este es el que he usado yo para empaparme de Forth.


Nota sobre util.forth:

El fichero util.forth se carga con los ficheros aquí incluidos (evidentemente salvo el propio util.forth).
En algunos casos, como en eliza.forth, he redefinido algunas de las palabras de util.forth para garantizar el funcionamiento, ya que las definiciones originales no son 100% compatibles con las de util.forth.

Es posible que no siempre se utilicen las palabras de util.forth, pero como las suelo cargar desde esos programas mantengo una copia de los mismos en las carpetas de cada juego/proyecto.

De forma predeterminada el acceso a util.forth se hace usando la estructura de directorios de GitHub, pero en el código de cada programa, pongo también cómo incluirlo si lo mantienes en el mismo directorio del programa, de esa forma te resultará más fácil usarlo sin necesidad de crear toda la estructura de estos directorios.

Igualmente intento, en la medida de lo posible, mantener una copia actualizada (y probada) en cada directorio de cada programa pero si ves que se me ha olvidado, siempre puedes descargar el que está en la carpeta util-forth.

La carpeta util-forth tiene las definiciones de palabras de uso general (y un fichero/programa con pruebas).



Nota sobre la ubicación original de Adivina y Digits:

Estos son los enlaces a los repositorios originales (puede que los elimine).
Los he puesto de solo lectura.

Adivina-Forth

Digits-Forth


Actualizado por Guillermo Som (Guille) el 21 de enero de 2023.

forth-programming-language's People

Contributors

elguille-info avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.