ГрГен - GrGen

GrGen.NET
Grgen-256.png
ПарадигмаМультипарадигма: декларативті, императивті, объектіге бағытталған
ӘзірлеушіСебастьян Хак, Рубино Гейсс, Мориц Кролл, Эдгар Джакумейт және т.б.
Бірінші пайда болды2003 (2003)
Тұрақты шығарылым
GrGen.NET 4.5 / 9 сәуір, 2017 ж; 3 жыл бұрын (2017-04-09)
Пәнді теруСтатикалық, ішінара динамикалық, күшті, қауіпсіз, номинативті
ОЖКросс-платформа (көп платформалы)
ЛицензияGNU кіші жалпыға ортақ лицензиясы
Веб-сайтгрген.желі
Koch-снежинкасын қалыптастыратын бірізділіктің күйін келтіру (ережелер сол жақта, GrShell төмендегі ағымдық ережемен, yComp оң жақтағы негізгі графикте сәйкестендірілген)
Ауыстыру қадамын орындау

GrGen.NET Бұл бағдарламалық жасақтама жасау құралы ұсынады бағдарламалау тілдері (арнайы домендерге арналған тілдер ) өңдеу үшін оңтайландырылған граф құрылымдалған деректер. Тілдердің өзегі мыналардан тұрады модульдік графикті қайта жазу ережелері, олар салынған декларативті графикалық өрнекті сәйкестендіру және қайта жазу; олар көптеген конструкциялармен толықтырылған императивті және объектіге бағытталған бағдарламалау және мәліметтер базасынан белгілі тілдік құрылғылармен толықтырылған сұрау тілдері.

Графикті қайта жазу Генератор құрастырады тілдерді тиімді ету CLI жиындары (арқылы C # Арқылы қосуға болатын аралық қадамдағы код) API кез келген кодта жазылған .NET-тіл.GrGen астында орындалуы мүмкін Windows және Linux (Моно қажет) және болып табылады ашық ақпарат көзі астында қол жетімді LGPL v3.

Тез прототиптеу және күйін келтіру үшін интерактивті қабық және (VCG-) графикалық қарау құралы пакетке енгізілген, оның тілдерімен және визуалды және сатылы отладтарымен GrGen оның табиғи деңгейінде дамуына мүмкіндік береді абстракция жұмыс жасайтындар сияқты графикалық негіздегі көріністер инженерлік, модель түрлендіру, есептеу лингвистикасы, немесе құрастырушының құрылысы (сияқты аралық өкілдік ).

GrGen дәстүрлі бағдарламалау тілінде бағдарламалау арқылы қол жеткізуге болатыннан әлдеқайда жоғары міндеттердің өнімділігін арттырады; көптеген енгізілген оңтайландырулардың арқасында ол әлі де жоғары өнімді шешімдерге қол жеткізуге мүмкіндік береді жүйе ең жоғары жиынтық жылдамдығын ұсынады даму және орындау үшін қол жетімді алгоритмдік өңдеу график -қасиетті ұсыныстар (олардың трансформация құралдары байқауының әр түрлі басылымдарында қойылған әртүрлі тапсырмаларға байланысты орындалуы негізінде (/ GraBaTs)).

Техникалық сипаттама үлгісі

Төменде GrGen.NET-шешімінен бастап графикалық моделі мен ережелерінің сипаттамаларын қамтитын мысал келтірілген AntWorld ісі қойылған Грабаттар 08.

Графикалық модель:

түйін класы GridNode {food: int; феромондар: int;}түйін класы GridCornerNode ұзарады GridNode;түйін класы AntHill ұзарады GridNode {foodCountdown: int = 10;}түйін класы Ant {hasFood: boolean;}шеткі класс GridEdge қосу GridNode [1] -> GridNode [1];шеткі класс PathToHill ұзарады GridEdge;шеткі класс AntPosition;

Қайта жазу ережелері:

ереже TakeFood (curAnt: Ant) {curAnt -: AntPosition-> n: GridNode  AntHill; егер {! curAnt.hasFood && n.food> 0; } өзгерту {        бағалау {curAnt.hasFood = true; n.food = n.food - 1; }}}ереже SearchAlongPheromones (curAnt: Ant) {curAnt -oldPos: AntPosition-> ескі: GridNode <-: PathToHill- жаңа: GridNode; егер {new.feromones> 9; } өзгерту {жою (oldPos); curAnt -: AntPosition-> жаңа; }}тест ReachedEndOfWorld (curAnt: Ant): (GridNode) {curAnt -: AntPosition-> n: GridNode  AntHill; теріс {n <-: PathToHill-; } қайту (n);}

Сыртқы сілтемелер

Конференция мақалалары

Сондай-ақ қараңыз