B | |
branchAndBound, ExpSolver | |
C | |
checkCondition, ExpSolver | |
checkIfExists, Parser | |
checkIsEnd, Parser | |
codOperator, PostFixCoder | |
computeExp, ExpSolver | |
computeFimpTab, ExpSolver | |
computeMinSinFunc, Xbool | |
computeMinTermTab, ExpSolver | |
computeTruthTable, ExpSolver | |
concatStack, PostFixCoder | |
convertVariable, Parser | |
D | |
duplicateMinCover, ExpSolver | |
G | |
getBinaryRep, ExpSolver | |
getCountExpVar, ExpSolver | |
getCountOfObj, ExpSolver | |
getCountTrue, ExpSolver | |
getCulumIndex, Parser | |
getExpRep, Xbool | |
getExpVar, ExpSolver | |
getPostCoder, PostFixCoder | |
getPostFixNotation, PostFixCoder | |
getPriority, PostFixCoder | |
getRowIndex, Parser | |
getStringRep, Xbool | |
getTermRep, Xbool | |
getValue, ExpSolver | |
H | |
hammingDist, ExpSolver | |
hasLowerPriority, PostFixCoder | |
hasSameOrBiggerPriority, PostFixCoder | |
I | |
insertSimbol, PostFixCoder | |
insertValues, ExpSolver | |
isWellFormed, Parser | |
P | |
Parser, Parser | |
printHelp, Xbool | |
R | |
ReadCharacter, Parser | |
S | |
simplifyCouples, ExpSolver | |
simplifyCoverTab, ExpSolver | |
simplifyRows, ExpSolver | |
simplifyTerm, ExpSolver |
Implementa l’algoritmo di branchAndBound al fine di trovare tutte le possibili forme di sintesi minima della funzione.
static List<ImpTerm> branchAndBound( List<ImpTerm> minCover, List<List<ImpTerm>> coverTab )
Controlla se i due termini differisco di un solo valore positivo e se la distanza di hamming tra i due termini รจ uno.
private static boolean checkCondition( List<ImpTerm> impTable, int i, int k )
Controlla se la tabella di parsing contiene l’elemento ricercato, un mancato riscontro nella ricerca implica la non appartenenza della stringa al linguaggio.
protected boolean checkIfExists()
Restituisce true se la pila e’ vuota(quindi se l’automa ha riconosciuto la stringa).
protected boolean checkIsEnd()
Inserisce nello stack l’operatore p se questo ha una priorita minore uguale.
private void codOperator( String t )
Calcola e restituisce il valore della funzione in input.
private static String computeExp( String exp )
Calcola la tabella degli implicanti primi
static List<ImpTerm> computeFimpTab( String exp, List<Term> minTab, List<ImpTerm> fimpTab, List<List<ImpTerm>> tempFimpTab, List<List<ImpTerm>> couples )
Richiama tutti i metodi necessari al compimento dell’algoritmo
private static String computeMinSinFunc( String t )
Restituisce la truthTab privata dei Term in corrispondenza dei quali la funzione assume valore 0.
public static List<Term> computeMinTermTab( List<Term> truthTab )
Restituisce una lista contenente in ogni riga un oggetto Term, che contiene il valore di verita’ che la funzione descritta da exp assume in corrispondenza dei valori di inputValue.
static List<Term> computeTruthTable( List<List<String>> inputValues, List<Character> variables, String exp )
Concatena il contenuto dello stack e lo inserisce in postExp.
private void concatStack()
Trasforma Expression in una espressione comprensibile all’automa.
protected void convertVariable()
Duplica la tabella di copertura in ingresso.
private static List<List<ImpTerm>> duplicateMinCover( List<ImpTerm> minCover, int n )
Restituisce una contenente la rappresentazione binaria di n.
private static List<String> getBinaryRep( int n, int dim )
Restituisce il numero delle variabili presenti in exp.
static int getCountExpVar( String exp )
Ritorna il numero degli elementi non nulli,per ogni riga, nella tabella.
private static List<Integer> getCountOfObj( List<List<ImpTerm>> coverTab )
Restituisce il numero di 1 presenti in term
private static int getCountTrue( List<String> term )
Codifica il carattere in input nell’indice della tabella tabella di parsing.
protected int getCulumIndex( char c )
Restituisce la rapressentazione alfanumerica della funzione minimizzata.
private static String getExpRep( List<ImpTerm> terms )
Restituisce la lista delle variabili presenti in exp.
static List<Character> getExpVar( String exp )
Restituisce in output expression in notazione postfissa.
public String getPostFixNotation( String expression )
Restituisce la priorita’ di t.
protected byte getPriority( String t )
Codifica il carattere in input nell’indice della tabella di parsing.
protected int getRowIndex( char c )
Restituisce il letterale associato all’elemento in input.
private static String getStringRep( String element, int index )
Restituisce la reppresentazione dell’implicante primo in input per la tabella di copertura.
private static String getTermRep( ImpTerm x )
Restituisce il valore (carattere) associato alla variabile in input.
private static char getValue( char x, List<String> inputValues, List<Character> variables )
Restituisce la distanza di hamming che intercorre tra i termini l ed l1.
private static int hammingDist( List<String> l, List<String> l1 )
Restituisce true se l’operatore t ha priorita’ minore di t1.
protected boolean hasLowerPriority( String t, String t1 )
Restituisce true se l’operatore t ha priorita’ maggiore uguale di t1.
protected boolean hasSameOrBiggerPriority( String t, String t1 )
private void insertSimbol( String Simbol )
Restituisce una stringa ottenuta sostituendo in exp i lettarali con i valori ad essi associati.
private static String insertValues( String exp, List<String> inputValues, List<Character> variables )
Restituisce true se la l’espressione contenuta in Expression e’ ben formata.
public boolean isWellFormed()
public Parser( String Expression )
Stampa a terminale le istruzioni d’uso del programma.
private static void printHelp()
Legge il prossimo carattere in input.
protected Character ReadCharacter()
Riempie fimpTab con tutti gli implicanti primi che riesce a trovare.
public static List<ImpTerm> simplifyCouples( List<ImpTerm> impTable, List<ImpTerm> fimpTab, List<List<ImpTerm>> couples )
Semplifica la tabella di copertura controllando un’eventuale dominanza di riga o di colonna.
private static List<List<ImpTerm>> simplifyCoverTab( List<List<ImpTerm>> coverTab )
Restituisce la tabella privata della riga.
private static List<List<ImpTerm>> simplifyRows( List<List<ImpTerm>> coverTab, List<Integer> count )
Restituisce il termine ottenuto applicando l’OR logico a t e t1, tenendo conto delle condizioni di indifferenza “-”.
private static List<String> simplifyTerm( List<String> t, List<String> t1 )