Współpracownik i ja ostatnio spieraliśmy się o to, czy czysty regex jest w stanie w pełni enkapsulować format csv, tak że jest w stanie parsować wszystkie pliki za pomocą dowolnego znaku zmiany znaczenia, znaku cytowania i znaku separatora. Wyrażenie regularne nie musi być zdolne do zmiany tych znaków po utworzeniu, …
Kiedy zacząłem używać parseratorów, moją pierwszą reakcją było poczucie wyzwolenia z czegoś, co wydawało się sztuczną różnicą między analizą składniową a leksyką. Nagle wszystko zaczęło się przetwarzać! Ostatnio jednak natknąłem się na ten post na codereview.stackexchange ilustrujący kogoś przywracającego to rozróżnienie. Na początku myślałem, że to z ich strony głupie, …
Jeśli dobrze pamiętam kurs mojego kompilatora, typowy kompilator ma następujący uproszczony zarys: Analizator leksykalny skanuje (lub wywołuje funkcję skanowania) kod źródłowy znak po znaku Ciąg znaków wejściowych jest sprawdzany pod kątem poprawności ze słownikiem leksemów Jeśli leksem jest ważny, jest on następnie klasyfikowany jako token, któremu odpowiada Analizator składni sprawdza …
Pracuję nad produktem, w którym jednym z modułów jest parsowanie plików XML i zrzucanie wymaganej zawartości do bazy danych. Mimo że obecnym wymaganiem jest tylko parsowanie plików XML, chcę zaprojektować mój moduł analizujący w taki sposób, aby w przyszłości mógł obsługiwać dowolny rodzaj plików. Powodem takiego podejścia jest to, że …
Piszę parser dla utworzonego przeze mnie języka znaczników (piszę w Pythonie, ale to nie jest tak naprawdę istotne w przypadku tego pytania - w rzeczywistości, jeśli wydaje się to złym pomysłem, chętnie zaproponuję lepszą ścieżkę) . Czytam o parserach tutaj: http://www.ferg.org/parsing/index.html i pracuję nad napisaniem leksera, który, jeśli dobrze rozumiem, …
O ile mi wiadomo, analizator składni tworzy drzewo analizujące, a następnie odrzuca je. Może jednak wyskoczyć z abstrakcyjnego drzewa składni, z którego podobno korzysta kompilator. Mam wrażenie, że zarówno parsowanie, jak i abstrakcyjne drzewo składniowe są tworzone pod etapem analizy. Czy ktoś mógłby wyjaśnić, dlaczego są one różne?
Jakich testów należy użyć do testowania jednostkowego analizatora składni csv? Mam prosty parser csv w języku C # i chcę mieć pewność, że mam dobry zasięg testu wszystkich wspólnych (i nietypowych) przypadków krawędzi. Jakie testy należy zastosować, aby zidentyfikować potencjalne problemy i przypadki graniczne?
Nie rozumiem tego zdania z artykułu w Wikipedii na temat problemu Dangling Else : [Problem Dangling Else] to problem, który często pojawia się w konstrukcji kompilatora, szczególnie w parsowaniu bez skanera. Czy ktoś może mi wyjaśnić, w jaki sposób techniki analizy bez skanera mogą zaostrzyć ten problem? Wydaje mi się, …
Moja firma (nazwijmy je Acme Technology) ma bibliotekę około tysiąca plików źródłowych, które pierwotnie pochodziły od jej grupy badawczej Acme Labs, inkubowanej przez kilka lat w grupie programistów, a ostatnio udostępniono garstce klientów pod nieujawnianie. Acme przygotowuje się do wydania około 75% kodu społeczności open source. Pozostałe 25% zostanie wydanych …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 5 lat temu . Aktualny plik konfiguracyjny wygląda następująco: mainwindow.title = 'test' mainwindow.position.x = 100 mainwindow.position.y = …
Niedawno zacząłem eksperymentować z przetwarzaniem języka naturalnego (NLP) przy użyciu CoreNLP Stanforda i zastanawiam się, jakie są standardowe sposoby przechowywania analizowanych danych NLP dla czegoś takiego jak aplikacja do eksploracji tekstu? Jednym ze sposobów, który moim zdaniem może być interesujący, jest przechowywanie dzieci jako listy sąsiedztwa i dobre wykorzystanie zapytań …
Programuję od wielu lat, ale jednym z zadań, które wciąż zajmuje mi wyjątkowo dużo czasu, jest określenie gramatyki parsera, a nawet po tym nadmiernym wysiłku nigdy nie jestem pewien, czy gramatyka, którą wymyśliłem, jest dobra ( przez jakąkolwiek rozsądną miarę „dobra”). Nie oczekuję, że istnieje algorytm automatyzujący proces określania gramatyki, …
Według jednej strony na code.google.com „lewą rekurencję” definiuje się następująco: Lewa rekurencja odnosi się tylko do każdego rekurencyjnego nieterminala, który, gdy tworzy sentymentalną formę zawierającą się, ta nowa kopia sama pojawia się po lewej stronie reguły produkcji. Wikipedia oferuje dwie różne definicje: Jeśli chodzi o gramatykę bezkontekstową, nieterminalny r jest …
Testuję produkt dla firm opieki zdrowotnej i pracujemy z komunikatami HL7. Widziałem ludzi jęczących na inne pytanie dotyczące problemów z HL7, ale nie wspominając o szczegółach. Czy ktoś może mi dać jakieś wyobrażenie o tym, jakich problemów lub klas problemów powinniśmy szczególnie szukać? Do analizowania używamy dobrze używanych bibliotek. Jeśli …
Czy istnieje programowania (lub skrypty) język (lub jakiś specyficzny język domeny) o dwóch operatorów binarnych opli oprod samego pierwszeństwa przy oplczym lewy asocjacyjne i oprbycia prawym asocjacyjne? (Nie mogę znaleźć takiego przykładu, ale próbuję napisać parser na tyle ogólny, aby poradził sobie z tym dziwnym przypadkiem) Jak parsowane byłyby wyrażenia …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.