-
Data: 2010-03-23 07:35:06
Temat: Re: Jaki automat dla wyrażeń regularnych z bactrackigiem?
Od: Mariusz Kruk <M...@e...eu.org> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]epsilon$ while read LINE; do echo \>"$LINE"; done < "Michoo"
>>>>> Wydaje mi się, że "wystarczy" zarezerwować miejsce w automacie na
>>>>> dodatkowe stany i dołożyć je, kiedy ciąg już jest znany. Wszak to "\1"
>>>>> to nic innego, jak ustalony ciąg znaków.
>>>> Nic podobnego, \1 może być dowolnym ciągiem. Nie wiesz, ile będziesz
>>>> potrzebował zarezerwować.
>>> A ile musisz zarezerwować na [a-z]+
>>> ?
>> W automacie skończonym? Zero. Nie ma żadnego "bufora" - automat zmienia
>> stan na podstawie funkcji przejść.
>W automacie - nie (no chyba, że ze stosem), ale automat ma jakieś
>"wejście" i ono musi zadbać o odpowiednie buforowanie.
Nie ma żadnego buforowania. Czytasz po znaku z wejścia i zmieniasz stany
zgodnie z funkcją przejść. Nie masz żadnej wiedzy odnośnie znaków
wcześniejszych/późniejszych. W przypadku backrefów musisz tę wiedzę
mieć.
>>> Skoro dopasowałeś ten tekst do miejsca wystąpienia backrefa to znaczy,
>>> że gdzieś go masz w buforze na wypadek gdybyś się wycofywał.
>> Ja mogę mieć wszystko, ale który automat rozumie pojęcie "bufora"? :)
>> O to się cały czas rozchodzi - nie o algorytm, tylko o nazwę konstrukcji
>> teoretycznej.
>Automat ze stosem? - Ma "bufor". Inaczej (bez bufora) chyba nie da się
>zapewnić samego _zapamiętania_ dopasowanych ciągów. A to jest pierwszy
>etap do ich późniejszego dopasowania. Teorii niestety nie znam na tyle,
>żeby coś więcej powiedzieć.
Nie chce mi się za bardzo wgłębiać (a niewiele pamiętam ;->), ale
wikipedia twierdzi, że:
"Many features found in modern regular expression libraries provide an
expressive power that far exceeds the regular languages. For example,
many implementations allow grouping subexpressions with parentheses and
recalling the value they match in the same expression (backreferences).
This means that a pattern can match strings of repeated words like
"papa" or "WikiWiki", called squares in formal language theory. The
pattern for these strings is (.*)\1.
However, the language of squares is not regular, nor is it
context-free."
Czyli backrefy wychodzą poza języki bezkontekstowe, a więc PDA nie
wystarczy.
--
d'`'`'`'`'`'`'`'`'`'`'`'`'Yb
`b K...@e...eu.org d'
d' http://epsilon.eu.org/ Yb
`b,-,.,-,.,-,.,-,.,-,.,-,.d'
Następne wpisy z tego wątku
- 23.03.10 19:55 Jędrzej Dudkiewicz
Najnowsze wątki z tej grupy
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-06-30 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-06-30 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-06-30 Białystok => Programista Mainframe (z/OS, Assembler) <=
- 2025-06-30 Warszawa => International Freight Forwarder <=
- 2025-06-30 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-06-30 Warszawa => Spedytor Międzynarodowy <=
- 2025-06-30 Lublin => Delphi Programmer <=
- 2025-06-30 Lublin => Programista Delphi <=
- 2025-06-30 Wrocław => Controlling systems Consultant <=
- 2025-06-30 Nowa tarcza do telefonu
- 2025-06-29 Spotkania z Ariane De Rotschild, szefową Iluminatów, Księżniczką Hiszpanii Leonor
- 2025-06-29 Re: Dr. Kontek (już od paru lat nie SGH) odkrył odchylenia statystyczne [PO EKSPERCIE?]
- 2025-06-28 Upadłość i zwolnienia [w Diorze, która była pol prod. głośników - przyp. JMJ]
- 2025-06-28 Taśma izolacyjna do prac elektrycznych
- 2025-06-27 Recenzja 3.1A ;) w 6 gniazdach...