uqbar-project / wollok-ts

TypeScript based Wollok language implementation
GNU General Public License v3.0
20 stars 15 forks source link

Comentarios rompen el parser #259

Open zhl27 opened 3 months ago

zhl27 commented 3 months ago

https://github.com/pdep-lunes-tarde/2023-objetos-tp-integrador-adler-objetos.git

(en el wollok de eclipse funciona bien)

Al correr wollok run juego.wpgm en la terminal de linux, salta el siguiente error:

💥 Uh-oh... Unexpected Error! Failed to parse mapa.wlk: -- PARSING FAILED --------------------------------------------------

    137 |                                 const cantidad = dificultad.squareRoot().roundUp()
    138 |                                 self.spawnearFantasmas(cantidad)
>  139 |                         }
        |    ^
    140 |                 })
    141 |         }

Expected one of the following:

'@', 'class', 'const', 'describe', 'mixin', 'object', 'only', 'package', 'program', 'test', 'var', '{', EOF, comment, not "} ", whitespace

ivojawer commented 2 months ago

Gracias por reportar! Estuve haciendo algunas pruebas y el problema esta en la combinacion bloques/comentarios.

Algunos ejemplos:

object pepita {  
  // OK
  method fly1() {
    //comment
  }

  //malformed sentence
  method fly2() {
    [1,2,3].forEach({n => /*comment*/})
  }

  //rompe el parseo del file si saco el [1,2,3].add(4)
  method fly3(){
    { n => 
      [1,2,3].add(4) 
      //comment
    }
  }

  method fly4() {
    // OK
    [1,2,3].add(3/*comment*/) 

    //malformed sentence
    [1,2,3].add(3
    //comment
    )
  }

  //rompe el parseo del file (si saco cualquiera de los dos se arregla)
  method fly5() {
    {n => 
      [1,2,3].add(3) //comment
      //comment 
    }

  }

  // OK
  method fly6(){
    [1,2,3].forEach{n => n.even()}
  }
}