Skip to content
Tórculo1.0 · working draft

Part 1 · epoch 2 · 98 vocabularies

Pliego language reference

The closed vocabularies of the Tórculo language (epoch 2), generated from the reference implementation’s parser, with their profile and source; diagnostic codes and the EBNF grammar.

The closed vocabularies

Epoch 2. 98 vocabularies, extracted from manim-saorín’s parser with spec/vocabularios/extrae.py (the rule of authority: a hand-written table that disagrees with the parser is a bug). A conforming compiler accepts every one of these words; profiles say what each interpreter realises. Also as vocabularios.json.

ACCION_FICHA

core15 wordsalphabetical

formato.aspecto.ACCIONES

Word
anda
aplaude
baila
cae
celebra
corre
gesticula
gira el dial
grita
habla
recoge
salta
se levanta
senala
señala

AFECTO

core8 wordsalphabetical

formato.vocabulario.AFECTOS

Word
contenido
euforico
exhausto
jugueton
nervioso
seco
sereno
solemne

ALTURA

core5 wordsalphabetical

formato.continuidad.ALTURAS

Word
cenital
contrapicado
nadir
normal
picado

ANCLA

core5 wordsalphabetical

formato.vocabulario.ANCLAS

Word
bordado
celo
chincheta
esquineras
washi

ARCO

core6 wordsalphabetical

formato.vocabulario.ARCOS

Word
espiral
letania
pregunta→respuesta
ruina
tesis→antitesis→sintesis
viaje y vuelta

AUTORIDAD

core34 wordsalphabetical

formato.precedencia.AUTORIDADES

Word
afecto
alias
archivo
capitulo
caracter
compositor
cuerpo
declarado
escena
estrato
exacto
gesto
identidad
legibilidad
lejania
ligadura
llegada
luz
manera
mano
mano_taller
materia
orden_mano
orden_mundo
paleta
papel
partitura
proscenio
semilla
slot
texto_difuso
texto_exacto
tope
ventana

AVISO_CONTINUIDAD

core5 wordsalphabetical

formato.continuidad.AVISOS

Word
RACCORD DE DIRECCIÓN
RACCORD DE ESTADO
RACCORD DE MIRADA
SALTO DE EJE
SALTO DE TALLA

BANDA_CUADRO

camera4 wordsalphabetical

formato.camara.BANDAS

Word
de abajo
de arriba
de la derecha
de la izquierda

BLANCO_CADENCIA

camera6 wordsalphabetical

formato.camara.BLANCOS_CADENCIA

Word
el fondo
la camara
la letra
las figuras
lo de delante
todo

BOBINA

core3 wordsalphabetical

formato.aspecto.BOBINAS

Word
noticiario
sin grano
truca

BOSQUE

poster5 wordsalphabetical

formato.cartel.BOSQUES

Word
brazos
brazos y punos
manos
manos abiertas
punos

CADENCIA

camera4 wordsmeaningful order

formato.camara.CADENCIAS

Word
en uno
en dos
en tres
en cuatro

CLAVE_MANO

core7 wordsalphabetical

formato.taller.MANO_BASE

Word
cansa
entra
granulado
precision
pulso
sale
toca la truca

CLAVE_VIS

core68 wordsalphabetical

visualizaciones.CATALOGO

Word
alfiler
ancla
arbol
balanza
barras
brujula
bucle
cadena
caja
cancelacion
ciclo
comparacion
constelacion
convergencia
cuadrante
cuenta
curva
dado
diana
dispersion
distribucion
domino
ecuacion
ejes
embudo
engranaje
escalera
espectro
espiral
flecha de proceso
fraccion
globo
grieta
huella
interruptor
isla
jerarquia
laberinto
linea temporal
lista tachada
lupa
mapa
medidor
moneda
monton
multitud
onda
orbita
papeleta
pendulo
pila
ping pong
porcentaje
proceso
puente
recorrido
red
reloj
resta
semaforo
suma
telarana
teorema
termometro
titere
venn
versus
votos

COLOR_CARTEL

poster16 wordsalphabetical

formato.cartel.COLORES

Word
amarillo
arena
azul
blanco
celeste
crema
lila
minio
morado
naranja
negro
rojo
rosa
tinta
ultramar
verde

COMPOSICION

poster15 wordsalphabetical

formato.cartel.COMPOSICIONES

Word
campo a sangre
campo en bandas
campo partido en diagonal
centro vacio
columna a sangre a la derecha
columna a sangre a la izquierda
diagonal de abajo a la izquierda arriba a la derecha
diagonal de arriba a la izquierda abajo a la derecha
disco detras
en silueta
enorme
figura delante de la letra
la letra corta a la figura
la letra delante de la figura
tercios

CORTE

poster12 wordsalphabetical

formato.cartel.CORTES

Word
cortada por abajo
cortada por arriba
cortada por el borde
cortada por la derecha
cortada por la frente
cortada por la izquierda
cortado por abajo
cortado por arriba
cortado por el borde
cortado por la derecha
cortado por la frente
cortado por la izquierda

DESREGISTRO

core2 wordsalphabetical

formato.aspecto.DESREGISTROS

Word
desregistrada
en registro

DIMENSION

core10 wordsalphabetical

formato.precedencia.DIMENSIONES

Word
color_estrato
curva
fondo
nombre
sitio
sombra
tamaño
tiempo
velocidad_estrato
z

DIRECCION_FUENTE

hearing4 wordsalphabetical

formato.oye.DIRECCIONES_LUZ

Word
desde abajo
desde arriba
desde la derecha
desde la izquierda

DIRECCION_LUZ

core5 wordsalphabetical

formato.vocabulario.DIRECCIONES_LUZ

Word
cenital
de atras
de frente
de la derecha
de la izquierda

DISPOSICION

core8 wordsalphabetical

formato.vocabulario.DISPOSICIONES

Word
amontonados
como flores
en abanico
en columna
en corro
en fila
en fila holgados
en rejilla

DISPOSICION_SIGNO

