RubioScript

Un lenguaje de script que describe y resuelve problemas de primaria.

RubioScript surge de la inspiración en los cuadernillos de problemas Rubio de mi infancia, la necesidad de hacer algo distinto para pasar el rato, y las ganas de hacer mi propio lenguaje de programación e intérprete. Espero que no me demanden.

Sintaxis

RubioScript es un pequeño lenguaje de programación declarativo específico para describir y resolver problemas de primaria. Su sintaxis es muy parecido al español. Se trabaja con sujetos, objetos y unidades. Los objetos no son parte de una orientación a objetos.

Asignación

Tiene la forma

'sujeto' tiene 'objeto' 'unidades'

Ejemplo

Pedro tiene 3 manzanas.

Con esto se crea un sujeto llamado Pedro que tiene 3 unidades del objeto manzanas.

Contenedor

Una variante del sujeto son los contenedores. Es exactamente igual que el sujeto. Solamente es para hacer el lenguaje más expresivo.

En (un|una) 'contenedor' (hay|habia) 'unidades' 'objeto' En un cuenco habia 3 platanos.

Salida

Obviamente necesitamos saber el resultado del problema. Esto se hace preguntando sobre el sujeto o globalmente.

Sobre el sujeto

(Cuántas|Cuántos) 'objeto' tiene 'sujeto'? Pedro tiene 3 manzanas, cuántas manzanas tiene Pedro? Pedro tiene 3 manzanas.

Puedes usar . y , para separar las sentencias.

Esta forma es para contenedores.

(Cuantos|Cuantas) 'objeto' hay en (el|la|ese|esa) 'contenedor' Cuantos platanos hay en el cuenco?

Globalmente

Cuantos|Cuantas 'objeto' hay en total? Pedro tiene 1 caramelos, Maria tiene 2 caramelos, cuantos caramelos hay en total? Hay 3 caramelos en total.

Operaciones

Obviamente necesitamos hacer operaciones como dar o quitar objetos a sujetos, objetos entre sujetos y objetos entre sujetos y contenedores.

Objetos a sujetos

Si se (da|quita) 'unidades' 'objeto' a 'sujeto'. Pedro tiene 4 manzanas. Si se da 2 manzanas a Pedro, cuantas manzanas tiene Pedro? Pedro tiene 6 manzanas.

Objetos entre sujetos

Si 'sujeto' (da|quita) 'unidades' 'objetos' a 'sujeto2' Pedro tiene 3 manzanas. Si Maria quita 3 manzanas a Pedro, cuantas manzanas tiene Pedro? Pedro tiene 0 manzanas.

Aquí se ve que María no tiene, o no se sabe, cuántas manzanas tiene al principio. Se asume que no tiene nada María. Si se pregunta cuántas manzanas tiene María pues la respuesta es 3.

Objetos entre sujetos y contenedores

Esta es una forma especial entre objetos entre sujetos. De hecho actúa de la misma forma.

'sujeto' (coge|pone) 'unidades' 'objeto' (de|en) (la|el|un|una) 'contenedor' Maria coge 3 peras de el cuenco. Pedro pone 2 peras en el cuenco.

¡Pruébalo!

RubioScript v1.0.0

Resultado

Licencia del intérprete

Affero General Public License v3 (AGPL-3.0)

Arriba