Quali specifici vantaggi e svantaggi di ciascun modo di lavorare su una grammatica del linguaggio di programmazione? Perché / quando dovrei rotolare il mio? Perché / quando dovrei usare un generatore?
Recentemente ho fatto un tuffo nel mondo dei parser, volendo creare il mio linguaggio di programmazione. Tuttavia, ho scoperto che esistono due approcci in qualche modo diversi nella scrittura di parser: Parser Generators e Parser Combinators. È interessante notare che non sono stato in grado di trovare alcuna risorsa che …
Penso di aver capito l'obiettivo di un AST, e prima ho costruito un paio di strutture ad albero, ma mai un AST. Sono per lo più confuso perché i nodi sono testo e non numeri, quindi non riesco a pensare a un modo carino per inserire un token / stringa …
Stavo facendo ricerche sulla suite di compilatori gcc su wikipedia qui , quando è venuto fuori questo: GCC iniziò usando i parser LALR generati con Bison, ma gradualmente passò ai parser scritti in discesa ricorsiva scritti a mano; per C ++ nel 2004, e per C e Objective-C nel 2006. …
Mi sono spesso chiesto perché non sia stato scelto un analisi rigorosa durante la creazione di HTML. Per la maggior parte della storia di Internet, i browser hanno accettato qualsiasi tipo di markup e hanno fatto del loro meglio per analizzarlo. Il processo degrada le prestazioni, consente alle persone di …
Ho notato con gioia che C ++ 11 ha una std::sto@famiglia di funzioni per decomprimere facilmente ints / float / longs qualunque cosa dalle stringhe. Sono sorpreso, tuttavia, che non sia attuato il contrario. Perché il comitato degli standard non ha incluso una std::itosfamiglia di funzioni per passare da ints …
Come vengono generalmente trattati i commenti nei linguaggi di programmazione e nel markup? Sto scrivendo un parser per un linguaggio di markup personalizzato e voglio seguire il principio della minima sorpresa , quindi sto cercando di determinare la convenzione generale. Ad esempio, un commento incorporato in un token dovrebbe "interferire" …
Sono rimasto affascinato dal leggere l'avventura testuale The Hobbit che presentava un parser incredibilmente robusto chiamato "Inglese": ... L'inglese ha permesso di digitare frasi avanzate come "chiedi a Gandalf della curiosa mappa, poi prendi la spada e uccidi il troll con essa". Il parser era complesso e intuitivo, introducendo pronomi, …
La memoria (e i blocchi delle risorse) vengono restituiti al sistema operativo in punti deterministici durante l'esecuzione di un programma. Il flusso di controllo di un programma da solo è sufficiente per sapere dove, di sicuro, una data risorsa può essere deallocata. Proprio come un programmatore umano sa dove scrivere …
I parser convenzionali consumano tutto il loro input e producono un singolo albero di analisi. Sto cercando uno che consuma un flusso continuo e produce una foresta di analisi [ modifica: vedere la discussione nei commenti sul perché questo uso di quel termine potrebbe non essere convenzionale ]. Il mio …
Mi è stato assegnato il compito di implementare un linguaggio specifico di dominio per uno strumento che può diventare abbastanza importante per l'azienda. Il linguaggio è semplice ma non banale, consente già loop nidificati, concatenazione di stringhe, ecc. Ed è praticamente sicuro che altri costrutti verranno aggiunti man mano che …
Sto cercando di capire la compilazione e l'interpretazione, passo dopo passo per capire un'immagine totale. Quindi ho fatto una domanda leggendo http://www.cs.man.ac.uk/~pjj/farrell/comp3.html questo articolo Dice : La fase successiva del compilatore si chiama Parser. Questa parte del compilatore ha una comprensione della grammatica della lingua. È responsabile dell'identificazione degli errori …
Sono in procinto di creare il mio linguaggio di programmazione, che faccio a fini di apprendimento. Ho già scritto il lexer e un parser di discendenza ricorsiva per un sottoinsieme della mia lingua (attualmente supporto espressioni matematiche, come + - * /parentesi). Il parser mi restituisce un albero di sintassi …
Questa domanda è stata migrata da StackTranslate.it perché è possibile rispondere su Software Stack Stack Exchange. Migrato 7 anni fa . Problema: eseguire i comandi sotto forma di stringa. esempio di comando: /user/files/ list all; equivalente a: /user/files/ ls -la; un altro: post tw fb "HOW DO YOU STOP THE …
Voglio creare un parser di regole generico per sistemi RPG in stile penna e carta. Una regola può coinvolgere generalmente da 1 a N entità da 1 a N ruoli di un dado e il calcolo di valori basati su più attributi di un'entità. Per esempio: Il giocatore ha STR …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.