poster6 wordsalphabetical

formato.cartel.DISPOSICIONES

Word
a sangre
en abanico
en columna
en escalera
girada
rota por el borde

DISTANCIA

camera9 wordsmeaningful order

formato.camara.DISTANCIAS

Word
delante
al pie
cerca
al paso
a media distancia
lejos
al fondo
en el horizonte
en el cielo

DUREZA

core2 wordsalphabetical

formato.vocabulario.DUREZAS

Word
blanda
dura

ENCUADRE_INCOMODO

camera7 wordsalphabetical

formato.camara.INCOMODOS

Word
aire al reves
cortado por la barbilla
cortado por la frente
cuadro vacio
demasiado cerca de
el que habla fuera de campo
mirando fuera de campo

ESPACIO

sound5 wordsalphabetical

formato.aspecto.ESPACIOS_SALA

Word
estadio
estudio
patio
radio
seco

ESPEJO_LADO

core2 wordsalphabetical

formato.aspecto.ESPEJO_LADOS

Word
de la derecha
de la izquierda

EVENTO

core163 wordsalphabetical

formato.vocabulario.EVENTOS

WordMaps to
a la vezvivo
aire al revesvivo
amanecevivo
anochecevivo
arranca de golpevivo
asomavivo
barrevivo
barridovivo
barrido a la derechavivo
barrido a la izquierdavivo
barrido hacia abajovivo
barrido hacia arribavivo
barrido temporalvivo
cada voz a su ladovivo
camara lentavivo
camara lenta a saltosvivo
capitulovivo
chasquidovivo
congelavivo
congela la imagenvivo
continuavivo
cortavivo
corta en la accionvivo
cortado por la barbillavivo
cortado por la frentevivo
cortinilla de tijeravivo
cruza el ejevivo
cuadro vaciovivo
deja posarvivo
demasiado cerca devivo
demasiado rapidovivo
desenfoque de pasadavivo
destellan los focosvivo
duravivo
el clip se agranda y se vavivo
el color se apagavivo
el cuadro giravivo
el cuadro se enderezavivo
el fotograma se descarrilavivo
el horizonte se enderezavivo
el horizonte se inclinavivo
el montaje se aceleravivo
el que habla fuera de campovivo
el rio midevivo
el soporte empeoravivo
el soporte se deshacevivo
el soporte se limpiavivo
empapelavivo
encadenavivo
entra de golpevivo
entra la musicavivo
espectrograma devivo
espera al clipvivo
estalla el colorvivo
florecevivo
formatovivo
fotograma de impactovivo
fotograma en blancovivo
funde a blancovivo
funde a negrovivo
funde desde blancovivo
funde desde negrovivo
gigantevivo
gran angularvivo
irisvivo
la camara atraviesavivo
la camara bajavivo
la camara deja de respirarvivo
la camara entra envivo
la camara gira alrededor devivo
la camara mira desde dentro devivo
la camara no paravivo
la camara respira convivo
la camara sale devivo
la camara se acerca avivo
la camara se alejavivo
la camara subevivo
la camara va avivo
la camara va montada envivo
la camara va pegada avivo
la camara vuelvevivo
la costura se mueve haciavivo
la intensidad cae avivo
la intensidad salta avivo
la intensidad sube avivo
la linea se enderezavivo
la linea se inclinavivo
la linea se muevevivo
la linea se rompevivo
la luz sube convivo
la mancha dejavivo
la mano tapavivo
la musica se apagavivo
la musica se cortavivo
la pista se desbordavivo
la pista vuelvevivo
la tela se desenredavivo
la tela se enredavivo
la tension caevivo
la tension rompevivo
la tension se mantienevivo
la tension subevivo
la tinta lo cubre todovivo
la voz se vuelve radiovivo
las bandas bajanvivo
las bandas subenvivo
las voces se juntan en el centrovivo
lente normalvivo
mezcla los registrosvivo
mirando fuera de campovivo
montaje al pulsovivo
montaje al ritmo de las palabrasvivo
ojo de pezvivo
pasa paginavivo
pasa por delantevivo
plano holandesvivo
plano secuencia porvivo
quedavivo
rampa de velocidadvivo
respiravivo
retencion largavivo
revientavivo
rio tipograficovivo
rompe el ejevivo
saltavivo
salto axial avivo
se destejevivo
se junta la pantallavivo
se lavavivo
se mojavivo
se para en secovivo
se parte la pantallavivo
se quemavivo
se rasga el papelvivo
se rasga la bandavivo
se rompe el espejovivo
se sale del cuadrovivo
se secavivo
se sostienevivo
se tejevivo
se van las perforacionesvivo
se ven las perforacionesvivo
secovivo
silenciovivo
silencio de verdadvivo
simultaneo en abanicovivo
simultaneo en abanico que giravivo
simultaneo en rejillavivo
sin leervivo
sin respirovivo
sintonizavivo
teleobjetivovivo
temblorvivo
tiempo bala sobrevivo
todo a la vezvivo
todo se para menosvivo
triple salto axial avivo
un solo planovivo
velocidad normalvivo
vertigovivo
vertigo al revesvivo
vuelve el espejovivo
zoom de golpevivo

EVENTO_A_CAMPO

core8 wordsalphabetical

formato.vocabulario.EVENTO_A_CAMPO

WordMaps to
congelacongela_mano
continuacontinua
cortado por la barbillasalta
cortado por la frentesalta
cruza el ejecruza_eje
demasiado cerca desalta
rompe el ejecruza_eje
saltasalta

EVENTO_CAMARA

camera47 wordsalphabetical

formato.camara.EVENTOS_CAMARA

