I oto nadszedł – koniec konkursu “Daj Się Poznać 2016”. Dzisiejszy wpis jest ostatnim – dwudziestym – postem konkursowym. Czas więc podsumować te ostatnie trzy miesiące.
Author: manisero
Demonstracja funkcjonalności DSLExecutora
Przyszedł czas na mój przedostatni post w konkursie “Daj Się Poznać”. Najwyższa pora, aby zacząć podsumowania prac. Dzisiaj przedstawię podsumowanie tego, co udało mi się zaimplementować – tak jak obiecywałem, zaprezentuję aplikację demonstrującą możliwości DSLExecutora.
Continue reading “Demonstracja funkcjonalności DSLExecutora”
Testy mniej i bardziej jednostkowe
Przez ostatnie trzy miesiące opisywałem jak działa DSLExecutor. A jeszcze ani razu nie napisałem skąd wiem, że działa poprawnie. Jako że koniec konkursu zbliża się wielkimi krokami, pora wreszcie poruszyć ten temat. Dlatego dzisiaj opiszę, jak testuję moduły DSLExecutora.
Sposób użycia DSLExecutora
Dzisiaj krótko, acz treściwie. Jak stwierdziłem w poprzednim poście, zakres funkcjonalności DSLExecutora został ukończony – wypada więc pokazać sposób jego używania w aplikacji. Bez zbędnych wstępów przejdźmy do rzeczy.
DSL z prawdziwego zdarzenia: generowanie wartości stałych
Przyszedł czas na ostateczną rozprawę z tematem kompilacji przykładowego DSLa – dzisiaj omówię implementację parsowania literałów i przeistaczania ich w wyrażenia. Tym samym zamknę minimalny planowany zakres funkcjonalności DSLExecutora. I dobrze, bo do końca konkursu zostały równo dwa tygodnie!
Continue reading “DSL z prawdziwego zdarzenia: generowanie wartości stałych”
DSL z prawdziwego zdarzenia: generowanie wywołań funkcji
Ostatnio opisałem generator zbiorów wyrażeń, zamieniający TokenTree w BatchExpression. Był to najprostszy z generatorów. Dzisiaj zajmę się bardziej skomplikowanym zadaniem – generowaniem wyrażeń reprezentujących wywołania funkcji, czyli zamianą tokenu FunctionCall na wyrażenie FunctionExpression. Podobnie jak ostatnio, skupię się na projekcie klas implementujących to zagadnienie.
Continue reading “DSL z prawdziwego zdarzenia: generowanie wywołań funkcji”
DSL z prawdziwego zdarzenia: projekt generowania zbiorów wyrażeń
Po wprowadzeniu do tematu przekształcania drzewa tokenów języka na drzewo wyrażeń zrozumiałych dla DSLExecutora, czas na implementację. Dzisiaj zajmę się zbiorami wyrażeń, czyli zamianą TokenTree na BatchExpression. Będzie trochę mniej szczegółowo niż zazwyczaj.
Continue reading “DSL z prawdziwego zdarzenia: projekt generowania zbiorów wyrażeń”
DSL z prawdziwego zdarzenia: wstęp do generowania wyrażeń
Wynikiem ostatnich postów (i odpowiadającej im implementacji) jest to, że potrafię już przetłumaczyć tekst na tokeny. A jak te tokeny mają się do bytów z dziedziny wykonywania wyrażeń? Dzisiejszy post traktuje właśnie o tym, a jednocześnie podsumowuje moje dotychczasowe osiągnięcia w temacie kompilacji DSLa.
Continue reading “DSL z prawdziwego zdarzenia: wstęp do generowania wyrażeń”
DSL z prawdziwego zdarzenia: parser, biblioteka Sprache
Ok, mam już dobrze zdefiniowaną gramatykę wykonywalnego DSLa i jasno postawiony cel – stworzenie jego kompilatora. Teraz mogę sukcesywnie realizować kolejne kroki, które doprowadzą mnie do osiągnięcia tego celu. Dzisiaj zajmę się implementacją parsera sformułowanej ostatnio gramatyki. A pomoże mi w tym pewna genialna biblioteka.
Continue reading “DSL z prawdziwego zdarzenia: parser, biblioteka Sprache”
DSL z prawdziwego zdarzenia: gramatyka DSLa i wstęp do kompilatora
Ostatnio poszedłem na łatwiznę i przedstawiłem najłatwiejszy z możliwych parser DSLa. Zgodnie z obietnicą, dzisiaj zabieram się za stworzenie wykonywalnego języka DSL z prawdziwego zdarzenia. Tym razem pracę zaczynam bardziej profesjonalnie, bo od sformułowania formalnej definicji jego składni.
Continue reading “DSL z prawdziwego zdarzenia: gramatyka DSLa i wstęp do kompilatora”