• 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

VPS Starter 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 284 wizyt
pytanie zadane 8 października 2018 w Rozwój zawodowy, nauka, praca przez Evarez Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 705 wizyt

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...