• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pomoc z napisaniem prostego języka skryptowego

Object Storage Arubacloud
0 głosów
191 wizyt
pytanie zadane 11 maja 2017 w C i C++ przez macheyo Nowicjusz (170 p.)
Hej!

Mam do napisania prosty język skryptowy. Wymagane są zmienne wzorowane na typie int, podstawowe operacje matematyczne i logiczne instrukcja warunkowa if oraz pętla while. Mój problem polega na tym, że nie wiem jak zabrać się za napisanie interpretera. Wiem o Odwrotnej Notacji Polskiej i chce jej tu użyc, jednak nie do końca wiem jak zacząć. Proszę Was o pomoc!

2 odpowiedzi

0 głosów
odpowiedź 11 maja 2017 przez j23 Mędrzec (194,920 p.)
Może zacznij od jakiejś literatury na ten temat. ONP załatwiłoby sprawę, gdyby chodziło o proste wyrażenia matematyczne, ale tu masz zmienne i instrukcję warunkową, więc sprawa będzie bardziej złożona.

 

Chyba że możesz/masz użyć jakiegoś oprogramowania do generowania interpretera na podstawie reguł języka.
–1 głos
odpowiedź 11 maja 2017 przez macheyo Nowicjusz (170 p.)
Nie mogę używać żadnego oprogramowania. Muszę napisać to w C++ nie korzystając przy tym z STL'a i stringow. Jeśli chodzi o ONP i zmienne, to na początek potrzebowałbym rady jak się za to zabrać z samymi wyrażeniami arytmetycznymi i zmiennymi, pomijając instrukcje warunkowe. Chodzi mi o pomysł na sam interpreter bazujący na ONP z użyciem zmienncyh.
komentarz 12 maja 2017 przez j23 Mędrzec (194,920 p.)
edycja 12 maja 2017 przez j23
Zawsze mnie zastanawiają te obostrzenia dotyczące nieużywania STL-a przy tego typu projektach. Tak jakby użycie tej biblioteki miało jakoś strasznie ułatwić zadanie.

ONP ze zmiennymi to nie jest jakiś problem. W sieci jest masa implementacji i opisów tej metody. Rocket science to to nie jest, więc powinieneś bez problemu zrozumieć zasadę działania, a co za tym idzie dodać obsługę zmiennych. Zacznij od tokenizera... choć może lepiej zacznij od wymyślenia składni swojego języka.
2
komentarz 12 maja 2017 przez draghan VIP (106,230 p.)

Muszę napisać to w C++ nie korzystając przy tym z STL'a i stringow.

w C++ nie korzystając przy tym z STL'a i stringow.

nie korzystając przy tym z STL'a i stringow.

w C++

 

komentarz 12 maja 2017 przez mokrowski Mędrzec (155,460 p.)
Mamy 2017, już 3 "nowożytny" standard języka C++ za sobą. Wielowątkowość, algorytmy... w końcu nowoczesny język. Nie.. będziemy wbijali gwoździe głową bo kilku leniwych ludzi na uczelniach nie ma ochoty nauczyć się czegoś poza "c z klasami".. eh..

A poważniej odpowiadając na pytanie, zainteresuj się wzorcem projektowym interpreter. https://sourcemaking.com/design_patterns/interpreter

Podobne pytania

0 głosów
0 odpowiedzi 120 wizyt
pytanie zadane 29 lipca 2016 w C i C++ przez Avernis Nałogowiec (27,400 p.)
0 głosów
4 odpowiedzi 291 wizyt
pytanie zadane 8 października 2018 w Rozwój zawodowy, nauka, praca przez Evarez Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 727 wizyt

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...