Word
barrido temporal
camara lenta a saltos
el cuadro gira
el cuadro se endereza
el fotograma se descarrila
el horizonte se endereza
el horizonte se inclina
fotograma de impacto
gran angular
la camara atraviesa
la camara baja
la camara entra en
la camara gira alrededor de
la camara mira desde dentro de
la camara sale de
la camara se acerca a
la camara se aleja
la camara sube
la camara va a
la camara va montada en
la linea se endereza
la linea se inclina
la linea se mueve
la linea se rompe
la pista se desborda
la pista vuelve
la tension cae
la tension rompe
la tension se mantiene
la tension sube
las bandas bajan
las bandas suben
lente normal
ojo de pez
pasa por delante
plano secuencia por
rampa de velocidad
salto axial a
se rasga la banda
se van las perforaciones
se ven las perforaciones
teleobjetivo
tiempo bala sobre
todo se para menos
triple salto axial a
vertigo
vertigo al reves

EVENTO_CARTEL

poster5 wordsalphabetical

formato.cartel.EVENTOS

Word
la costura se mueve hacia
la mancha deja
la tela se desenreda
la tela se enreda
se desteje

EVENTO_OYE

hearing14 wordsalphabetical

formato.oye.EVENTOS_OYE

Word
destellan los focos
el color se apaga
el rio mide
el soporte empeora
el soporte se deshace
el soporte se limpia
espectrograma de
estalla el color
la camara deja de respirar
la camara respira con
la intensidad cae a
la intensidad salta a
la intensidad sube a
la luz sube con

EXPRESION

core9 wordsalphabetical

formato.aspecto.EXPRESIONES

Word
duda
se asombra
se asusta
se calma
se enfada
se entristece
se pone serio
se rie
sonrie

FAMILIA_TALLER

core10 wordsalphabetical

formato.taller.TALLER_BASE

Word
ancla
bano
canto
fantasma
materia
papel
reticula
sombra
tinta
vida

FORMATO

core6 wordsalphabetical

formato.aspecto.FORMATOS

Word
16:9
1:1
2,39:1
4:3
4:5
9:16

FORMATO_MODO

core2 wordsalphabetical

formato.aspecto.FORMATO_MODOS

Word
bandas de papel
de television

FORMA_PALABRA

poster5 wordsalphabetical

formato.cartel.FORMAS

Word
el patio
un marco
un muro
una columna
una porteria

FRENTE

core5 wordsalphabetical

formato.continuidad.FRENTES

Word
escorzo
espalda
frontal
perfil
tres cuartos

FUNCION

core11 wordsalphabetical

formato.vocabulario.FUNCIONES

Word
apertura
cartel
contrapunto
digresion
eco
giro
ilustracion
prueba
remate
respiro
tesis

GESTO_MARCA

core4 wordsalphabetical

formato.vocabulario.GESTO_MARCA

Word
rodea
senala
subraya
tacha

GOLPE

camera2 wordsalphabetical

formato.camara.GOLPES

Word
con borron
con impacto

GRANULADO

core4 wordsalphabetical

movimiento.GRANULADOS

Word
a doses
a pulso
a treses
a unos

HERVOR

core3 wordsalphabetical

formato.aspecto.HERVORES

Word
dibujado
no
suave

HORA

core5 wordsalphabetical

formato.vocabulario.HORAS

Word
amanece
atardece
diurna
mediodia
nocturna

HORIZONTE

camera3 wordsalphabetical

formato.camara.HORIZONTES

Word
gira
recto
se inclina

INTENSIDAD

hearing11 wordsmeaningful order

formato.oye.INTENSIDADES

Word
nula
quieta
serena
templada
viva
agitada
tensa
encendida
desatada
furiosa
rota

LADO

core4 wordsalphabetical

formato.vocabulario.LADOS

Word
abajo
arriba
derecha
izquierda

LEJANIA

core8 wordsmeaningful order

viaje.LEJANIAS

Word
al pie
al paso
cerca
a media distancia
lejos
al fondo
en el horizonte
en el cielo

LENTE

camera4 wordsalphabetical

formato.camara.LENTES

Word
gran angular
normal
ojo de pez
teleobjetivo

LINEA_UNIDAD_ASPECTO

core20 wordsalphabetical

formato.aspecto.UNIDAD

Word
AMBIENTE
BANDA
BOBINA
CAMA
EFECTOS
ESPACIO
ESPEJO
FORMATO
HERVOR
JINGLE
MATERIA
MEZCLA
MONTAJE
MÚSICA
PANTALLA PARTIDA
REPITE
RIO TIPOGRAFICO
RÍO TIPOGRÁFICO
SIMULTANEO
SIMULTÁNEO

LINEA_UNIDAD_CAMARA

camera7 wordsalphabetical

formato.camara.UNIDAD

Word
CADENCIA
CAMARA
CÁMARA
GOLPES
HORIZONTE
PISTA OPTICA
PISTA ÓPTICA

LINEA_UNIDAD_CARTEL

poster3 wordsalphabetical

formato.cartel.UNIDAD

Word
CARTEL
PALETA
PARTITURA

MANERA

core15 wordsalphabetical

movimiento.MANERAS

Word
a la deriva
a regañadientes
a tirones
con anticipación
con cuidado
de golpe
de un tirón
despacio
en volandas
ligero
pesado
resuelto
rozando
sin ganas
titubeante

MANO_CAMARA

camera2 wordsalphabetical

formato.camara.MANOS

Word
al hombro
en tripode

MATERIA

core7 wordsalphabetical

formato.aspecto.MATERIAS

Word
acuarela
ninguna
papel
pincel
risografia
tejido
tinta

MEZCLA

sound4 wordsalphabetical

formato.aspecto.MEZCLAS

Word
con stems
para cine
para la web
sin stems

MODO

core3 wordsalphabetical

formato.continuidad.MODOS

Word
cartel
documento
mundo

MONTAJE

core6 wordsalphabetical

formato.aspecto.MONTAJES

Word
al pulso
al ritmo de las palabras
cada vez mas cerca
la camara no para
mezcla
se acelera

MOVIMIENTO_MUNDO

core4 wordsalphabetical

formato.vocabulario.MOVIMIENTO_MUNDO

Word
acelera
avanza
frena
para

NOMBRE_SECCION

core6 wordsalphabetical

formato.taller.SECCIONES

