Giter VIP home page Giter VIP logo

gingerparser's Introduction

shieldsIO shieldsIO shieldsIO shieldsIO

GingerCode

Sistema de aprendizaje para futuros programadores.

Se organiza desde el canal #gingercode en Slack

Documentación

Añadelo a tu proyecto de Node.js

  • En tu terminal...
    npm install gingercode --save
  • En tu archivo..
    var gingercode = require("gingercode");
    
    console.log(gingercode.compile("@contador = 1"));

Tareas

  • Testing
gulp test
  • Generar gingercode listo para cliente (front)
gulp client-generation
  • Linter
gulp lint

Logros

v.0.0.2

Objetivo principal:

  • Aislar el core
  • Testear el core
  • Añadir tareas para mejorar el desarrollo

Funcionalidades:

  • Añadidas tareas de Gulp
  • Añadido el soporte básico para testear con Jasmine
  • Añadido un test general con Jasmine
  • Añadido .editorconfig
  • Añadido esLint support
  • Separación del proyeto en diversos repositorios
  • Añadida estructuración de los ficheros y carpetas
  • Añadida documentación básica
  • Añadida soporte como módulo de NPM

v.0.0.1

Notas: Solo un "Hola Mundo"

gingerparser's People

Contributors

aitanadev avatar lilxelo avatar ulisesgascon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

jacintoj

gingerparser's Issues

Error con "Por Cada (foreach)"

En GingerCode:

@datos = ["hola!", "desde", "Ginger Code"]

por cada @dato en @datos
	mostrar "Dato Actual: " + @dato 

Resultado en JavaScript:

var datos = ["hola!", "desde", "Ginger Code"];

por cada dato en datos
	console.log("Dato Actual: " + dato );
}

Estado Actual

Por el momento el desarrollo se realiza en la rama dev.

Los esfuerzos ahora mismo se centran en desarrollar la web. Repositorio ginger.org

Errores en referencia simbólica con operadores lógicos

La referencia simbólica en los operadores lógicos no funciona como debería

En GingerCode:

mostrar 5 mayor que 3
mostrar 5 es mayor que 3
mostrar 5 mayor o igual que 3
mostrar 5 es mayor o igual que 3

mostrar 5 menor que 3
mostrar 5 es menor que 3
mostrar 5 menor o igual que 3
mostrar 5 es menor o igual que 3

mostrar 5 igual 3
mostrar 5 es igual que 3

mostrar 5 estrictamente igual 3
mostrar 5 es estrictamente igual que 3

mostrar 5 diferente  3
mostrar 5 es diferente que 3

mostrar 5 estrictamente diferente 3
mostrar 5 es estrictamente diferente que 3

Resultado en JavaScript:

console.log(5 > 3);
console.log(5 > 3);
console.log(5 mayor o == 3);
console.log(5 es mayor o == 3);

console.log(5 menor que 3);
console.log(5 < 3);
console.log(5 menor o == 3);
console.log(5 es menor o == 3);

console.log(5 igual 3);
console.log(5 == 3);

console.log(5 estrictamente igual 3);
console.log(5 es estrictamente == 3);

console.log(5 diferente  3);
console.log(5 es diferente que 3);

console.log(5 estrictamente diferente 3);
console.log(5 es estrictamente diferente que 3);

Fallo en código al mostrar una función con varios mostrar

Escribiendo este código:
//lea dos numeros y suma, resta, división y producto
procedimiento #operar @numero1 y @numero2
@suma = @numero1 + @numero2
@resta = @numero1 - @numero2
@producto = @numero1 * @numero2
@Division = @numero1 / @numero2
mostrar @suma
mostrar @resta
mostrar @producto
mostrar @Division

pedir @numero1
pedir @numero2

mostrar #operar @numero1 y @numero2

Devuelve:
7
-3
10
0.4
undefined

Creo que no debería devolver el "undefined"

Ejemplos de funciones

¿Podríais facilitar los siguientes ejemplos?

