Axe - Mój jezyk programowania.

0

Witam, chciałem spytać się Was, co sądzicie o Moim jezyku programowania.
na początek, film z krótkim pokazem strażników:

Jezyk ten opiera się na c++ dzięki czemu wszystkie biblioteki napisane w c oraz c++ bedą bez problemowo działały w Axe.

Głównymi załozeniami przy tworzeniu jezyka są:

  • Strażniki
  • Lepsza czytelność kodu - zamiana instrukcji na słowa np. and zamiast &&, extends zamiast :
  • Autolink funkcji - Linkowanie funkcji na początku programu aby zminimalizować błedy.
  • Wbudowany lua script - tak jak javascript w javie
  • Pętle Foreach

Chętnie wysłucham waszych opini oraz propozycji co mógłbym dodać do mojego jezyka.

Pozdrawiam TheJakubx.

0

Wbudowany lua script - tak jak javascript w javie

No to zaszalałeś...

0
Wibowit napisał(a):

Wbudowany lua script - tak jak javascript w javie

No to zaszalałeś...

Co masz na myśli? Ja osobiscie lubie luascript

1

Jest jakaś dokumentacja?
Daj kompilator i napisz coś o nim.

0

Nie wiem jak inni, ale ja totalnie nie rozumiem co chciałes pokazać na tym filmiku. A te twoje "strażniki" to zwykłe asercje dostępne w C++...
Z tą czytelnością to bym nie przesadzał.
Nie rozumiem co dla ciebie znaczy autolink funkcji.
C++ też ma foreach.

1

-Strażniki - nie mam pojęcia co to/jak to ma działać ale z tego co widzę to chyba coś w rodzaju if-else.
-lepsza czytelność kodu- w C++ można z powodzeniem użyć and zamiast && (to dotyczy wszystkich operatorów logicznych)
-Autolink funkcji - Linkowanie funkcji na początku programu aby zminimalizować błedy. - kompletnie nie rozumiem o co chodzi.
-Wbudowany lua script - tak jak javascript w javie - bez komentarza...
-Pętle Foreach - od C++11 masz range-based for
Nie pokazałeś źródeł, nie napisałeś nic o tym jak go zaimplementowałeś.

0

38eb8238da.png
Też chciałbym zobaczyć kod tego translatora do c++. Jeszcze kod wynikowy tego pliku cpp fajnie by było pokazać.

0

Auto-link nie wiedziałem jak to nazwać, ale chodzi o to ze nie wazne w którym miejscu funkcja zostaje zadeklarowana, reszta ją widzi.
a Strażniki "podebrałem" z haskella. http://pl.wikibooks.org/wiki/Haskell/Dopasowanie_wzorc%C3%B3w_i_instrukcje_warunkowe#Guard_-_stra.C5.BCnicy

2

Patrz jak sie tu prezentuje swój język:
http://sscript.4programmers.net/wiki/Strona_główna ;)

0

Jutro do tego tematu wrzuce kod translatora bo musze w nim "posprzątać".
A kod c++ po tłumaczeniu wyglada tak:

#include <iostream> 
#include <string> 
using namespace std; 
#define out cout
#define ln endl
#define in cin
int main(int S);
int Sigma(int val);
int main(int S) 
{ 
 while(true) 
{ 
int val; 
in>>val; 
out<<"Sigma("<<val<<")="<<Sigma(val)<<ln; 
} 
return 0; 
} 
int Sigma(int val) 
{ 
 if(val<0)return -1;if(val>0)return 1;if(val==0)return 0; 
} 
Shalom napisał(a):

Patrz jak sie tu prezentuje swój język:
http://sscript.4programmers.net/wiki/Strona_główna ;)

Ten projekt pewnie juz troche czasu ma, a Ja mój robie od nie całych dwóch dni. Chciałem sie spytać co inni o tym sądzą.

juz wiem ze wbudowany lua to nie jest dobry pomysł.

0

Ten język nie oferuje absolutnie nic nowego, własnego, ani niczego, czego nie można zastąpić kilkoma makrami.

3

Imho nie ma sensu przekładać haskellowego guard do C++, bo poza inną formą zapisu od if nic nie zyskujemy. Gdyby to np. działało tak, że następowałaby tylko ewaluacja kodu, który spełnia warunek strażnika (reszta nie byłaby ewaluowana, czyli taki static if) to można by się zastanawiać nad sensownością takiej konstrukcji.

Jeśli dobrze rozumiem to ten auto link oznacza deklarację funkcji w jakimś headerze i inkludowanie go na pałe wszędzie, tak by z każdej jednostki translacji mieć dostęp do tej funkcji. Jeśli rzeczywiście tak to działa to niestety to bardzo słaby pomysł.

1 użytkowników online, w tym zalogowanych: 0, gości: 1