Dla kogoś, kto ma tylko wiedzę na temat struktury danych drzewa Czy jest oczywiste, że pisze parser Wyrażeń arytmetycznych bez pomocy technik kompilacji?Techniki potrzebne do napisania parsera wyrażeń arytmetycznych
10
A
Odpowiedz
2
Bez znajomości technik kompilacji byłoby to brzydkie. Ale nie ma potrzeby, aby nauczyć się mnóstwa kompilacji dla przykładu takiego jak ten.
Spójrz na coś podobnego do http://www.codeproject.com/Articles/345888/How-to-write-a-simple-interpreter-in-JavaScript i sprawdź, czy ma to dla ciebie sens.
1
Zobacz mój SO answer on how to write top down recursive descent parsers. Ta metoda jest bardzo łatwa w wyrażeniach.
Powiązane problemy
- 1. Używanie Parsera do parsowania wyrażeń regularnych
- 2. Bezpieczna ocena wyrażeń arytmetycznych w JavaScript
- 3. Ocenianie wyrażeń arytmetycznych z ciągiem w C++
- 4. Biblioteka funktorów C++ do oceny wyrażeń matematycznych/arytmetycznych
- 5. Techniki wyodrębniania wyrażeń regularnych z zestawu danych z etykietami
- 6. Czy jest krótka droga do napisania `{| x | x} `?
- 7. Generalizowanie operatorów arytmetycznych
- 8. Używanie JSON.Net do napisania nazwy właściwości
- 9. Jak używać jekyll do napisania dokumentacji projektu?
- 10. Implementacja parsera
- 11. Usuwanie zbędnych/duplikowanie nawiasów z wyrażeń arytmetycznych przy użyciu stosu (ów)
- 12. Haskell - Przedefiniowanie (ukrywanie) operatorów arytmetycznych
- 13. wyrażenie regularne potrzebne do usunięcia komentarzy C/C#
- 14. RegEx potrzebne, aby dopasować numer do 2 miejsc po przecinku
- 15. Jak zastosować techniki przyspieszania CDN do ikon?
- 16. Powrót do tyłu w kombinatorach parsera scala?
- 17. używając parsera ciała do przekazania pliku zip
- 18. wykonywanie operacji arytmetycznych na SYSTEMTIME
- 19. Dlaczego potrzebne są narzędzia parsujące dla DSL?
- 20. Przedłużanie parsera matematycznego matplotlib
- 21. Techniki Oracle debugowania
- 22. EBNF Scala parsera combinator
- 23. Techniki wizualizacji danych
- 24. Techniki grupowania kodu javascript
- 25. Wyodrębnianie wyrażeń rzeczownikowych z pliku tekstowego przy użyciu parsera wpisanego w stanford
- 26. Techniki dziedziczenia bazy danych?
- 27. Jak używać parsera Stanforda
- 28. Ubuntu pakiety potrzebne do kompilacji Pythona 2.7
- 29. Surowe wiadomości e-mail potrzebne do testowania
- 30. jQuery potrzebne do Bootstrap w projekcie React
Twoje pytanie może być zbyt szerokie dla Stackoverflow, ale zanim to osądzisz, wytłumaczysz, co masz na myśli przez "oczywiste"? – thb
Czy znasz drzewa wyrażeń? – st0le
@thb "evident" oznacza prosty i łatwy do napisania przy użyciu podstawowych technik programowania, bez nauki zaawansowanych koncepcji kompilacji –