Word
BESTIARIO
CASCADA
MANO
MONTAJE
REPARTO
TALLER

ORDEN_TRUCA

core9 wordsalphabetical

formato.vocabulario.ORDEN_TRUCA

Word
baja
busca a
encuadra a
se acerca
se acerca a
se queda
sigue a
sube
viaja con

PALABRA_RESERVADA

core76 wordsalphabetical

formato.vocabulario.PALABRAS_RESERVADAS

Word
a
al
alias
ancla
archivo
arco
arriba
bajo
bestiario
camino
canta
cascada
clip
con
contenido
de
del
delante
dentro
deriva
detras
di
eco
eje
el
en
escenario
fantasma
foco
fondo
formato
foto
fuera
hilo
junto
juntos
la
las
letra
letrero
los
luz
mano
marca
mesa
mientras
montaje
motivo
mundo
musica
nota
o
para
personaje
pica
pie
pon
por
prensada
python
que
recorte
relojes
reparto
revelado
se
sobre
sonido
su
sus
taller
terminal
un
una
ver
y

PAPEL

core11 wordsalphabetical

formato.aspecto.PAPELES

Word
cuaderno
escolar
grano fino
khadi
kraft
lienzo
satinado
tintado
torchon
verjurado
washi

PAPEL_SIGNO

poster9 wordsalphabetical

formato.cartel.ROLES

Word
barandilla
cielo
cuchilla
mascara
muro
persiana
porteria
suelo
ventana

PARTE_CUERPO

core7 wordsalphabetical

formato.vocabulario.PARTES_CUERPO

Word
el hombro
el pecho
el regazo
la cabeza
la espalda
las manos
los pies

PESO_CAMARA

camera3 wordsalphabetical

formato.camara.PESOS

Word
con masa
ligera
pesada

PISTA

hearing5 wordsalphabetical

formato.oye.PISTAS

Word
la cama
la musica
la radio
la voz
los efectos

PISTA_LADO

camera2 wordsalphabetical

formato.camara.PISTA_LADOS

Word
a la derecha
a la izquierda

PLANO_DE

core11 wordsalphabetical

formato.vocabulario.PLANO_DE

WordMaps to
aperturaorla
cartelcartel
contrapuntocontraplano
digresionmapa
ecodocumento
giroprimerisimo
ilustracioncontraplano
pruebadocumento
remateprimerisimo
respirogeneral
tesisdocumento

PLANTILLA

core8 wordsalphabetical

formato.vocabulario.PLANTILLAS

Word
cartel
contraplano
documento
general
mapa
nocturno
orla
primerisimo

PROFUNDIDAD

camera2 wordsalphabetical

formato.camara.PROFUNDIDADES

Word
poca profundidad
profundidad total

RASTRO

core4 wordsalphabetical

formato.aspecto.RASTROS

Word
con borron
con estela
con lineas de fuerza
en cronofotografia

REGISTRO_LETRERO

core6 wordsalphabetical

formato.vocabulario.REGISTROS_LETRERO

Word
cartulina
cita
cita maquina
cita moderna
mano
rescate

REGISTRO_LETRERO_RESERVADO

core3 wordsalphabetical

formato.vocabulario.REGISTROS_LETRERO_RESERVADOS

Word
dymo
maquina
tira

REGISTRO_MATERIA

core4 wordsalphabetical

materia.REGISTROS

Word
fotografico
pintado
recorte
tinta

REGISTRO_MOV

core1 wordsalphabetical

movimiento.REGISTROS

Word
en dos

RIO_MODO

core3 wordsalphabetical

formato.aspecto.RIO_MODOS

Word
a pantalla completa
en fila
en libertad

ROTURA

camera6 wordsalphabetical

formato.camara.ROTURAS

Word
demasiado rapido
rompe el eje
se sale del cuadro
sin leer
sin respiro
todo a la vez

SENTIDO

core2 wordsalphabetical

formato.vocabulario.SENTIDOS

Word
de espaldas
de frente

SIMULTANEO

core3 wordsalphabetical

formato.aspecto.SIMULTANEOS

Word
en abanico
en abanico que gira
en rejilla

SITIO_SIGNO

poster5 wordsalphabetical

formato.cartel.SITIOS

Word
a la derecha
a la izquierda
abajo
arriba
en el centro

SOPORTE

hearing5 wordsmeaningful order

formato.oye.SOPORTES

Word
limpio
usado
gastado
sucio
roto

SUSTRATO

core14 wordsalphabetical

pieza.SUSTRATOS

Word
acetato
cartulina
dymo
ficha
foto
kraft
milimetrado
papel
periodico
pijama
polaroid
postit
tira
vegetal

TALLA

core7 wordsmeaningful order

formato.continuidad.TALLAS

Word
general
conjunto
medio
americano
corto
primer
detalle

TAMBOR

core7 wordsalphabetical

formato.vocabulario.TAMBORES_V

Word
ambar
bermellon
naranja
rosa
ultramar
verde
violeta

TAMBOR_RISO

core10 wordsalphabetical

formato.aspecto.TAMBORES_RISO

Word
ambar
azurita
bermellon
humo
naranja
rosa
tinta
ultramar
verde
violeta

TENSION

core4 wordsalphabetical

formato.vocabulario.TENSIONES

Word
cae
mantiene
rompe
sube

TIPO_LETRA

poster6 wordsalphabetical

formato.cartel.TIPOS

Word
anton
la serifa de pretexto
league gothic
letra de mano
maquina de escribir
serifa

TRAMA

core3 wordsalphabetical

formato.aspecto.TRAMAS

Word
de grano
de lineas
de puntos

TRANSICION

core16 wordsalphabetical

formato.vocabulario.TRANSICIONES

Word
chasquido
corta
corta en la accion
cortinilla de tijera
desenfoque de pasada
encadena
entra de golpe
funde a blanco
funde a negro
funde desde blanco
funde desde negro
iris
la mano tapa
pasa pagina
se quema
sintoniza

