Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-11-2005, 17:21   #1
>|HaRRyFocKer|
Senior Member
 
L'Avatar di >|HaRRyFocKer|
 
Iscritto dal: Jan 2003
Città: Roma / Napoli ---------------------- Vi PREGO, chiamatemi Marcello, non HarryFocker... Merci...
Messaggi: 1814
[CURIOSITA'] Come si scrive un linguaggio?

Sto seguendo all'università il corso di elementi di Informatica in cui sto studiando il c(++).
Ora che so che per scrivere un "programma" c'è bisogno di un linguaggio di programmazione, mi ponevo la suddetta domanda. Come si scrive? Si usa un linguaggio precedente? Se si, il primo linguagigo come è stato scritto?

Tutto questo su rieduchescional sciannel!

Grazie a chi mi risponderà...
__________________
LOVE WILL TEAR US APART.
--- Cisco Systems CCNA Certified --- MyLastFM --- My Deviations ---
Quando i 65daysofstatic si scioglieranno per problemi di droga del bassista... Io l'avevo già detto!
>|HaRRyFocKer| è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 18:01   #2
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
guarda, non mi reputo in grado di spiegartelo, ma ti consiglio di trovare "linguaggi e Traduttori"
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 19:01   #3
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Si usa un linguaggio per il quale esista un interprete. Per implementare il primo compilatore C (non conosco di preciso la storia, ma posso tirare ad indovinare), avranno usato un assembler, per il C++ il C e così via. Chiaro che puoi usare qualcunque linguaggio esistente per implementare il nuovissimo linguaggio ultra-figo X. Anzi, puoi usare anche il linguaggio stesso, una volta che hai pronto il "core".

La teoria dei compilatori è una branca piuttosto esoterica, ma molto affascinante. Se vuoi farti del male gratuitamente, studiala pure

Comincia con lo scrive un programma che dica se un espressione del tipo (3 * (9 + 15)) / 2 è corretta (come in questo caso) oppure no...scoprirai che non è tanto banale

EDIT: ho parlato di 'interprete', ma non fa molta differenza (a questo livello di discussione) con i linguaggi compilati.
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 21:30   #4
DarkRevenge
Member
 
Iscritto dal: May 2005
Messaggi: 118
Quote:
Originariamente inviato da shinya
Si usa un linguaggio per il quale esista un interprete. Per implementare il primo compilatore C (non conosco di preciso la storia, ma posso tirare ad indovinare), avranno usato un assembler, per il C++ il C e così via. Chiaro che puoi usare qualcunque linguaggio esistente per implementare il nuovissimo linguaggio ultra-figo X. Anzi, puoi usare anche il linguaggio stesso, una volta che hai pronto il "core".

La teoria dei compilatori è una branca piuttosto esoterica, ma molto affascinante. Se vuoi farti del male gratuitamente, studiala pure

Comincia con lo scrive un programma che dica se un espressione del tipo (3 * (9 + 15)) / 2 è corretta (come in questo caso) oppure no...scoprirai che non è tanto banale

EDIT: ho parlato di 'interprete', ma non fa molta differenza (a questo livello di discussione) con i linguaggi compilati.
Quoto shinya e aggiungo questo link [click] che chiarisce forse un po' di più i vari "rami di discendenze" dei linguaggi di programmazione.
Come giustamente ha detto shinya, il C è nato dall'assembly, nel momento in cui si è deciso di creare un linguaggio molto più semplice (ma allo stesso tempo a basso livello come l'assembly) per riscrivere una primissima versione del codice di Unix scritta interamente in assembly. Tutto questo se la memoria non mi inganna
DarkRevenge è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 22:11   #5
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4739
Quote:
Originariamente inviato da DarkRevenge
il C è nato dall'assembly,
1) non tanto il C, quanto il suo compilatore: progettare un linguaggio implica definirne sintassi e semantica, costruendo una grammatica e le relative mappature, realizzare un compilatore equivale a codificare l' algoritmo che prendendo un testo lo analizza secondo la grammatica di cui sopra e lo trasforma in codice oggetto, per far questo si userà un altro linguaggio tra quelli esistenti

2) non tanto "dall", quanto "in": mancando altri compilatori si dovette usare direttamente il codice macchina , ma non si ha "parentela" tra assembly e C
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name
Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish
Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
jappilas è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 00:50   #6
The3DProgrammer
Senior Member
 
Iscritto dal: May 2000
Messaggi: 1459
Quote:
Originariamente inviato da jappilas
1) non tanto il C, quanto il suo compilatore: progettare un linguaggio implica definirne sintassi e semantica, costruendo una grammatica e le relative mappature, realizzare un compilatore equivale a codificare l' algoritmo che prendendo un testo lo analizza secondo la grammatica di cui sopra e lo trasforma in codice oggetto, per far questo si userà un altro linguaggio tra quelli esistenti
Esattamente, il primo passo per la nascita di un linguaggio è la definizione di una grammatica che lo descriva. Ti faccio un esempio:

<espressione> -> <termine>{<operatore><termine>}*
<termine> -> 0-1-2-3-4-5-6-7-8-9
<operatore> -> + - / *

una grammatica del genere dovrebbe (a meno di lapsus, data l'ora ) riconoscere espressioni aritmetiche semplici del tipo

5+9-6 o 6+8 o anche un solo numero, ad es 5 (il carattere * indica che il contenuto tra parentesi graffe può essere ripetuto 0, 1 o n volte). Se non ricordo male (è passato un annetto dal corso di linguaggi) tale grammatica è detta EBNF. La grammatica va poi analizzata (va costruita la tabella dei simboli, va fatta l'analisi FIRST/FOLLOWS etc) per giungere alla realizzazione di un parser. Ad esempio un generico e poco dettagliato parser per la grammatica che ho scritto prima potrebbe essere:

void espressione(){

Termine();
AltraEspressione();

}

void AltraEspressione(){

Operatore();
Termine();

if(è finito il file di cui si sta facendo il parsing)
return;

AltraEspressione();

}

void Operatore(){

...
}

void Termine(){

...

}

A questo punto un parser siffatto è in grado di dire se un file è sintatticamente corretto, ma non è in grado di verificarne la semantica (ad es una espressione tipo 10/0 per il parser è corretta, ma non ha significato). Quindi il passo successivo è quello di realizzare un modulo di controllo semantico, poi uno di interpretazione (se ad es si vuole sapere il valore di un'espressione) e così via.

Ora, considera che un linguaggio di alto livello può essere composto da centinaia se non migliaia di regole sintattiche che compongono la grammatica, e inoltre l'analisi semantica è estremamente complicata (basti pensare ad es al solo type checking) e bisogna fare la conversione in codice macchina. I ragionamenti che ho esposto tra l'altro valgono solo x alcuni tipi di grammatiche (dette LL(1), in quanto è possibile distinguere tra le varie entità sintattiche guardando il solo primo carattere di un token, cioè una unità di testo) e possono essere estesi alle grammatiche LL(k), ma ci sono altre grammatiche a cui si approccia in modo radicalmente differente (se nn ricordo male ne avevo viste alcune tipo SLR(1), ma potrebbe essere una castroneria). Quindi, se vuoi interessarti seriamente all'argomento, pensa che tutto quello ke ho scritto va moltiplicato x 10^32

ciauz
The3DProgrammer è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 01:25   #7
The3DProgrammer
Senior Member
 
Iscritto dal: May 2000
Messaggi: 1459
ah, tra l'altro mi accorgo che sto pseudo parser che ho scritto è riferito ad una grammatica di forma + semplice (ho fatto il casting automatico ) chiamata BNF.
The3DProgrammer è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 09:35   #8
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
3dprog, a parte i complimenti per la spiegazione davvero esaurinte, una picola sottolineatura...
la firma tre righi (i mod sono pignoli, non famoli inc......)
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 10:55   #9
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
io mi sono cimentato in questo è ho lasciato il progetto per cose + alla mia portata.

vorrei tanto che intervenisse repscasb su questo 3d la quale a collaborato al compilatoreTc 3.1 della borland.....
okay è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 11:05   #10
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 11:50   #11
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
x fek: non l'ho mica capita...

x altri: se vi interessa il parsing c'è un libro aggratis molto esaustivo a questo indirizzo: http://www.cs.vu.nl/~dick/PTAPG.html

Così vi viene il vomito
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 12:18   #12
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
A proposito di compilatori e interpreti...facciamo una gara?
Vediamo chi riesce a risolvere per primo questo problema http://spoj.sphere.pl/problems/FOOL/

Chi ce la fa posti il sorgente! (In realtà è una scusa, perchè io ci ho provato a mettermici lì una sera e non ci sono riuscito...ma forse dovrei mettermici più d'impegno! :P)
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 12:52   #13
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4739
Quote:
Originariamente inviato da shinya
non l'ho mica capita...
< immagine postata da fek > ->(op di sostituzione)
"sì e poi c' era la marmotta che confezionava la cioccolata"
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name
Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish
Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate

Ultima modifica di jappilas : 17-11-2005 alle 14:30.
jappilas è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
La nave elettrica più grande mai ...
Spusu lancia il Wi-Fi Calling: come funz...
Questo robot impara a muovere le labbra ...
iPhone 17 annienta la concorrenza in Cin...
La nuova Xiaomi SU7 batte un record: 4.2...
È possibile copiare i qubit: dei ...
BYD alza ulteriormente l'asticella: batt...
Il nuovo razzo spaziale riutilizzabile c...
L'ex leader di Assassin's Creed porta Ub...
Il razzo spaziale NASA SLS e la capsula ...
Samsung Galaxy S26 Ultra: quattro colora...
AWS investe 1,2 miliardi in Italia. Coin...
La navicella cinese Shenzhou-20 con il f...
I piani Business ed Education di Google ...
Ceres-2 e Lunga Marcia 3B: la Cina falli...
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: 22:53.


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