Propozycja parsera języka opartego na XML

0

Wyszedłem sobie z takim dosyć dziwnym, a być może ciekawym pomysłem.

Parser plików XML, wykonujących pewne działania. AML - Active Markup Language.

Przykład:

<import>lib:math</import>

<function type="void" name="main">
<arg name="a" value="5" />
<arg name="b" value="3" />
<out><run name="math.pow"><arg name="a"><arg name="b"></run></out>
</function>

Wyjście w konsoli:
125

Chodziło by o to, by XML używany jako przechowywarka danych mógł stać się językiem programowania, w którym można tworzyć prawdziwe aplikacje.

0

Tylko pytanie po co? Zauważyłeś ile kodu jest więcej do napisania niż np. w JS, PHP czy innym języku skryptowym. Pytanie do czego miał by być ten język, programowania na systemy typu windows, linux itp., czy język skryptowy, czy też coś typu java(maszyna wirtualna)? poza tym po co tworzyć nowe języki, i tak jest ich za dużo, każdy pisze w czym innym i moim zdaniem spowalnia to tworzenie oprogramowania(open source).

2

@ShookTea bez sensu. Aktualnie odchodzi się od xmla bo jest przegadany ;] Już lepiej gdybyś pomyślał o jakimś sensownym DSLu ;] Ale takie można po prostu zrobić w oparciu o Scalę na przykład.

0

Języków skryptowych(webowych) masz JavaScript, PHP, ASP. python i inne. I po co kolejny? Ja znam PHP i JS, więc nie wezmę udziału w projekcie w ASP czy python bez nauczenia się chociaż jego podstaw. Spowalnia pisanie aplikacji webowych, gdyż jak wiadomo więcej rąk do pracy to teoretycznie szybszy efekt.

0

No cóż, żadnym mistrzem programowania nie jestem. Znam jedynie Javę oraz odrobinkę PHP i stwierdziłem, że napisanie takiego parsera mogłoby chociaż odrobinę zwiększyć moją wiedzę głównie w Javie (w której mam zamiar ten parser napisać) i w analizie XMLek. Co do DSL, to nie potrafię wymyślić zastosowania, bo chyba już wszystko wymyślili.

@Adam Programmer Owszem, języków skryptowych jest od groma, ale nikt nie mówi o stworzeniu czegoś, co ma zdobyć jakąkolwiek popularność. Wydaje mi się raczej, że poza mną nikt nie będzie się tym bawił, ale chcę się nauczyć nowych rzeczy i głównie po to chcę się w to bawić. Piszę tutaj, bo chciałbym się dowiedzieć, co myślicie o samym pomyśle (co już ładnie zrobił @Shalom z "przegadanym xmlem" :D)

3

Generalnie sam pomysł jest fajny, tyle, że nie stworzysz parsera, tylko program obsługujący plik z parametrami w XML.

Parserem byłby kod, który rozkłada cała strukturę XMLa na czynniki pierwsze (wszystkie znaczniki), analizuje ich poprawność strukturalną i semantyczną i dopiero wtedy zabiera się za analizę merytoryczną. Parserem byłby też kod, który analizuje zapis naturalny: math.pow(5,3).

Uważam jednak, że umiejętność przetwarzania XMLi to jedna z podstawowych umiejętności każdego programisty.

Mała uwaga na koniec - zastanów się, czy format JSONa nie będzie bardziej wydajny objętościowy od XMLa - zasada działania obu jest bardzo podobna, ale JSON zawiera znacznie mniej opakowania w stosunku do danych.

Poza tym rób. Wszystko co poszerza twoje doświadczenie ma sens.

0

Zrobiłem kiedyś dla zabawy prototyp projektu, który interpretował właśnie tego typu język programowania - i nie jest to specjalnie skomplikowane. Ale rację mają przedmówcy - XML jest zbyt "przegadany", strasznie dużo roboty żeby cokolwiek osiągnąć.

0

Też kiedyś pisałem własny język prog. w XML for fun. Akurat w XML to jest to proste do osiągnięcia bo zrobisz sobie DTD i już podstawowe parsowanie składni masz załatwione. Implementujesz tylko stos i parser i puuuf zabawkowy język gotowy :) Problem w tym że wygląd języka prod. w XML woła o pomstę do nieba.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.