Czy ktoś wie, gdzie mogę uzyskać BNF lub EBNF dla języka programowania LOGO?EBNF lub BNF dla języka programowania LOGO
Odpowiedz
BNF gramatyki może nie być zbyt przydatne w pewnych okolicznościach ...
Pisanie LOGO który jest dokładnie zgodny z istniejącym/historycznej realizacji nie jest łatwym zadaniem (pracowałem na takim projekcie). Problem polega na tym, że parser nie wykonuje pełnego zadania, a ewaluator (tłumacz) musi pracować z częściowymi danymi. Rozważmy następujący przykład:
PROC1 AB PROC2 c
Może to oznaczać PROC1 (a, b, PROC2 (c)) lub PROC1 (a, b, PROC2(), c), zgodnie z liczbą parametry dla proc1 & proc2.
Co więcej, tłumacze LOGO, których znam, np. Berkely LOGO, wydają się pobieżnym spojrzeniem, by nie pisać tradycyjnego parsera, który dodatkowo ma dostęp do każdej procedury i jej arytmu; zamiast tego uruchamiają procedury, a procedury "pochłaniają" liczbę parametrów, których potrzebują. To sprawia, że parser jest trochę naiwny, a główną rolę odgrywa interpreter, a zatem parsowanie jest czymś niezwykłym.
Więc mówisz, że nie może być gramatyki dla języka, który jest jednoznaczny? –
Tak, myślę, że nie istnieje taka gramatyka (bez względu na niejednoznaczność), chyba że jest to naiwna gramatyka, która parsuje ciąg polecenia w większości takim, jaki jest, i po prostu rozstrzyga operatorów infiksów i tym podobnych. –
Prawica, parser naiwny po prostu analizowałby zgodnie z gramatyką , ale nie zrozumiałoby * arii * wbudowanych funkcji. Wydaje się, że podczas analizowania, trzeba będzie sprawdzić * arność * funkcji przed podjęciem decyzji, jak przeanalizować kolejne tokeny. Ma to również więcej sensu, jak powiedziałeś, "parsuj, jak idziesz". –
Nie ma standardowej implementacji LOGO.
Najlepszym Połączenie jest prawdopodobnie szukać u źródła popularnej realizacji, takich jak UCBLogo
- 1. Konwersja EBNF na BNF
- 2. UML dla języka programowania C
- 3. Proponuj edytor tekstów lub IDE dla języka programowania kaplicy
- 4. Dobra biblioteka programowania liniowego dla języka C#?
- 5. Sterownik PostgreSQL dla języka programowania Go
- 6. Obsługa dynamosu AWS dla języka programowania "R"
- 7. algebra liniowa biblioteki dla języka programowania D
- 8. Definicje gramatyki EBNF dla PHP?
- 9. Specyfikacja składni (prawdopodobnie BNF) VBA?
- 10. Gramatyka języka C++ BNF z analizowaniem/dopasowywaniem przykładów
- 11. Jakie są teoretyczne i/lub eksperymentalne funkcje programowania języka?
- 12. POSIX sh Gramatyka EBNF
- 13. Jak się uczyć R jako języka programowania?
- 14. Scala Parser Sztuczki kombinatory dla rekurencyjnego bnf?
- 15. Biblioteki śledzenia twarzy dla języka Java lub języka Python
- 16. EBNF Scala parsera combinator
- 17. Inicjalizacja strukturalna języka programowania C/C++?
- 18. Czy planujesz używać języka programowania Factor?
- 19. Jakie są zalety języka programowania Kotlin?
- 20. jak zminimalizować czas kompilacji języka programowania?
- 21. Co to jest BNF dla wyrażenia regularnego (w celu napisania pełnego lub częściowego analizatora składni)
- 22. Jaśmin dla języka C# i/lub Java
- 23. Język skryptowy PHP lub język programowania?
- 24. Nauka programowania języków programowania
- 25. Dopasowanie projektu maszyny wirtualnej do jej podstawowego języka programowania
- 26. Błąd optymalizatora lub błąd programowania?
- 27. Stan tworzenia stron internetowych przy użyciu języka programowania funkcjonalnego
- 28. Czy istnieje język programowania z semantyką zbliżoną do języka angielskiego?
- 29. Wstępne zadanie programowania JavaScript dla eksperta programisty
- 30. Liferay: Logo strony
Nie wiem kto głosował, aby zamknąć to jako off-topic. "Język programowania" jest nawet w tytule ... –
Wygląda na to, że dotarło to do Reddit, chronię to na razie (będzie niezabezpieczony za kilka dni). To nie problem, tak, tylko środek ostrożności. –
@ Tim Post To sprawiło, że dotarłem do subreddit programowania reddit, nie widzę, jak to jest przyczyną alarmu. Może nawet była to dobra okazja, aby przyciągnąć nowych użytkowników? – ArtB