JavaScript 72 – progetto di un linguaggio di programmazione – 7

Continuo da qui, copio qui.
Sempre esercizi.

Commenti in Egg
It would be nice if we could write comments in Egg. For example, whenever we find a hash sign (#), we could treat the rest of the line as a comment and ignore it, similar to // in JavaScript.

We do not have to make any big changes to the parser to support this. We can simply change skipSpace to skip comments like they are whitespace so that all the points where skipSpace is called will now also skip comments. Make this change.

L’esercizio ha due aspetti: nodificare la regexp inserendo # e modificare il codice del linguaggio (p-egg.js) per cambiare la funzione skipSpace. Ma non ci sono riuscito. E non ho capito dove sbaglio, non ho trovato delucidazioni né su Stack Overflow né su Google. Sicuramente un errore mio ma non so quale.

La soluzione di Marijn, qui:

function skipSpace(string) {
  var skippable = string.match(/^(\s|#.*)*/);
  return string.slice(skippable[0].length);
}

console.log(parse("# hello\nx"));

console.log(parse("a # one\n   # two\n()"));

:mrgreen:

Annunci
Post a comment or leave a trackback: Trackback URL.

Trackbacks

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: