È un compito ragionevole convertire automaticamente grammatiche ANTLR nel mio formato personale?

0

Stavo lavorando al mio strumento di parser generator in Clojure e poi ho capito che volevo testarlo con alcuni linguaggi di programmazione reali. Posso trovare molte grammatiche linguistiche esistenti solo in formato v4 antlr .

Ciò significa che se posso tradurre automaticamente grammatiche antlr nel mio formato personale, posso ottenerle tutte. È un compito ragionevole (perché non ho notato altri generatori di parser con antlr-converters, quindi deve esserci qualcosa di difficile)

    
posta Alexander Ivanov 24.10.2015 - 03:05
fonte

1 risposta

2

Is translating ANTLR grammars to my own format a reasonable task?

Dipende dalla tua definizione di ragionevole. Se intendi "realizzabile" o "vale la pena, visto il tempo e lo sforzo richiesti", questo è solo qualcosa a cui puoi rispondere. Presumibilmente, se hai scritto il tuo parser, questo non dovrebbe essere troppo difficile.

Se intendi "legale" (ad esempio violare copyright o brevetti), ciò dipende dall'individuo o dall'organizzazione che ha creato la grammatica ANTLR. Alcune grammatiche possono essere concesse in licenza o avere altre protezioni legali. Ad esempio, una grammatica concessa in licenza in GPL potrebbe richiedere qualsiasi lavoro basato su questo (come il tuo grammatiche o codice generato per analizzarlo) per ottenere anche la licenza GPL. In caso di dubbio, parla con un professionista legale o con la persona o l'organizzazione che ha creato o è responsabile della grammatica.

Se intendi "guardare in basso", "tagliare gli angoli" o "essere pigro", tutte le grammatiche sono state derivate da qualcosa. Una volta che hai scritto alcune grammatiche, ci sono rendimenti decrescenti per fare tutto da zero. Vorrei parlare con gli altri membri della comunità di parser / lexer e vedere cosa fanno.

Se intendi "best practice", come ha affermato @RubberDuck, alcune grammatiche pubblicate potrebbero contenere errori o omissioni. Controllare attentamente eventuali grammatiche di terze parti prima di copiarle. Potresti voler ricavare il tuo, quindi utilizzare altre grammatiche come riferimento o dati di test.

    
risposta data 24.10.2015 - 03:36
fonte

Leggi altre domande sui tag