Sintaxi de dislines

versió 1.0
23-07-2005. Daniel Clemente.
Español Català English Esperanto

Aquesta és la sintaxi que usa el programa dislines, http://www.danielclemente.com/dislines/index.ca.html



1. Regles generals

2. Etiquetes bàsiques

  @ca Aquesta línia només sortirà al fitxer nom.ca.ext
  @en I aquesta, només a nom.en.ext
  
  Les línies sense etiqueta són comuns per a tots els fitxers.

Els caràcters vàlids per a un nom d'etiqueta són tots els permesos per a un nom de fitxer, excepte aquestos: @ ,{}/\

3. Etiquetes múltiples

Per associar dos o més etiquetes a una línia, separar-les per comes:

  @it,es,fr 50 euros
  @en $60

Nota: no posar espais entre les comes. Recorda que la línia real comença a partir del primer espai.

4. Blocs

Si anaves a escriure moltes línies usant la mateixa etiqueta, no és necessari repetir-la a cada línia. Es poden usar blocs:

  @{ca
  Aquestes línies
  són només
  de la versió en català.
  @}ca

També es poden posar vàries etiquetes:

  @{es,en,it
  aaaa
  bbbb
  @}es,en,it

Hi ha diverses formes d'escriure les etiquetes d'inici i fi de bloc:

La més curta i còmoda és possiblement:

  @en{
  aaaa
  bbbb
  @}

Els blocs no es poden ficar dins d'altres blocs.

5. Comoditats

Es permeten algunes tècniques per fer més senzill utilitzar aquest llenguatge.

5.1. Última etiqueta usada

Si vols escriure moltes línies amb la mateixa etiqueta, va bé usar blocs. Però si són poques línies, es pot repetir @etiqueta a cada línia, o també usar @ seguida d'una o més cometes dobles (") per tornar a utilitzar l'etiqueta anterior. Ex.:

  @en Etiqueta 'en'
  @"" Mateixa etiqueta (en)
  @"" La mateixa (en)
  @fr Etiqueta 'fr'
  @"" La mateixa (fr)

5.2. Comentaris

Es poden posar comentaris:

  @-- Aquesta línia no sortirà a cap versió

El nombre de guions (-) pot ser qualsevol. Exemple:

  @--------------- també funciona

També es poden fer blocs de comentari:

  @{---
  vàries
  línies
  @}---

5.3. Indentació

Si vols mantenir el mateix marge a cada línia, hi ha diverses maneres:

Pots posar moltes arrobes (en comptes d'una) al començament d'una comanda:

  @@@català |--- prova --|
  @@@@@@esp |-- prueba --|
  @@english |--- test ---|
  @@@@@@@eo |--- provo --|
  
  @etiqueta_llarga 123456789
  @@@@@@@@@@@curta 987654321

Les línies comunes també es poden escriure amb més d'una arroba per davant, que no indiquen res especial:

  @en English line
  @es Línea en español
  @@@ Aquesta línia és comuna

Els comentaris (@--) i la repetició d'etiqueta (@"") poden usar qualsevol nombre de - o ".

6. Casos estranys

No és necessari conèixer això a menys que algun cop t'hagis trobat amb aquests problemes.

6.1. Escriure @ a començament de paraula a una línia comuna

Les línies comunes es poden escriure directament, però si comencen per @ s'interpretaran com una assignació d'etiqueta.

La solució és usar les arrobes inútils explicades a l'apartat anterior. Ex.: per escriure @echo on:

  Això és incorrecte, està assignant l'etiqueta "echo"
  @echo on
  
  El correcte és:
  @ @echo on
  @@@@@ @echo on
  @@@@@@@@@ @echo on
  etc.

Això és aplicable també a blocs: s'ha de posar @ @echo on a dins d'un bloc per a que no s'interpreti com una assignació d'etiqueta.

6.2. Resta de línia en obrir/tancar un bloc

Quan s'usen blocs, és recomanable deixar les línies d'obertura i tancament sense més text que la pròpia etiqueta. Per exemple:

  @{es
  aaaaaaa
  bbbbbb
  ccccccc
  @}es

Si s'inclou text, per exemple,

  @{es aaa
  bbb
  ccc
  @}es ddd

llavors tant el primer (aaa) com l'últim (ddd) s'ignoraran. La raó per no incloure aaa és que no interessa afegir una línia en blanc si s'obre el bloc només amb @{es.

6.3. Comandes a dins d'un bloc

Les úniques comandes interpretades a dins d'un bloc són els comentaris d'una línia (@----) i les arrobes inútils a principi de línia:

  @{fr
  
  @---- comentari; no apareix a 'fr' ni a cap altre lloc
  @---- seria incorrecte escriure ara: @ca Hola
  
  Tot això és equivalent:
  a b c
  @ a b c
  @@@@@@ a b c
  
  @}fr

La resta de comandes donaran error.

Com que els blocs no poden contenir altres blocs, els comentaris de bloc (@{--) no serveixen per comentar altres blocs. S'ha d'usar @-- a cada línia.

Els motius per interpretar les línies d'un bloc són: ser consistent amb allò de "totes les línies que començaven per @ al fitxer original han de ser protegides per una @ inicial", permetre comentaris a dins d'un bloc, i permetre escriure @} sense tancar-ho per error.

6.4. Ús de @"" a llocs especial

@"" (repetir última etiqueta usada) només serveix per etiquetes senzilles, no per a blocs. Allargar el bloc acostuma a ser suficient.

Si es posa @"" a la primera línia (no hi ha cap etiqueta prèvia), s'interpreta com una línia comuna a totes les versions.

6.5. Bloc sense etiqueta

Això:

  @{
  aa
  bb
  @}

és inútil i incorrecte. El mateix passa amb @{, i similars.

6.6. Comentaris i etiquetes a la vegada

No és necessari escriure això:

  @---,aa,---,-,---,bb lalala

Equival a @aa,bb lalala (els comentaris s'ignoren). El mateix passa amb blocs.

6.7. Mateixa etiqueta, molts cops

Això no és recomanable i té un resultat indefinit:

  @ca,ca Doble? Potser sí, potser no.

7. Idees per a la següent versió

Per a la versió 2 d'aquesta especificació (si és que fa falta), potser hi afegeixo coses com:

7.1. Comandes especials

Es posen al començament del fitxer:

  @! instrucció

Servirien per a moltes coses. Per exemple:

  @! ExecuteAfter: txt2tags $BASENAME.en.t2t
  @! Encoding(es): iso-8859-1

7.2. Grups d'etiquetes

  @! Group euros es,fr,it

I després:

  @euros 6 euros
  ( equival a usar @es,fr,it )

7.3. Selecció inversa d'etiquetes

Es poden associar a una línia "totes les etiquetes excepte les especificades". Ex.:

  @ˆen Tot excepte en
  @ˆen,it Tot excepte en,it
  @ˆ{en
  tot excepte en
  ....
  ..
  @ˆ}en

7.4. Repeticíó de línies i blocs

Això:

  @{en,en
  ab
  cd
  @}en,en

hauria de posar el bloc dos cops seguits? No sembla molt útil, i complica el programa.

8. Espero suggeriments

Digue'm què opines d'aquest llenguatge i programa, i què hi puc afegir, treure, o simplificar. Vull que sigui senzill, útil, i apte per escriure'l a mà.


Juliol 2005, Daniel Clemente Laboreo. ( n142857 {arroba/- g-m-a-i-l- .-c-o-m )

http://www.danielclemente.com/dislines/