TRAYECTO

core16 wordsalphabetical

movimiento.TRAYECTOS

Word
a saltos
cayendo
en arco
en curva
en espiral
en zigzag
flotando
fuera de campo
girando
por el borde
por el camino
por el suelo
rebotando
recto
resbalando
rodando

VENTANA

core2 wordsalphabetical

movimiento.VENTANAS

Word
hasta decir
mientras

VERBO_MOV

core24 wordsalphabetical

movimiento.VERBOS

Word
baja
cae
camina
corre
cruza
entra
esquiva
flota
gira
rebota
resbala
rueda
sale
salta
se apea
se encaja
se levanta
se sienta
sube
tiembla
tropieza
va
viaja
vuela

VERBO_RELACIONAL

core11 wordsalphabetical

movimiento.VERBOS_RELACIONALES

Word
agarra
alcanza
arrastra
cuelga
empuja
esquiva
huye
orbita
se apoya
sigue
suelta

VERBO_SIGNO

poster14 wordsalphabetical

formato.cartel.VERBOS_SIGNO

Word
cae
caen
se abre
se abren
se apila
se apilan
se estampa
se estampan
se rompe
se rompen
se separa
se separan
se va
se van

VISTA

core5 wordsalphabetical

formato.aspecto.VISTAS

Word
de espaldas
de frente
de perfil
de tres cuartos
de tres cuartos de espaldas

VOZ

sound6 wordsalphabetical

formato.sonido.VOCES

Word
cita
cita_f
cita_f2
cita_f3
cita_m2
narrador

Diagnostic codes

Stable codes (E0xx errors, W1xx warnings) so that two compilers can be compared: the message is free, the code is not. diagnosticos.json

CodeSeverityMeaning
E001errorthe pliego declares a newer epoch than the compiler supports
E010erroraffect outside the closed vocabulary
E011errorunknown function or shot in a clip header
E012errorstray word in a movement line (not a path, manner, grain, register or window)
E013error`>` event outside the closed vocabulary
E014errorunknown sign register
E015errorunknown ESPACIO (room)
E016errorunknown voice colour in REPARTO
E017errorunknown arc
E018errorunknown collage modifier or MARIONETA field (after `·` in `foto:`, `recorte:`, `clip:` or `MARIONETA`)
E019erroranother word outside a closed vocabulary
E020errorambiguous name: two candidates tie at the same level of the `name` dimension
E021errorreserved word used as a speaker name or identifier
E022errorreference to something that does not exist (piece, clip, ECO id, character)
E023errora line that looks like an instruction and is not one: it would be printed on screen by accident (dialogue by someone not in REPARTO, a scene line inside a clip, an instruction or verb that does not exist)
E024errora piece acts (`NAME action`) without being in REPARTO or being a MARIONETA
E025errordead anchor in the text: `al decir «X»` and the written voice of that beat never says X
E030errortwo shouts in one clip
E031errortwo actions on the same subject in the same window, or a duration declared twice
E032errorcycle of bindings, chain of more than three links, or nesting too deep
E033errorunsupported piece whose material does not float
E040errorMÚSICA cue not found in BANDA (or no BANDA declared)
E041error`sonido:` effect found in neither EFECTOS nor BANDA
E042errorAMBIENTE not found in EFECTOS
E050error`python:` names something that is not in the bestiary
E051errorpose not declared by the bestiary
E052errordrawing invoked wrongly: arguments after `·`, parentheses, or arguments the piece's signature does not accept
E053errorthe declared bestiary (`PYTHON` or `PIEZAS`) does not exist next to the pliego
E054erroraction the piece does not declare (neither among its ACCIONES, its POSES nor its CICLOS)
E060errora rule broken without its `porque`
E090errormalformed line (the parser cannot continue)
W101warningaxis jump (180-degree rule)
W102warningshot-size jump
W103warningeyeline mismatch
W104warningscreen-direction mismatch
W105warningcontinuity-of-state mismatch
W110warningreserved event: accepted by the language, not yet realized
W111warningreserved sign register
W112warningplain-dialect share below 85 %
W113warningno final silence declared
W114warningtoo many clips without a breather
W115warningscene with two or more characters and no EJE
W116warningempty clip
W117warningclocks that are not coprime
W118warningdubious action on a piece (enters twice, acts on something absent)
W120warningdead anchor: `al decir «X»` and the voice never says X
W121warningtwo voices: a sounding clip inside a narrated beat without `> espera al clip`
W122warningillegible anchor: matches the voice but not its `di:`
W123warningthe beat grows: the clip is longer than the voice
W124warningempty page: the beat opens a new frame and places nothing while the voice sounds
W125warningtext on screen: a prose line that will be typed on the paper
W130warningLasseter review (on the real timeline)
W199warningother warning

The grammar

The EBNF grammar of the pliego language, as in spec/gramatica/mesa.ebnf. mesa.ebnf

mesa.ebnf
(* Tórculo 1.0, part 1: the grammar of the pliego language (.mesa), epoch 2.

   Normative. Notation (SPEC §1.4):
     NAME            nonterminal; every nonterminal in capitals that is not defined
                     here is a closed vocabulary of Appendix A (spec/vocabularios/
                     vocabularios.json), and that correspondence is exhaustive.
     "literal"       literal text, compared after normalization (SPEC §4.5),
                     except reserved words, which are compared as written.
     A | B           alternative          [ A ]   optional       { A }  zero or more
     TEXT            any characters up to the end of the line
     NL              end of line
     IDENT           identifier (SPEC §4.5)
     NUMBER          integer or decimal with a point, optional sign
     QUOTE           "«" TEXT-WITHOUT-» "»"      (U+00AB … U+00BB; straight quotes are not equivalent)
     ·               the field separator, U+00B7 MIDDLE DOT, with optional spaces around it

   Analysis is line oriented: each line is classified by its prefix and the
   prefix always wins (SPEC §5.1). Only section blocks and "dentro:" span lines.
   Blank lines separate clips. *)

