W gramatyce Xtext mogę dołączyć blok kodu Xbase przy użyciu typów XExpression/XBlockExpression. Jak mam zrobić to samo z blokiem kodu Java? Dołączona java powinna później zostać dołączona do Javy wygenerowanej z konstrukcji DSL.

2
Gandalf 30 sierpień 2012, 16:04

2 odpowiedzi

Najlepsza odpowiedź

Możesz to zrobić teraz za pomocą JBase (https://github.com/LorenzoBettini/jbase). JBase został stworzony specjalnie dla opisanego przez Ciebie przypadku użycia (zobacz https://dl.acm. org/citation.cfm?id=2972217) i można go włączyć z niewielkimi zmianami, rozszerzając JBase zamiast XBase.

1
Ben Holland 12 kwiecień 2019, 20:45

Nie jest możliwe bezpośrednie dołączanie bloków kodu Java (chyba że jesteś przygotowany do napisania całej gramatyki Java i odpowiedniej obsługi narzędzi, np. Rozdzielczość zmiennych lub generowanie kodu).

Jednak bloki kodu Xbase można tłumaczyć na bloki kodu Java za pomocą wbudowanych usług Xtext we wnioskującym modelu lub za pomocą XbaseCompiler. Możliwe jest również zinterpretowanie go po prostu za pomocą klasy XbaseInterpreter.

Wreszcie, jeśli naprawdę potrzebujesz bloków kodu Java, możesz zapisać je w plikach .java i odwoływać się do nich za pomocą JvmIdentifiableElements.

1
Zoltán Ujhelyi 6 wrzesień 2012, 18:23