Declaración*

  • Declaración de una función/procedimiento
  • Declaración de una función/procedimiento utilizando la palabra reservada procedimiento
  • Declaración de una función sin argumentos
  • Declaración de una función con argumentos
  • Declaración de una función con argumentos y argumentos opcionales
  • Declaración de una función con retorno

Ejecución

  • Ejecución de una función sin argumentos
  • Ejecución de una función con argumentos
  • Ejecución de una función con argumentos y argumentos opcionales

Error con triple igual

@num = 0
repetir 100
@num = @ num + 1
si @num % 2 === 0 
mostrar @num

Nota:

Me aparece sentencia incorrecta con si @num %2 === 0
En cambio si pongo == me aparece correcto.

Espaciado concatenado en "repetir (for)"

Problemas de espaciado en el bucle for

En GingerCode:

repetir 5 veces
	mostrar "Hola!"

Resultado en JavaScript:

for (var i=0;i<5;i++){
	console.log("Hola!");
}

Fallo con el siguiente código :(

A la hora de poner el siguiente código en GingerCode, no me da respuesta alguna:

#pedirNumero
pedir @num
devolver @num

procedimiento #operaciones @OP1 y @OP2
@operacion = @OP1 + @OP2
mostrar "La suma es: " + @operacion
@operacion = @OP1 - @OP2
mostrar "La resta es: " + @operacion
@operacion = @OP1 * @OP2
mostrar "La multiplicación es: " + @operacion
@operacion = @OP1 / @OP2
mostrar "La división es: " + @operacion

@num1 = #pedirNumero
@num2 = #pedirNumero
#operaciones @num1 y @num2

A lo mejor he hecho alguna cosilla mal en Ginger, pero tampoco me arroja ningún error en la consola de Ginger.

¡Muchas gracias! :)
Un saludo,
Jacinto

Error en definición de variables

En GingerCode:

definir @variable_uno = 5
@variable_dos = 2

Resultado en JavaScript:

definir variable_uno = 5
var variable_dos = 2;

Error con "else (si no)"

Error al reconocer el "else (si no)"

En GingerCode:

@dato = "hola"
si @dato == "hola"
	mostrar "dato -> hola"
pero si @dato == "otro dato"
	mostrar "dato -> otro dato"
si no 
	mostrar "dato con valor raro..."

Resultado en JavaScript:

var dato = "hola";
if ( dato == "hola" ){
	console.log("dato -> hola");
}
 else if ( dato == "otro dato" ){
	console.log("dato -> otro dato");
}
if ( no  ){
	console.log("dato con valor raro...");
}

Soporte comentarios precedidos de código?

Errores al interpretar el comentario en línea u múltiples lineas

En GingerCode:

mostrar 5 + 3 //8
mostrar 5 - 3 //2
mostrar 5 * 3 //15
mostrar 5 + 3 /*
8
*/
mostrar 5 - 3 /*2*/

Resultado en JavaScript:

console.log(5 + 3 //8);
console.log(5 - 3 //2);
console.log(5 * 3 //15);
console.log(5 + 3 /*);
8
*/
console.log(5 - 3 /*2*/);

Errores en referencia simbólica con operadores matemáticos

La referencia simbólica en matemáticas no funciona como debería

En GingerCode:

mostrar 5 mas 2
mostrar 5 menos 2
mostrar 5 por 2
mostrar 5 multiplicado por 2
mostrar 5 dividido 2
mostrar 5 dividido entre 2
mostrar 5 resto 2
mostrar 5 resto entre 2

Resultado en JavaScript:

console.log(5 mas 2);
console.log(5 menos 2);
console.log(5 por 2);
console.log(5 multiplicado por 2);
console.log(5 dividido 2);
console.log(5 dividido entre 2);
console.log(5 resto 2);
console.log(5 resto entre 2);

Error con la actualización de variables

En GingerCode:

variable_dos += 7
@variable_uno += "Texto"
@variable_dos = "Texto"

Resultado en JavaScript:

variable_dos += 7
var variable_uno += "Texto";
var variable_dos = "Texto";

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.