PLIEGO          = PREAMBLE { CHAPTER } [ END ] ;
PREAMBLE        = { PREAMBLE-LINE | UNIT-LINE | SECTION | COMMENT } ;

(* ---------- preamble ---------- *)
PREAMBLE-LINE   = "MESA" [ "v" NUMBER ] TITLE
                | "formato" PROPERTY { "·" PROPERTY }
                | "ARCO" ARCO
                | "MOTIVO" QUOTE [ "—" TEXT ]
                | "ECO" IDENT ( "→" | "->" ) IDENT
                | "REPARTO" SPEAKER ":" TAMBOR [ "," VOZ ] [ "," VOICE-COLOUR ] [ "," SIDE ] [ "," "alias:" ALIAS { "·" ALIAS } ]
                | "PERSONAJE" IDENT "—" TEXT
                | "LETRA" PATH
                | "PYTHON" PATH
                | "ARCHIVO" KEY { "·" KEY }
                | "FANTASMA" ( "foto" | "texto" | "numeral" ) NUMBER
                | "RELOJES" IDENT NUMBER { IDENT NUMBER }
                | "SONIDO" TEXT
                | "EFECTOS" PATH                       (* sound profile: folder of effects and ambiences *)
                | "BANDA" PATH                         (* sound profile: folder of music cues *)
                | "MEZCLA" MEZCLA { "·" MEZCLA }       (* sound profile: "para la web" | "para cine"; "con stems" | "sin stems" *)
                | "PARTITURA" PATH                     (* cartel profile *)
                | "SOPORTE" SOPORTE                    (* oído profile *)
                | "el dial es la línea de tiempo"      (* oído profile *)
                | "baño" BOBINA ;
PROPERTY        = ASPECT-RATIO | "sala" ( "crema" | "pizarra" ) | "tirada" ( "borrador" | "definitiva" )
                | "página desnuda" | "en dos" ;
ASPECT-RATIO    = FORMATO ;
VOICE-COLOUR    = "con radio" | "seca" ;
SIDE            = "a la izquierda" | "a la derecha" | "al centro" ;

(* ---------- sections: the mirror law (SPEC §5.3) ---------- *)
SECTION         = BLOCK | IMPORT ;
BLOCK           = "#" NOMBRE-SECCION [ IDENT ] NL { SECTION-LINE } "#FIN" ;
IMPORT          = NOMBRE-SECCION PATH ;
SECTION-LINE    = FAMILY [ VALUE ] { "·" FIELD } ;
FIELD           = KEY ( " " | ": " ) VALUE ;       (* keys of several words take a colon *)
FAMILY          = FAMILIA-TALLER | CLAVE-MANO ;

(* ---------- chapter and scene ---------- *)
CHAPTER         = CHAPTER-HEAD { UNIT-LINE | SECTION | COMMENT } { SCENE | CLIP } ;
CHAPTER-HEAD    = "==" TITLE { "·" CHAPTER-ATTR } { "=" } ;
CHAPTER-ATTR    = "tensión" TENSION | "nº" NUMBER | "tambor" TAMBOR | "gigante" WORD
                | "plano fijo" PLANTILLA | "tramo" NUMBER ( "→" | "->" | "a" ) NUMBER
                | "nocturno" | "diurno" ;
SCENE           = SCENE-HEAD { UNIT-LINE | SECTION | COMMENT } { CLIP } ;
SCENE-HEAD      = "--" TITLE [ "·" HORA ] "--" ;

(* Unit lines are valid in the preamble (whole pliego), a chapter or a scene;
   the scene prevails over the chapter, the chapter over the preamble. Several
   are also valid inside a clip, for that shot only (SPEC §5.6). *)
UNIT-LINE       = CORE-UNIT-LINE | ASPECT-UNIT-LINE | SOUND-UNIT-LINE
                | CARTEL-UNIT-LINE | OIDO-UNIT-LINE | CAMERA-UNIT-LINE ;
CORE-UNIT-LINE  = "EJE" "de" IDENT "a" IDENT
                | "LUZ" DIRECCION-LUZ { "·" ( DUREZA | "rasante" ) }
                | "MUNDO" MOVIMIENTO-MUNDO [ NUMBER ] [ "·" SENTIDO ]
                | "FONDO" KEY { ARG } "·" LEJANIA [ "·" NUMBER ]
                | "DELANTE" KEY { ARG } [ "·" LEJANIA ] [ "·" "cada" NUMBER ]
                | "ESCENARIO" TEXT
                | "TABLAS" { "·" ( HORA | "suelo" NUMBER | "a sangre" | "ancho" NUMBER | "alto" NUMBER ) }
                | "ARCHIVO" KEY { "·" KEY }
                | "REPITE" QUOTE ;
ASPECT-UNIT-LINE= "MATERIA" MATERIA-SPEC
                | "BOBINA" BOBINA
                | "FORMATO" FORMATO { "·" FORMATO-MODO }
                | "ESPEJO" [ ESPEJO-LADO ]
                | "PANTALLA PARTIDA" { "·" ( "con un espejo en medio" | "que se miran" | "desigual" | "inclinada" ) }
                | "RÍO TIPOGRÁFICO" [ "·" ( RIO-MODO | "no" ) ]
                | "SIMULTÁNEO" SIMULTANEO
                | "MONTAJE" MONTAJE-SPEC { "·" MONTAJE-SPEC }
                | "HERVOR" HERVOR ;
MATERIA-SPEC    = "papel" PAPEL
                | "acuarela" [ ON-PAPER ]
                | "risografía" TAMBOR-RISO "y" TAMBOR-RISO [ "y" TAMBOR-RISO ]
                     { "·" ( DESREGISTRO | "trama" TRAMA ) } [ ON-PAPER ]
                | "pincel" [ ON-PAPER ] | "tejido" [ TAMBOR-RISO ] | "tinta" [ ON-PAPER ] | "ninguna" ;
ON-PAPER        = "sobre papel" PAPEL ;
MONTAJE-SPEC    = MONTAJE | "mezcla" QUOTE { "·" QUOTE } ;
SOUND-UNIT-LINE = "MÚSICA" ( CUE | "ninguna" )
                | "AMBIENTE" EFFECT-NAME { "·" EFFECT-NAME }
                | "ESPACIO" ESPACIO
                | "CAMA" EFFECT-NAME | "JINGLE" EFFECT-NAME ;
CARTEL-UNIT-LINE= "PALETA" COLOR-CARTEL "," COLOR-CARTEL "y" COLOR-CARTEL
                | "CARTEL" COMPOSICION { "·" COMPOSICION } ;
OIDO-UNIT-LINE  = "INTENSIDAD" ( INTENSIDAD | "de" INTENSIDAD "a" INTENSIDAD ) { "·" ( "extraña" | "con" PISTA ) }
                | "SOPORTE" SOPORTE
                | "COLOR" ( "monocromo" [ TAMBOR-RISO ] | "pleno" )
                | "LUZ" ( "de" ( QUOTE | "los focos" ) { "·" ( DIRECCION-FUENTE | TAMBOR-RISO | "en contraluz" ) }
                        | "plana" [ "·" "de estudio" ] )
                | "la cámara respira con" PISTA | "el río mide la voz" | "la luz sube con" PISTA ;
CAMERA-UNIT-LINE= ( "CÁMARA" | "CAMARA" ) CAMERA-SPEC { "·" CAMERA-SPEC }
                | "HORIZONTE" HORIZONTE
                | "CADENCIA" BLANCO-CADENCIA CADENCIA { "·" BLANCO-CADENCIA CADENCIA }
                | "GOLPES" GOLPE { "·" GOLPE }
                | "PISTA ÓPTICA" [ PISTA-LADO ] ;
CAMERA-SPEC     = LENTE | PESO-CAMARA | MANO-CAMARA | PROFUNDIDAD ;

(* ---------- clip ---------- *)
CLIP            = CLIP-HEAD { CLIP-LINE } ;
CLIP-HEAD       = "*" [ BEAT-ID ] ( FUNCION | SHOT ) [ "·" AFECTO ] [ "(máquina)" ] ;
BEAT-ID         = IDENT ;                         (* optional, stable id for the sidecar (e.g. r01_02) *)
SHOT            = { TALLA | ALTURA | FRENTE | MODO } [ "de" [ ARTICLE ] IDENT ] ;

CLIP-LINE       = CONTENT | PIECE | REAL-VIDEO | PLACEMENT | SCENE-VERB | MAP | MOVEMENT | CAMERA
                | JOURNEY | SOUND | EVENT | NESTING | UNIT-LINE | SIGN | WEAVE | CHARACTER | COMMENT ;

