Gestione del Singolo Sorgente


Per ciascun sorgente gestito viene creato un file di controllo. L'elaborazione viene impostata tenendo conto sia del sorgente che del file di controllo:

  1. Se esiste il file di controllo e non esiste il sorgente, v. Gestione del Gruppo di Sorgenti, usando il file di controllo il sistema azzera tutti i documenti generati e cancella il file di controllo.
  2. Se esiste il sorgente:
    1. Se esiste il file di controllo e ha data e ora sucessiva a quella del sorgente il sistema termina il trattamento. Presume che non essendo cambiato il sorgente non sia più necessario aggiornare i documenti che da esso derivano.
    2. Se esiste il file di controllo azzera tutti i documenti creati in precedenza.
    3. Procede a scandire il sorgente e ad aggiornare il file di controllo con l'elenco dei documenti generati.

La scansione dei sorgenti è pilotata in base al tipo di sorgente, v. Tipi di files sorgente, si divide in due parti:

  1. Si scandisce la testata per generare un documento src. Non tutti i tipi di files comportano la scansione della testata.
  2. Si scandisce il corpo del sorgente. Il corpo viene suddiviso esaminando i markup @xxx e @/xxx. Per ogni markup si creano due blocchi di testo:
    1. Un blocco di markup, contenente tutti gli attributi del documento che si vuole gestire.
    2. Un blocco di codice, contenente codice e commenti che può essere oggetto di trattamenti uleteriori.
  3. I blocchi così formati vengono passati ad un modulo ad hoc specializzato. Ad esempio src.NewScanSourceTagFun.pl è specializzato nella gestione del tag @fun. I moduli specializzati generano un documento e lo memorizzano nell'elenco dei documenti generati a fronte di un determinato sorgente.

Per semplificare la gestione dei commenti gli scansori assumono sorgenti 'C'. Nel caso che non si tratti di un sorgente 'C' si applicano degli accorgimenti tali per cui il programma può trattarlo come se fosse un sorgente 'C'.

dst.42mndk8 • LastModified: 14-9-2009 • John Peter Arnold