Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755

    parser da integrare nel mio programma java

    dove trovo un parser (di espressioni algebriche e funzioni trigonometriche:sin,cos,tan ecc ecc) già pronto da poter utilizzare nel mio programma java...una volta trovato suggerimenti sull'utilizzo?!
    chi me lo trova?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: parser da integrare nel mio programma java

    Originariamente inviato da zipangulu
    dove trovo un parser (di espressioni algebriche e funzioni trigonometriche:sin,cos,tan ecc ecc) già pronto da poter utilizzare nel mio programma java...una volta trovato suggerimenti sull'utilizzo?!
    chi me lo trova?
    Non ne ho mai usate ... ma se segui questa ricerca ne trovi eccome!
    Verifica alcuni progetti e valuta tu in base al tipo di progetto (se è valido/attivo, se ha documentazione javadoc completa e magari una guida o tutorial sull'uso).

    Per domande più specifiche ... ovviamente dipende dalla libreria scelta.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    grazie!gentilissimo

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    un'altra cosa:ho trovato molti parser on line ma a me ne servirebbe uno del quale poter vedere il codice sorgente
    per farvi capire meglio cerco un parser tipo questo che vi linko:
    http://www.cs.bris.ac.uk/Teaching/Re...alc/index.html

    questo parser non era male ed ero anche riuscito ad integrarlo nel mio codice,ma il difetto sta nel fatto che è un parser di sole espressioni algebriche(es:3+2/5*9) a me ne serve uno per le espressioni matematiche in genere,con anche sin cos tan ecc(es:sin56+89-tan52)
    potete trovarmene uno che rispecchi queste caratteristiche?

    per andbin:tutti i parser che ho trovato tramite la tua ricerca saranno anche ottimi ma emmm emmm non so come integrarli nel mio codice :master:

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da zipangulu
    per andbin:tutti i parser che ho trovato tramite la tua ricerca saranno anche ottimi ma emmm emmm non so come integrarli nel mio codice :master:
    Prendi la JEP, ad esempio. Nel pacchetto c'è la libreria, c'è la documentazione javadoc e ci sono pure piccoli sorgenti di esempio.

    P.S. Se hai proprio dubbi circa l'uso, posso anche prenderla io un momento e provare a scrivere un esempio.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    ok...ma un favore:
    mi potresti fare un esempio di come tipo utilizzando il parser in questione,all'interno di una mia classe,posso fare un metodo che prendendo una stringa come parametro mi restituisca un valore double
    scusami ma sono ancora alle prime armi

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    allora spiego meglio quali sono le mie intenzioni
    ho fatto un programma in java rappresentante una calcolatrice scientifica con la funzione aggiuntiva di poter disegnare grafici delle funzioni matematiche.
    Inizialmente stavo cercando di gestire la "traduzione" della stringa-funzione inserita dall'utente(che rappresenza la funzione di cui tracciare il grafico) manualmente,cioè a modo mio senza l'utilizzo di un parser.Ma ho notato che così facendo innanzitutto non riuscivo a coprire tutti possibili inserimenti dell'utente e poi giunto ad un certo punto è anche difficile la gestione del programma,e insomma il tutto va anche a discapito dell'efficienza del programma stesso.
    Ho pensato a questo punto,in base ad altrui suggerimenti,di utilizzare un parser matematico già esistente e di cercare di integrarlo nel mio programma.
    Pensavo fosse una cosa facile e invece non so da dove partire!Mi spieghi passo passo cosa fare per integrare il parser "JEP",o un altro,nel mio programma?
    cioè vorrei riuscire,utilizzando il parser,a fare un metodo nella mia classe del tipo:
    codice:
    public double compute(String espressione){
    }
    cioè un metodo che prendendo una stringa es:2sin90+5
    mi dia il relativo risultato numerico in double
    come faccio?
    sono disperato!

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Esempio semplicissimo ma completo:

    codice:
    import org.nfunk.jep.*;
    
    public class ProvaJEP {
        public static void main(String[] args) {
            JEP jep = new JEP();
            jep.addStandardConstants();    // Aggiunge costanti "pi" e "e"
            jep.addStandardFunctions();    // Aggiunge funzioni tra cui es. sin() e cos()
    
            jep.addVariable("angoloInGradi", 45);
    
            jep.parseExpression("20 * sin(angoloInGradi / 180 * pi)");
    
            if (jep.hasError()) {
                System.out.println("ERRORE: " + jep.getErrorInfo());
            } else {
                double risultato = jep.getValue();
    
                System.out.println("Risultato: " + risultato);
            }
        }
    }
    L'esempio è davvero semplice e comprende l'uso di: costanti numeriche nella espressione, costanti/funzioni predefinite da JEP e anche l'uso di una "variabile" personalizzata.
    Il funzionamento e i metodi sono sicuramente facilmente comprensibili.


    Per poter compilare e avviare il programma è solo necessario che il jar jep-X.X.X.jar sia "in classpath" (le solite questioni sul classpath ... dipende da come/da dove si compila, vedere Setting the class path).

    Nota: quel jar si trova nella directory 'dist' presente nel pacchetto che si può scaricare qui.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    grazie mille per l'esempio,chiarissimo e utilissimo!
    ora però trovo difficoltà nell'impostare la classpath,ho letto la documentazione relativa,ma evidentemente continuo a sbagliare qualcosa.
    nella mia classpath c'è già salvato un percorso,io ho fatto così dimmi cosa c'è di sbagliato
    codice:
    percorsoprecedente;C:\Users\pippo\Downloads\jep parser\jep-2.4.1-ext-1.1.1-gpl\dist\ext-1.1.1.jar
    cosa c'è che non va?

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    grazie mille per l'esempio,chiarissimo e utilissimo!
    ora però trovo difficoltà nell'impostare la classpath,ho letto la documentazione relativa,ma evidentemente continuo a sbagliare qualcosa.
    nella mia classpath c'è già salvato un percorso,io ho fatto così dimmi cosa c'è di sbagliato
    codice:
    percorsoprecedente;C:\Users\pippo\Downloads\jep parser\jep-2.4.1-ext-1.1.1-gpl\dist\ext-1.1.1.jar
    cosa c'è che non va?



    codice:
    jep.addVariable("angoloInGradi", 45);
    mi spieghi in più cosa fa questa istruzione?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.