CONTENT         = "di" [ "(" VOZ ")" ] ":" TEXT
                | SPEAKER-LIST ":" TEXT                (* the speaker MUST be declared (REPARTO, PERSONAJE) *)
                | "letrero" [ "(" REGISTRO-LETRERO ")" ] ":" TEXT { "/" TEXT }
                | "terminal:" TEXT | "canta:" TEXT | "contenido (máquina):" TEXT
                | QUOTE                              (* a shout: at most one per clip *)
                | TEXT ;                             (* prose: the beat's content *)
SPEAKER-LIST    = SPEAKER { "/" SPEAKER } ;        (* "VECINO / LOCUTOR": the split sentence *)

PIECE           = "pon:" TIPO-PIEZA QUOTE { "·" PIECE-ATTR }
                | ( "foto" | "recorte" | "prensada" ) ":" KEY
                | "ver:" CLAVE-VIS [ "—" BODY ]
                | "pica:" KEY [ "en" NUMBER ]
                | "python:" NAME { ARG | NAME "=" VALUE } { "·" PIECE-SIZE | "·" CORTE | "·" "sin leer" }
                | ( "arriba" | "pie" | "nota" ) ":" TEXT
                | "marca:" GESTO-MARCA QUOTE ;
PIECE-ATTR      = NUMBER | "id" PATH | TAMBOR ;
PIECE-SIZE      = "grande" | "enorme" | "gigante" | "a sangre" ;

REAL-VIDEO      = "clip" [ " de fondo" | " mudo" ] ":" PATH [ "de" TIME "a" TIME ] ;
TIME            = [ DIGITS ":" ] DIGITS [ "." DIGITS ] ;

PLACEMENT       = "en" NUMBER NUMBER ":" CLIP-LINE
                | "en" PARTE-CUERPO "de" IDENT [ NUMBER NUMBER ] ":" CLIP-LINE
                | RELATION OBJECT [ "a" NUMBER ] ":" CLIP-LINE
                | RELATION "cada uno:" IDENT TEXT
                | "juntos:" LIST "—" DISPOSICION
                | ( "en el mundo" | "en el documento" ) ":" CLIP-LINE
                | "en" MATERIA-SPEC ":" CLIP-LINE          (* the material of one piece *)
                | "de" QUOTE "a" QUOTE ":" CLIP-LINE       (* the sign that flies *)
                | ( "a la izquierda" | "a la derecha" ) ":" CLIP-LINE
                | DISTANCIA ":" CLIP-LINE                  (* camera profile: depth *)
                | "en silueta:" CLIP-LINE ;                (* cartel profile *)
RELATION        = "bajo" | "sobre" | "junto a" | "delante de" | "detrás de" ;

SCENE-VERB      = IDENT "con vista" VISTA
                | IDENT "se encaja en" HOLE | "en sus huecos:" LIST
                | "recoge" IDENT | "clava" IDENT "en" IDENT
                | ( "recorta" | "dobla" | "tapa" | "traslada" ) QUOTE TEXT
                | "retira:" ( "el escenario" | "las tablas" | "el teatro" )
                | "la truca" ( "se acerca a" IDENT | "vuelve" | "se aleja" ) ;

MAP             = "mapa:" MAP-ORDER ;
MAP-ORDER       = "territorio" QUOTE { "·" ( "con" LIST | "grande" | "en" PLACE ) }
                | "línea desde" QUOTE [ "hacia" QUOTE ]
                | "la línea de" QUOTE ( "llega a otro igual" | "se hunde" | "vuelve" )
                | "conecta" QUOTE { "·" QUOTE } | "el círculo se abre" | "mira a" QUOTE
                | "en fila abajo" | "en columna izquierda" | "se va" ;

(* Movement is recognized BY THE VERB (VERBO-MOV, VERBO-RELACIONAL), never by its suffixes. *)
MOVEMENT        = [ PLACEMENT-PREFIX ] [ ARTICLE ] SUBJECT ( VERBO-MOV | VERBO-RELACIONAL ) [ DESTINATION ]
                     { "·" ( [ "por" ] TRAYECTO | MANERA | GRANULADO | REGISTRO-MOV | RASTRO ) } [ VENTANA-SPEC ]
                | SUBJECT "se funde en" SUBJECT | SUBJECT "hierve con" SUBJECT
                | "el pelo pasa de" SUBJECT "a" SUBJECT
                | SUBJECT "se sale del cuadro" [ "por la" LADO ] ;
DESTINATION     = ( "hasta" | "a" | "hacia" ) OBJECT | "fuera de campo" [ "por la" LADO ] ;
VENTANA-SPEC    = "hasta decir" QUOTE | "mientras" ;

CAMERA          = "la truca" ORDEN-TRUCA [ IDENT ] [ "en" TALLA ]
                | IDENT "mira a" IDENT | IDENT "mira a cámara"
                | [ ARTICLE ] IDENT ( "sale" | "entra" ) "por la" LADO
                | "sonido:" CRUCE-SONIDO [ NUMBER ]
                | "fuera de campo" [ "por la" LADO ] ":" TEXT
                | [ "el" ] "foco" ( "en" | "pasa a" ) IDENT [ "y en" IDENT ] | "todo en foco"
                | IDENT "está" TEXT ;                   (* a state, for continuity *)

JOURNEY         = IDENT "viaja" | IDENT "se apea"
                | "el mundo" MOVIMIENTO-MUNDO [ NUMBER ]
                | "por la ventanilla:" LIST "desfilan"
                | "por" WINDOW-OF "de" IDENT "se ve el mundo" ;

SOUND           = "sonido:" EFFECT-NAME [ SIDE ] ;      (* an effect, at its place; anchorable with "al decir" *)

CHARACTER       = SUBJECT ( ACCION-FICHA | EXPRESION | "de espaldas" | "de perfil" | "de frente"
                          | "de tres cuartos" | "de tres cuartos de espaldas" ) ;

SIGN            = "LETRA" QUOTE { "·" ( "en" TIPO-LETRA | DISPOSICION-SIGNO | SITIO-SIGNO | PIECE-SIZE
                                      | "de" COLOR-CARTEL | "sin leer" ) }
                | QUOTE "es" ( "un" | "una" ) PAPEL-SIGNO [ ( "a" | "de" ) QUOTE ]
                | [ "la" | "el" ] LETTER "de" QUOTE ( "es" | "se convierte en" ) IDENT
                | IDENT "se convierte en" [ "la" | "el" ] LETTER "de" QUOTE
                | [ "las letras de" ] QUOTE VERBO-SIGNO
                | "la raya corta" QUOTE
                | QUOTE "forma" FORMA-PALABRA
                | QUOTE "tapa a" IDENT | IDENT "tapa" QUOTE
                | "el ojo completa" QUOTE
                | "ESCALA" IDENT "como" IDENT
                | "BOSQUE de" BOSQUE ;
WEAVE           = ( "TEJE" | "SINTONIZA" ) QUOTE { "·" ( "en" TIPO-LETRA | "con la aguja del dial" | PIECE-SIZE | DISPOSICION-SIGNO ) }
                | QUOTE "se interrumpe en" QUOTE | QUOTE "sigue"
                | "los hilos de" IDENT "y" IDENT "se entretejen"
                | "FRASES" QUOTE { "·" QUOTE } ;

(* Events: a closed vocabulary with state (alive | reserved). The union of
   EVENTO, EVENTO-CARTEL, EVENTO-OYE and EVENTO-CAMARA, some with an argument. *)
EVENT           = ">" EVENT-NAME [ ARG ] { "·" ">" EVENT-NAME [ ARG ] } ;
EVENT-NAME      = EVENTO | EVENTO-CARTEL | EVENTO-OYE | EVENTO-CAMARA | ROTURA-WITH-REASON | ENCUADRE-INCOMODO ;
ROTURA-WITH-REASON = ROTURA "porque" QUOTE ;      (* breaking a rule with permission: the reason is required *)

NESTING         = "dentro:" NL { CLIP-LINE }          (* sub-clips; at most three levels *)
                | "mientras:" CLIP-LINE
                | "al decir" QUOTE ":" CLIP-LINE
                | CLIP-LINE "hasta decir" QUOTE ;

(* ---------- end ---------- *)
END             = "==" "FIN" { "=" } { TEXT } [ NL ">" "silencio" NUMBER ] ;

(* ---------- comments ---------- *)
COMMENT         = "//" TEXT                  (* technical comment: not in the IR *)
                | "(" TEXT ")"               (* author's digression: in the IR, `digresiones` *)
                | "~" "deriva:" TEXT ;       (* a commission to the engine: in the IR, `derivas` *)

(* ---------- terminals ---------- *)
ARTICLE         = "el" | "la" | "los" | "las" ;
TITLE           = QUOTE | TEXT ;
SPEAKER         = IDENT ;          (* not a reserved word; compared as written *)
CUE             = WORD ;           (* a file of BANDA, by name, case-insensitive *)
EFFECT-NAME     = WORD { WORD } ;  (* a file of EFECTOS (or BANDA), by name *)
PATH            = TEXT ;           (* relative to the pliego's folder in a portable project *)
LIST            = IDENT { "·" IDENT } ;