Aratu música escrita para tocar e mudar enquanto toca

2. O léxico: as palavras da linguagem

▶ Abrir no Aratu para ouvir e mudar os exemplos

O léxico é o conjunto de "palavras" (em inglês, tokens) que o Aratu reconhece. Cada linha é uma declaração (statement). Dentro de chaves, ; separa declarações na mesma linha, e // começa um comentário até o fim da linha.

Tipo Exemplos O que é
nome (identificador) melodia, bass, riff, temas letras, números e _, começando por letra
caminho bass.reverb.mix, drums.hh, riff.inv nomes ligados por pontos
palavra-chave tempo, meter, key, pattern, play, at, every, now, over, motif, row, list, from palavras reservadas, com sentido fixo, em inglês, português ou espanhol (tempo, andamento, pulso)
número 120, 0.42, -1, 1.2 inteiros e decimais, com ponto
unidade Hz, kHz, ms, s, % logo depois de um número
operador =, :, ->, <->, ., , ligam as partes de uma declaração
música dó4, c4, fá#, mib, Am, c, o, _, -, [ ], { | }, | os símbolos dentro de uma linha de música

Os símbolos de música formam uma pequena linguagem dentro da linguagem: um literal de música, como uma string ou um número são literais em outras linguagens. O espaço separa tempos, | separa compassos, [ ] agrupa num tempo, { | } sorteia, _ sustenta, - é pausa, + junta notas num acorde, maiúscula é acento, ' é staccato, ^ é fermata, ? é acaso e x4 repete.