Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
2011 fsr democamp_xtext
1. Suport IDE in Eclipse pentrulimbajul tau (DSL) folosindXtext Dorin Florian Ciuca dorin.ciuca at freescale.com June 2011 Eclipse DemoCamp Bucharest
2. Ce este un DSL? DSL (Domain-Specific Language) reprezinta un limbaj de programare minimal orientatpe un anumitdomeniu. Ex: SQL, limbaje XML cum e ANT etc GPL (General Purpose Language) limbaj de programare general Ex: Java, C, C++ etc Folosireaunui GPL pentrurezolvareauneiproblemedintr-un anumitdomeniuesteposibila, dar nu e neaparatceamaiindicatasolutie. Un DSL pentruaceldomeniuartrebuisaajute la: crestereaproductivitatii, claritatiicodului, mentineresimodificarimaiusoare etc. XML poatefifolositpentrudefinirea de DSL-uri, dar are ca dezavantaj major sintaxageneralizata care nu e usor de urmarit de catreoameni
3. Ce este Xtext? Conform http://www.eclipse.org/Xtexteste: un framework pentrudezvoltarea de limbaje conform folositpentru a crea un limbajnou a adaugasuportpentru un limbaj existent un mic DSL un GPL complex Xtextpermiteadaugarea de IDE support in Eclipse pentru un limbaj, asemanator cu suportul existent dejapentru Java in Eclipse IDE.
5. Cum functioneaza? (continuare) Porneste de la gramaticalimbajului care trebuiedefinita de user Foloseste ANTLR pentru a genera un parser conform gramaticii (http://www.antlr.org) Genereazametamodelulpentru abstract syntax tree (AST) bazatpeecore (de fapteste un graf, darilnumim traditional AST) Genereaza un eclipse plug-in care vacontinesuportulpentru IDE bazatpe AST siParseTree Genereaza optional un eclipse plug-in care contine un generator pentrulimbajuldefinit
7. Alte detalii AST-ulrezultatfiind un model EMF, se poateusorinterconecta cu alte framework-uribazatepe EMF ca GMF Xtext se poatefolosisi ca aplicatie java standalone, nu e bazatpe Eclipse OSGI.