Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
OPPO ha portato in Italia, dal 1° luglio 2026, Reno16 Pro: display AMOLED da 6,32 pollici a 144Hz, tripla fotocamera con sensore principale da 200 megapixel, chip Dimensity 8550 Super e batteria da 6000mAh, al prezzo di lancio di 899 euro. Lo abbiamo provato per due settimane insieme al nuovo accessorio Bubble, per capire se la formula compatta della serie regge ancora di fronte a un listino da 1099 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-01-2013, 21:54   #1
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
[Vari] Automi a stati finiti, linguaggi, calcolabilità. Aspetti teorico-pratici.

Avrei bisogno di un chiarimento su alcuni aspetti teorico-pratici relativi agli automi a stati finiti.

L'argomento m'appassiona assai ma, non avendo fatto l'università, mi trovo un po' in difficoltà.
chi m'illumina?

Avrei parecchie domande ma comincio con una sola, questa:

Per sapere se una grammatica è di tipo LL(1) ci sono i ben noti algoritmi. Ora, avrei bisogno d'implementare l'algoritmo che costruisce la tabella LL(1) per una data grammatica. Cioè, leggo la grammatica da un file di testo(tipo i file .y di Bison), e automaticamente costruisco la tabella LL(1).
Se la tabella, per una data locazione, contiene più di una regola grammaticale, la grammatica non è, come ben sapete, una grammatica LL(1).
In caso contrario posso utilizzare la tabella appena creata per generare un parser di tipo predittivo non ricorsivo.

Ragazzi, lo so che di generatori di parser se ne trovano a dozzine in rete, ma io voglio implementarne uno da me. E poi di generatori di parser LL(1) non ricorsivi non ce ne sono molti. Il più famoso, Antlr(bellissimo, favoloso!), prende in ingresso una grammatica LL(1) ma genera un parser a discesa ricorsiva.

Comunque per il momento m'interessa partire dal file di testo con la grammatica e creare la tabella LL(1). Per la generazione del parser poi si vedrà.

Non voglio il codice già pronto ovviamente, ma suggerimenti, tecniche, metodi, algoritmi.
Chi mi da una mano?

Poi avrei altre domande di ordine più teorico sugli automi a stati finiti, le macchine di Turing e la calcolabilità. Ma intanto cominciamo con questa.

Ultima modifica di Vincenzo1968 : 19-01-2013 alle 22:00.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2013, 22:44   #2
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
puoi anche seguire un corso universitario che tratti la materia di tuo interesse se lo desideri e senza necessariamente iscriversi e dare esami

Trattazioni così teoriche vengono fatte nel forum Scienza e Tecnica: qui solo cose pratiche
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 09:13   #3
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
No ma questa mia prima domanda è cosa pratica. Devo implementare un programmino che prende in input una grammatica e genera la tabella LL(1).
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 09:55   #4
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
chiedi ad un tecnico di laboratorio che insegna linguaggi formali ed automi.

Mi era capitato di scrivere per chiedere lumi ad un docente di informatica della sapienza, se non ricordo male, circa un suo algoritmo e mi aveva risposto senza difficoltà: scrivi ad uno di loro.

Io una dritta te l'ho data
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 10:17   #5
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Grazie per la dritta.

Io un programmino simile lo sto già scrivendo(e funziona anche ).

Volevo confrontarmi con voi per vedere se sto agendo nella maniera corretta o se ci sono algoritmi più adatti, metodi più indicati.

Non ne conosco tecnici di laboratorio che insegnano linguaggi formali.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 10:31   #6
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
occhio a come ti esprimi perchè di sgamano subito, è una prof

[email protected]
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 10:36   #7
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Questa non l'ho capita. Come dovrei esprimermi? E chi dovrebbe sgamarmi? E cosa dovrebbero sgamare?

Spiego cosa ho fatto finora:

Ho in ingresso questo file:

Codice:
expr   : term expr1;
expr1  : '+' term expr1;
expr1  : ;
term   : factor term1;
term1  : '*' factor term1;
term1  : ;
factor : '(' expr ')';
factor : T_ID;
Il mio programma produce in output il seguente file html:




Purtroppo il programmino che ho scritto seguendo gli algoritmi nei testi(in particolare sull'Hopcroft) non funziona con grammatiche che contengono regole di produzione mutualmente ricorsive.

Come si può risolvere la cosa?

Ultima modifica di Vincenzo1968 : 20-01-2013 alle 10:41.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 10:41   #8
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
se fai domande assurde non ti rispondono, più chiaro così ?

p.s.
a me non interessa il mondo dei compilatori ma solo quello delle reti neurali per il semplice fatto che di compilatori ve ne sono almeno 2500 mentre le reti neurali sono un campo ancora tutto da esplorare. Se poi penso che implica la conoscenza delle equazioi differenziali che non ho messo in pratica durante i miei studi credo sia la volta buona per cavarci qualcosa. Ad ognuno le proprie passioni.


Ultima modifica di misterx : 20-01-2013 alle 10:44.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 10:43   #9
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
No, non ho capita nemmeno questa. Che domande assurde?

Ho bisogno di un algoritmo(algoritmo, non il codice già bell'e pronto) per risolvere la faccenda con le grammatiche mutualmente ricorsive. Tutto qui.

EDIT: purtroppo nei testi che ho consultato non c'è niente in proposito. E nemmeno in rete sono riuscito a trovare qualcosa.
Fanno tutti il solito esempietto con piccole grammatiche e buona notte.

Voglio dire, se ho questa grammatica in input:

Codice:
A : B A a
  |
  ;

B : b B c
  | A A
  ;
Come la risolvo la faccenda?

Ultima modifica di Vincenzo1968 : 20-01-2013 alle 10:47.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 10:47   #10
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
queste persona fanno corsi e spiegano a modo loro i vari argomenti. Se fai loro una richiesta dimostrando di non conoscere per nulla l'argomento e ti assicuro che lo capiscono al volo, non ti rispondono. Stai quindi sulle genreali, magari qualcosa ti dicono.

fine dei consigli
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 10:50   #11
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
A me pare di conoscerlo abbastanza bene l'argomento. Ho solo qualche difficoltà su un punto in particolare: le grammatiche con regole di produzione mutuamente ricorsive.

Ne hai algoritmi da suggerire? Se l'argomento non ti appassiona puoi lasciare stare eh!

Ciao
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 11:25   #12
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Il testo che sto consultando è questo:

http://www.amazon.it/Automi-linguagg.../dp/8871925521
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 11:27   #13
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 13012
Stiamo parlando di grammatiche context-free.

Generalmente la prima cosa da fare con una grammatica CF, è semplificarla:

Elimination of Nonterminal symbols that do not generate words
Elimination of symbols unreacheable from the start symbol
Elimination of useless symbols
Elimination of epsilon production
Elimination of Unit Production
Elimination of Left Recursion

Comunque trovi tutto sul Dragon Book, nell'edizione del 2006 in inglese (la seconda), pagine 224 e 225, trovi l'algoritmo per cui data una grammatica in ingresso ottieni in output la tabella di parsing .

Chiaramente prima devi vederti alcune definizioni, tipo quelle di FIRST e FOLLOW e compagnia bella.

Niente che non si possa fare da soli.

Avevo fatto un programmino in Java tempo fa per il parsing LR, seguendo proprio quel libro, in caso posto il codice (è tanta roba, c'era anche il Cooke-Younger-Kasami).

Ultima modifica di WarDuck : 20-01-2013 alle 11:30.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 11:35   #14
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
No, WarDuch, alle pagine da te indicate c'è l'algoritmo per le grammatiche LR.

Comunque forse ho risolto:

Codice:
A : B A a
  |
  ;

B : b B c
  | A A
  ;
Il mio programma produce, adesso, il seguente output:



Mi confermate che è corretto?

Ultima modifica di Vincenzo1968 : 20-01-2013 alle 11:40.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 11:37   #15
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
Stiamo parlando di grammatiche context-free.

Generalmente la prima cosa da fare con una grammatica CF, è semplificarla:

Elimination of Nonterminal symbols that do not generate words
Elimination of symbols unreacheable from the start symbol
Elimination of useless symbols
Elimination of epsilon production
Elimination of Unit Production
Elimination of Left Recursion

Comunque trovi tutto sul Dragon Book, nell'edizione del 2006 in inglese (la seconda), pagine 224 e 225, trovi l'algoritmo per cui data una grammatica in ingresso ottieni in output la tabella di parsing .

Chiaramente prima devi vederti alcune definizioni, tipo quelle di FIRST e FOLLOW e compagnia bella.

Niente che non si possa fare da soli.

Avevo fatto un programmino in Java tempo fa per il parsing LR, seguendo proprio quel libro, in caso posto il codice (è tanta roba, c'era anche il Cooke-Younger-Kasami).
Posta posta, lo sai che sono goloso di algoritmi e tecniche sull'argomento
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 11:58   #16
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Ragazzi se mi confermate che l'output è corretto posto il mio programma. Potrebbe essere d'ausilio per gli studenti che debbono affrontare l'argomento, no?
Magari faccio stampare(a video o nel file html) come viene generata, passo passo, seguendo l'algoritmo, la tabella LL(1).

È corretto l'output?
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 12:00   #17
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 13012
Eccolo:

https://skydrive.live.com/redir?resi...NozV-6ZuiRYb1w

Lo puoi aprire con NetBeans o usare il JAR .

La sintassi per la grammatica è simile a questa:

S->aA|c
A->b|e

Dove "S" è lo start symbol e "e" è l'empty string .
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 12:03   #18
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
Eccolo:

https://skydrive.live.com/redir?resi...NozV-6ZuiRYb1w

Lo puoi aprire con NetBeans o usare il JAR .

La sintassi per la grammatica è simile a questa:

S->aA|c
A->b|e

Dove "S" è lo start symbol e "e" è l'empty string .
Grazieeeeeeeeeeee!!!!!!!



Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 14:37   #19
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Sono quasi certo che l'output del mio programma sia corretto; anche nel caso di grammatiche con regole di produzione mutuamente ricorsive.

Ma, appunto, "quasi".

Aspetto conferma prima di postare il codice.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 19:14   #20
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Mi è stato dato un parere da un amico Ingegnere Informatico.

Aspetto il vostro per avere la certezza assoluta.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
La 'casetta in Canadà' di Mark Zu...
Una batteria che dura più di 5000...
Addio smemorati: WhatsApp testa una nuov...
Italia finalmente all'avanguardia con il...
Gratis e scritto con l'IA, il convertito...
Cooler Master V8 ACE 3DHP: disponibile i...
L'IA minaccia migliaia di posti nei call...
Assetto Corsa EVO introduce il foveated ...
Il modello base di NVIDIA Shield TV potr...
Meta sta sviluppando occhiali smart capa...
Ecco degli avviatori batteria auto super...
Fujifilm firma il suo obiettivo pi&ugrav...
Le nuove auto in UE devono accorgersi se...
Speciale pulizia: robot e scope elettric...
Dreame A2 3000 crolla di 800€: il robot ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:39.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v