Janino jest super-mały, super-fastcompiler, który odczytuje wyrażenie Java, bloku lub pliku źródłowego, i generuje kod bajtowy Java, który jest ładowany i wykonywany bezpośrednio. Nie jest przeznaczony do narzędzia programistycznego, ale osadzony kompilator do celów kompilacji w czasie wykonywania, takich jak oceniający wyrażenia lub "serwer pages" aparaty, takie jak JSP. Właściwości Głównym celem projektu było utrzymanie kompilatora małe i proste, podczas gdy częściowo poświęcając kompletność. Nie podoba mi się pomysł noszenia ogromnych bibliotek do prostych aplikacji. Zobacz Analizator listę zaimplementowanych i brakujących funkcji języka. Kiedy potrzebujesz skutecznego oceniającego wyrażenie? Załóżmy, że budujesz system e-commerce, który oblicza koszt wysyłki przedmiotów, które użytkownik włożył do swojego koszyka. Ponieważ nie znasz modelu kosztów wysyłki sprzedawcy w czasie implementacji, możesz wdrożyć zestaw modeli kosztów wysyłki, które przychodzą na myśl (opłata ryczałtowa, według wagi, liczby przedmiotów, ...) i wybrać jeden z nich w czasie wykonywania. W praktyce z pewnością przekonasz się, że zaimplementowane modele kosztów wysyłki rzadko pasują do tego, czego chce sprzedawca, więc musisz dodać niestandardowe modele, które są specyficzne dla sprzedawcy. Jeśli model sprzedawcy zmieni się później, należy zmienić kod, ponownie skompilować i ponownie rozpowszechniać oprogramowanie. Ponieważ jest to tak nieelastyczne, wyrażenie kosztu wysyłki należy określić w czasie wykonywania, a nie w czasie kompilacji. Oznacza to, że wyrażenie musi być skanowane, analizowane i oceniane w czasie wykonywania, dlatego potrzebujesz oceniającego wyrażenie. Oceniający proste wyrażenie analizuje wyrażenie i tworzy drzewo składni "". Wyrażenie "a + b * c", na przykład, będzie kompilować w "Sum" obiekt, który pierwszy operand jest parametrem "a" i kto drugi operand jest "Product" obiekt, który jest operowanie są parametry "b" i "c". Takie drzewo składni można ocenić stosunkowo szybko. Jednak wydajność w czasie wykonywania jest o współczynnik 100 gorsze niż natywny kod Java.
historia wersji
- Wersja 2.5.7 opublikowany na 2002-11-09
Zaktualizowano stronę przeglądu.
Szczegóły programu
- Kategorii: Rozwoju > Innych
- Wydawca: Arno Unkrig
- Licencji: Wolna
- Cena: N/A
- Wersja: 2.7.8
- Platformy: windows