Domanda

Sto cercando di aiutare un amico in un incarico universitario, ma in un certo senso ho dimenticato un sacco di C e Lex.

Il fatto è che stiamo cercando di analizzare un file HTML e un file CSS corrispondente e aggiungere a un tag il suo stile.

Esempio:

HTML

<body>
</body>

CSS

body{color:black;}

HTML modificato

<body style="color:black;">
</body>

Tutto il regex è terminato e anche i macro.

Problema: l'HTML di input e l'HTML modificato devono essere lo stesso file. Abbiamo provato a reindirizzare entrambi yyin e yyout sullo stesso file ... e quindi usare gli fput (text, yyout); dove text è un carattere * con tutte le informazioni sullo stile (e style = " "). Non funziona.

Quindi ... Potete aiutarlo ragazzi?

è importante non perdere la nozione di posizione nel file (quindi lo stile = " " va al tag giusto).

Grazie

È stato utile?

Soluzione

reindirizzare yyin e yyout sullo stesso file non funzionerà .. (come già sapete). Il mio approccio sarebbe:

  1. Crea un file temporaneo
  2. yyout scrive nel file temporaneo
  3. al termine dell'analisi, eseguire il backup del file di input per sicurezza
  4. sostituisci il file di input con il file temporaneo

Non c'è altro modo, se yyout è uguale a yyin il testo (input originale) verrà sovrapposto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top