casianorodriguezleon
PL1516

Updated 4 years ago

Casiano Rodríguez León (@casianorodriguezleon) started discussion #5

4 years ago · 1 comment

Open

Puede editar el texto que sigue y pulsar submit para comprobar si su solución coincide con la del profesor. si cree tener la solución puede comentarla en este párrafo (signo de + a la derecha del párrafo, es necesario estar registrado).

Ejercicios (Edit this file)

Comente aquí su solución

No description provided.

No coincide pero es dificil hacerlo igual(espacios y comas).

Añado un link para el destructuring ya que es una característica muy parecida al pattern matching y útil.

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

factor = NUMBER
    / id:ID LEFTPAR value:(assign (COMMA assign)*)? RIGHTPAR /* llamada a función*/ {
        if (value) {
            let [fst, snd] = value;
            return {
                type: 'CALL',
                name: id,
                children: [fst].concat(snd.map(([_, t]) => t))
            }
        }
        else {
            return {
                type: 'CALL',
                name: id,  // también se podría devolver una lista vacía de hijos
            }
        }
    }
    / ID
    / LEFTPAR t:assign RIGHTPAR   { return t; }
Casiano Rodríguez León @casianorodriguezleon commented 4 years ago

Perfecta la solución!


to join this conversation on GitBook. Already have an account? Sign in to comment
Notifications

You’re not receiving notifications from this thread.


2 participants