Visualizzazione risultati 1 fino 23 di 23

Discussione: Scrivere un interprete di un mio linguaggio [era: mi potete aiutare?]

  1. #1
    Guest

    Predefinito Scrivere un interprete di un mio linguaggio [era: mi potete aiutare?]

    Sto sviluppando un linguaggio di programmazione interpretato dal browser internet tramite una serie di codici PHP....
    un esempio
    Codice PHP:
    <?php
    define
    ("begin", "<html>", true);
    ?>
    Ma mi trovo in difficoltà con l'assegnazione dei colori....
    cioé io vorrei questo:
    Codice:
    color: "codice colore"
    Ma non riesco propio a capire come fare la corrispondenza PHP per poi essere interpretato dal browser

    (non so se mi sono spiegato....)
    Ultima modifica di dreadnaut : 01-03-2010 alle ore 12.12.12 Motivo: - font

  2. #2
    Guest

    Predefinito

    prova cosi
    Codice PHP:
    parola scritta in <span style="color:red;">rosso</span>
    scrivi il testo poi le parole che vuoi scrivere con un colore diverso le metti dentro il codice ad esempio mario è veramente scemo voglio che è veramente sia blu
    devi fare
    Codice PHP:
    mario <span style="color:blue;">è veramente</span> scemo
    p.s. ho creato una pagina nel mio sito apposta per aiutarti ecco i risultati:
    del primo e del secondo codice
    http://arcadeprehacks.altervista.org/php/prova.php
    Ultima modifica di arcadeprehacks : 28-02-2010 alle ore 21.42.28

  3. #3
    Guest

    Predefinito

    fino a qui ci sono arrivato... ma cosi dovrei creare una stringa di codice per ogni colore.... 0.0
    Ultima modifica di dreadnaut : 01-03-2010 alle ore 12.13.58

  4. #4
    Guest

    Predefinito

    mi sa ke non ho neanche capito cosa vuoi allora..

  5. #5
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Se ho capito bene, più che con le define sarebbe meglio utilizzassi le sostituzioni di espressioni regolari, in modo da consentire anche l'inserimento di comandi "con parametri". Provo a darti qualche esempio:
    Codice PHP:
    // $text è il listato originale del tuo "programma"

    // tag di inizio pagina
    $text = preg_replace ('/\bhtml\b/', '<html>', $text);

    // tag colore, formato color:#RRGGBB{...}
    $text = preg_replace ('/\bcolor\:([0-9a-fA-F]{6})\{([^\}]*)\}/', '<span style="color:${1}">${2}</span>', $text);
    Fai qualche prova, perché non sono sicuro dell'esattezza dei codici...

    Stammi bene...
    Ultima modifica di dementialsite : 01-03-2010 alle ore 15.38.15 Motivo: Correzione (vedi post #7)
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  6. #6
    Guest

    Predefinito

    purtroppo i codici non mi funzionano.... cioé mi segna che : non é corretto
    Ultima modifica di seingh : 01-03-2010 alle ore 15.25.21

  7. #7
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Prova ad inserire un backslash (\) prima dei due punti nel pattern (anche se non mi risulta che siano un carattere speciale nelle RegExp...).

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  8. #8
    Guest

    Predefinito

    io utilizzo questo codice per la pagina dove sono presenti i codici:
    Codice PHP:
    <?php
    define
    ("begin", "<html>", true); //definisco l'inizio della pagina

    define("end", "</html>", true); //definisco la fine della pagina

    define("body_page", "<body>", false); //definisco il corpo della pagina

    // tag colore, formato color:#RRGGBB{...}
    $text = preg_replace ('/\bcolor\:([0-9a-fA-F]{6})\{([^\}]*)\}/', '<span style="color:${1}">${2}</span>', $text);

    echo
    bgcolor:\FFFF00;
    ?>
    e questo per la pagina dove utilizzo il codice:

    Codice PHP:
    <?php
    include 'codici.php';
    echo
    bgcolor:\FFFF00;
    ?>
    dove sbaglio ?

  9. #9
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Come ti ho scritto nel commento sopra, perché quella RegExp funzioni deve trovare qualcosa del tipo (c'è un cancelletto di troppo nel commento e uno che manca nel codice di sostituzione):
    Codice:
    color:FF0000{Questo è un testo in rosso}
    Il risultato della sostituzione sarà:
    Codice:
    <span style="color:#FFFF00">Questo è un testo in rosso</span>
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  10. #10
    Guest

    Predefinito

    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /membri/seingh/seingh_PHP/codici.php on line 42


    Help please

    perchè mi risulta un errore????

  11. #11
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Qual è la linea 42 del tuo script (non credo proprio si riferisca alla vita, l'universo e tutto quanto...)?

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  12. #12
    Guest

    Predefinito

    Codice PHP:
    $text = preg_replace('/\bcolor:([0-9a-fA-F]{6})\{#([^\}]*)\}/', '<span style="color:${1}">${2}</span>', $text);
    cioé la tua....

  13. #13
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Pare che devi raddoppiare il primo backslash del "pattern" (strano, però... mi pareva che con gli apici singoli i backslash non avessero il significato "speciale" che hanno nei double quote).

    Stammi bene.,.
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  14. #14
    Guest

    Predefinito

    grazie adesso funziona....

    cmq per dichiarare il colore dovrei usare questo:

    Codice:
    color:#ff0000 testo
    oppure sbaglio?

    edit: funziona.... ma nn funziona cioé riconosce #colore come commento 0.0 0.0 o.0 0.o
    Ultima modifica di seingh : 04-03-2010 alle ore 19.03.47

  15. #15
    Guest

    Predefinito

    edit: NN FUNGE!!!!!!!!!!!

  16. #16
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    In teoria la sostituzione dovrei avertelo già scritto come funziona... vedi (devi però togliere il cancelletto # dal pattern e metterlo nella stringa sostitutiva dopo color:).

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  17. #17
    Guest

    Predefinito

    Parse error: syntax error, unexpected ':' in /membri/seingh/seingh_PHP/codici.php on line 44

    Edit: la mia linea 44 é questa:
    color:#FF0000{Questo è un testo in rosso};
    Ultima modifica di seingh : 05-03-2010 alle ore 15.01.59

  18. #18
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Ma stai inserendo le tue linee di codice insieme al codice PHP che lo dovrebbe decifrare?

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  19. #19
    Guest

    Predefinito

    per il test si

  20. #20
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Ehm... non va bene così. Il codice devi averlo caricato nella variabile $text, su questa stessa variabile poi ti troverai il codice decodificato.

    Puoi facilmente ottenere i contenuti di un file (dove si troverà SOLO il tuo codice) usando la funzione PHP file_get_contents()...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  21. #21
    Guest

    Predefinito

    non ho capito cosa vuoi dire....
    excuse me

  22. #22
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Quando si scrive un nuovo ambiente/linguaggio di programmazione, normalmente si progettano due componenti separate:
    - una, puramente concettuale, è la sintassi del linguaggio, dove definisci le regole che lo compongono
    - l'altra è l'interprete del linguaggio, un programma eseguibile che legge il codice del tuo linguaggio e lo decifra in modo che diventi comprensibile alla macchina che lo esegue

    Il tuo file PHP svolgerà il ruolo dell'interprete, che per funzionare però dovrà leggere il listato da un altro file, che contiene il programma scritto nel tuo linguaggio. Usando file_get_contents() puoi leggere questo file e trasformarlo in una stringa, che poi puoi elaborare usando le sostituzioni di stringa.

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  23. #23
    Guest

    Predefinito

    grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •