Janino 2.7.8

Licencji: Wolna ‎Rozmiar pliku: 1.05 MB
‎Ocena użytkowników: 2.7/5 - ‎6 ‎Głosów

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

Eula

Umowa licencyjna użytkownika końcowego – Umowa licencyjna użytkownika końcowego

Janino - wbudowany kompilator Java[TM] Prawa autorskie (c) 2001-2010, Arno Unkrig Wszelkie prawa zastrzeżone. Redystrybucja i wykorzystanie w formach źródłowych i binarnych, modyfikacji, są dozwolone, pod warunkiem że następujące warunki: są spełnione: 1. Redystrybucja kodu źródłowego musi zachować powyższe prawa autorskie niniejszego wykazu warunków i następującego wyłączenia odpowiedzialności. 2. Redystrybucja w formie binarnej musi odtworzyć powyższe informacji o prawach autorskich, listę warunków i poniżej w dokumentacji i/lub innych materiałach wraz z dystrybucją. 3. Nazwisko autora nie może być wykorzystywane do wspierania lub promowania produktów pochodzących z tego oprogramowania bez pisemnej zgody. TO OPROGRAMOWANIE JEST DOSTARCZANE PRZEZ AUTORA ''TAK JEST'' ORAZ WSZELKIE DOROZUMIANYCH GWARANCJI, W TYM MIĘDZY INNYMI GWARANCJE PRZYDATNOŚCI HANDLOWEJ I PRZYDATNOŚCI DO OKREŚLONEGO CELU SĄ ZRZEKANE. W ŻADNYM WYPADKU AUTOR NIE PONOSI ODPOWIEDZIALNOŚCI ZA BEZPOŚREDNIE, POŚREDNIE, PRZYPADKOWE, SPECJALNE, PRZYKŁADOWE LUB WTÓRNE ODSZKODOWANIA (W TYM MIĘDZY INNYMI ZAMÓWIENIA NA TOWARÓW LUB USŁUG; UTRATY UŻYTKOWANIA, DANYCH LUB ZYSKÓW; LUB BIZNES PRZERWANIA) JEDNAK SPOWODOWANE I NA WSZELKIEJ TEORII ODPOWIEDZIALNOŚCI, CZY W UMOWIE, ODPOWIEDZIALNOŚCI NA ZASADZIE SUROWEJ LUB DELIKTIE (W TYM ZANIEDBANIA LUB W PRZECIWNYM RAZIE) POWSTAŁYCH W JAKIKOLWIEK SPOSÓB Z KORZYSTANIA Z TEGO OPROGRAMOWANIA, NAWET JEŚLI ZOSTANIE POINFORMOWANY O MOŻLIWOŚCI WYSTĄPIENIA TAKIEGO USZKODZENIA.