Changeset a6e708f for _old/app/src/lib
- Timestamp:
- 12/14/11 16:08:41 (13 years ago)
- Branches:
- master
- Children:
- 93afab8
- Parents:
- 1e121f4
- git-author:
- tom <tom@…> (12/14/11 16:08:41)
- git-committer:
- tom <tom@…> (12/14/11 16:08:41)
- Location:
- _old/app/src/lib
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
_old/app/src/lib/Makefile
r1e121f4 ra6e708f 1 PAR=-Wno-deprecated - O32 PAR2=-c -Wno-deprecated - O3 -fpermissive1 PAR=-Wno-deprecated -m32 -O3 2 PAR2=-c -Wno-deprecated -m32 -O3 -fpermissive 3 3 # -static 4 4 LIB_PATH=../lib … … 6 6 7 7 main: auttools.o word.o copy 8 9 auttools.o: auttools.h auttools.cc 10 g++ $(PAR2) auttools.cc 11 12 word.o: word.h word.cc 13 g++ $(PAR2) word.cc 8 14 9 15 clean: … … 14 20 # cp -r perl $(UTT_LIB_DIR)/ 15 21 #endif 16 17 include ./lib.mk -
_old/app/src/lib/auttools.cc
r1e121f4 ra6e708f 163 163 } 164 164 165 -
_old/app/src/lib/symtab.cc
r1e121f4 ra6e708f 1 1 #include "symtab.h" 2 2 #include <values.h> 3 #include <cstdio> 4 //#include <alloc.h> 5 #include <cstdlib> 6 using namespace std; 3 #include <stdio.h> 4 #include <malloc.h> 5 #include <stdlib.h> 7 6 //--------------------------------------------------------------------------- 8 7 … … 159 158 strncpy((char*)&i2,s+(l/2-2),sizeof(int)); 160 159 strncpy((char*)&i3,s+(l-4),sizeof(int)); 161 //return abs((i1+i2+i3) % _sz); 162 return (i1+i2+i3) % _sz; 160 return abs((i1+i2+i3) % _sz); 163 161 } 164 162 else -
_old/app/src/lib/tft.h
r1e121f4 ra6e708f 5 5 #include <iostream> 6 6 #include <typeinfo> 7 #include < cstring>8 9 #include < cstdio>7 #include <string.h> 8 9 #include <stdio.h> 10 10 11 11 //#include "top.h" 12 12 #include "ttrans.h" 13 13 14 using namespace std; 14 15 //--------------------------------------------------------------------------- 15 16 16 /// Klasa bazowa przetwornika sko ï¿œczonego.17 /** 18 \remark Po co ta klasa? Co dotyczy samych przej ᅵᅵ, przenieᅵᅵdo TTrans,19 reszt ï¿œ wcieliï¿œdo TFT.17 /// Klasa bazowa przetwornika skoñczonego. 18 /** 19 \remark Po co ta klasa? Co dotyczy samych przej¶æ, przenie¶æ do TTrans, 20 resztê wcieliæ do TFT. 20 21 */ 21 22 class FT … … 25 26 26 27 //print mode 27 enum OUTPUT { II, ///< tylko symbole wej ï¿œciowe28 OO, ///< tylko symbole wyj ï¿œciowe29 IOIO, ///< symbol wyj ï¿œciowy po wejï¿œciowym30 OIOI, ///< symbol wyj ï¿œciowy przed wejï¿œciowym31 IIOO, ///< ca ï¿œe wejï¿œcie, potem caï¿œe wyjï¿œcie32 OOII ///< ca ï¿œe wyjï¿œcie, potem caï¿œe wejï¿œcie28 enum OUTPUT { II, ///< tylko symbole wej¶ciowe 29 OO, ///< tylko symbole wyj¶ciowe 30 IOIO, ///< symbol wyj¶ciowy po wej¶ciowym 31 OIOI, ///< symbol wyj¶ciowy przed wej¶ciowym 32 IIOO, ///< ca³e wej¶cie, potem ca³e wyj¶cie 33 OOII ///< ca³e wyj¶cie, potem ca³e wej¶cie 33 34 34 35 }; 35 36 36 /// maks d ï¿œugoᅵᅵ ï¿œcieï¿œki37 /// maks d³ugo¶æ ¶cie¿ki 37 38 static const unsigned int ftMAXPATH=500; 38 39 39 /// maks d ï¿œugoᅵᅵopisu typu symbolu we/wy40 /** 41 \remark Przenie ᅵᅵdo TTrans40 /// maks d³ugo¶æ opisu typu symbolu we/wy 41 /** 42 \remark Przenie¶æ do TTrans 42 43 */ 43 44 static const unsigned int ftTYPELEN=32; 44 45 45 /// specjalny symbol dla warto ï¿œci 'epsilon'46 /** 47 \remark Przenie ᅵᅵdo TTrans46 /// specjalny symbol dla warto¶ci 'epsilon' 47 /** 48 \remark Przenie¶æ do TTrans 48 49 */ 49 50 static const char ftEPSILON='~'; 50 51 51 /// specialny symbol dla warto ï¿œci 'default'52 /** 53 \remark Przenie ᅵᅵdo TTrans52 /// specialny symbol dla warto¶ci 'default' 53 /** 54 \remark Przenie¶æ do TTrans 54 55 */ 55 56 static const char ftDEFAULT='@'; 56 57 57 /// domy ï¿œlny symbol wyjï¿œciowy (true-'@', flase-'~')58 /** 59 \remark Przenie ᅵᅵdo TTrans(???)58 /// domy¶lny symbol wyj¶ciowy (true-'@', flase-'~') 59 /** 60 \remark Przenie¶æ do TTrans(???) 60 61 */ 61 62 bool copy_default; 62 63 63 /// tryb wyj ï¿œcia64 /// tryb wyj¶cia 64 65 OUTPUT print_mode; 65 66 66 /// false, je ï¿œli automat nie ma przejᅵᅵ67 /// false, je¶li automat nie ma przej¶æ 67 68 operator bool() { return (bool)ttn; }; 68 69 … … 72 73 protected: 73 74 74 /// liczba element ï¿œw tablicy tt75 /// liczba elementów tablicy tt 75 76 unsigned long ttn; 76 77 77 /// liczba stan ï¿œw78 /// liczba stanów 78 79 unsigned long states; 79 80 80 /// liczba przej ᅵᅵ81 /// liczba przej¶æ 81 82 unsigned long transitions; 82 83 83 /// typ symboli wej ï¿œciowych (napis)84 /** 85 \remark Przenie ᅵᅵdo TTrans(???)84 /// typ symboli wej¶ciowych (napis) 85 /** 86 \remark Przenie¶æ do TTrans(???) 86 87 */ 87 88 char itype[ftTYPELEN]; 88 89 89 /// typ symboli wyj ï¿œciowych (napis)90 /** 91 \remark Przenie ᅵᅵdo TTrans(???)90 /// typ symboli wyj¶ciowych (napis) 91 /** 92 \remark Przenie¶æ do TTrans(???) 92 93 */ 93 94 char otype[ftTYPELEN]; … … 96 97 //--------------------------------------------------------------------------- 97 98 98 /// Szablon przetwornika sko ï¿œczonego99 /** 100 \param I - typ symbolu wej ï¿œciowego101 \param Ipass - typ, jaki ma by ï¿œ uï¿œyty przy przekazywaniu symbolu we jako parametru102 do funkcji (metody), r ï¿œwny \a I lub \a I&103 \param O - typ symbolu wyj ï¿œciowego104 \param Opass - typ, jaki ma by ï¿œ uï¿œyty przy przekazywaniu symbolu wy jako parametru105 do funkcji (metody), r ï¿œwny \a O lub \a O&106 \param - typ przej ï¿œcia, musi byï¿œ podklasï¿œTTrans99 /// Szablon przetwornika skoñczonego 100 /** 101 \param I - typ symbolu wej¶ciowego 102 \param Ipass - typ, jaki ma byæ u¿yty przy przekazywaniu symbolu we jako parametru 103 do funkcji (metody), równy \a I lub \a I& 104 \param O - typ symbolu wyj¶ciowego 105 \param Opass - typ, jaki ma byæ u¿yty przy przekazywaniu symbolu wy jako parametru 106 do funkcji (metody), równy \a O lub \a O& 107 \param - typ przej¶cia, musi byæ podklas± TTrans 107 108 */ 108 109 template<class I, class Ipass, class O, class Opass, class TT> … … 117 118 /** 118 119 \name Metody poziomu 1 119 Poziom przej ᅵᅵ.120 Poziom przej¶æ. 120 121 */ 121 122 122 123 //@{ 123 124 124 /// Test, czy przej ï¿œcie \a t akceptuje symbol \a in.125 /// Test, czy przej¶cie \a t akceptuje symbol \a in. 125 126 bool accepts(long t, Ipass in) const; 126 127 127 /// Test, czy lista przej ᅵᅵdla aktualnego stanu jest kontynuowana po \a t.128 /// Test, czy lista przej¶æ dla aktualnego stanu jest kontynuowana po \a t. 128 129 bool continued(long t) const; 129 130 130 /// Stan, do kt ï¿œrego prowadzi przejï¿œcie \a t.131 /// Stan, do którego prowadzi przej¶cie \a t. 131 132 /** 132 133 \pre !empty(t) … … 134 135 long next(long t) const; 135 136 136 /// Symbol wej ï¿œciowy przejï¿œcia \a t.137 /// Symbol wej¶ciowy przej¶cia \a t. 137 138 Ipass input(long t) const; 138 139 139 /// Symbol wyj ï¿œciowy przejï¿œcia \a t.140 /// Symbol wyj¶ciowy przej¶cia \a t. 140 141 Opass output(long t) const; 141 142 142 /// Zwraca \c true, je ï¿œli symbolem we przejï¿œcia \a t jest epsilon.143 /// Zwraca \c true, je¶li symbolem we przej¶cia \a t jest epsilon. 143 144 bool epsi(long t) const; 144 145 145 /// Zwraca \c true, je ï¿œli symbolem we przejï¿œcia \a t jest symbol domyï¿œlny.146 /// Zwraca \c true, je¶li symbolem we przej¶cia \a t jest symbol domy¶lny. 146 147 bool defi(long t) const; 147 148 148 /// Zwraca \c true, je ï¿œli symbolem wy przejï¿œcia \a t jest epsilon.149 /// Zwraca \c true, je¶li symbolem wy przej¶cia \a t jest epsilon. 149 150 bool epso(long t) const; 150 151 151 /// Zwraca \c true, je ï¿œli symbolem wy przejï¿œcia \a t jest symbol domyï¿œlny.152 /// Zwraca \c true, je¶li symbolem wy przej¶cia \a t jest symbol domy¶lny. 152 153 bool defo(long t) const; 153 154 154 /// Indeks przej ï¿œcia przez \a in.155 /// Indeks przej¶cia przez \a in. 155 156 long tra(long t, Ipass in) const; 156 157 157 /// Indeks przej ï¿œcia przez \a in - non-deterministic.158 /// Indeks przej¶cia przez \a in - non-deterministic. 158 159 long tra_nd(long t, Ipass in, long nth) const; 159 160 … … 162 163 /** 163 164 \name Poziom 2 164 Poziom stan ï¿œw. Stan (indeks stanu) = indeks jego pierwszego przejï¿œcia165 Poziom stanów. Stan (indeks stanu) = indeks jego pierwszego przej¶cia 165 166 */ 166 167 //@{ 167 /// Zwraca \c true je ï¿œli stan \a s jest pusty (nie ma z niego przejᅵᅵ).168 /// Zwraca \c true je¶li stan \a s jest pusty (nie ma z niego przej¶æ). 168 169 bool empty(long s) const { return tt[s].empty(); } 169 170 170 /// Zwraca \c true je ï¿œli stan \a s jest stanem koï¿œcowym.171 /// Zwraca \c true je¶li stan \a s jest stanem koñcowym. 171 172 bool final(long s) const { return tt[s].final(); } 172 173 … … 202 203 protected: 203 204 204 TT* tt; // tablica przej ᅵᅵ205 TT* tt; // tablica przej¶æ 205 206 206 207 long prn(const I* si, long* p, O* so) const; … … 210 211 void sort(); 211 212 212 void setiotypes(); // NIE DZIA ï¿œA (dlaczego???)213 void setiotypes(); // NIE DZIA£A (dlaczego???) 213 214 214 215 // friend ostream& operator<<(ostream&,const CDFA&); … … 228 229 229 230 /** 230 stan = indeks pierwszego przej ï¿œcia231 232 state(t) = stan, do kt ï¿œrego naleï¿œy t233 234 symbol zerowy = symbol s, dla kt ï¿œrego (bool)s zwraca \c false,235 w przypadku znak ï¿œw - '\0'231 stan = indeks pierwszego przej¶cia 232 233 state(t) = stan, do którego nale¿y t 234 235 symbol zerowy = symbol s, dla którego (bool)s zwraca \c false, 236 w przypadku znaków - '\0' 236 237 */ 237 238 … … 290 291 291 292 /** 292 \param +t - indeks przej ï¿œcia293 \param +t - indeks przej¶cia 293 294 \param +in - symbol we 294 \return Indeks przj ï¿œcia (>=\a t) dla bieᅵᅵcego stanu, ktï¿œre295 akceptuje symbol we \a in lub -1, je ï¿œli nie ma takiego przejï¿œcia295 \return Indeks przj¶cia (>=\a t) dla bie¿±cego stanu, które 296 akceptuje symbol we \a in lub -1, je¶li nie ma takiego przej¶cia 296 297 */ 297 298 template <class I, class Ipass, class O, class Opass, class TT> … … 311 312 312 313 //--------------------------------------------------------------------------- 313 /// Indeks przej ï¿œcia - wersja dla automatu niedeterministycznego.314 /** 315 \param +t - indeks przej ï¿œcia314 /// Indeks przej¶cia - wersja dla automatu niedeterministycznego. 315 /** 316 \param +t - indeks przej¶cia 316 317 \param +in - symbol we 317 \return Indeks przj ï¿œcia (>=\a t) dla bieᅵᅵcego stanu, ktï¿œre318 akceptuje symbol we \a in lub -1, je ï¿œli nie ma takiego przejï¿œcia319 Je ï¿œli nth==0, t1>=t, w przeciwnym razie t1>t.318 \return Indeks przj¶cia (>=\a t) dla bie¿±cego stanu, które 319 akceptuje symbol we \a in lub -1, je¶li nie ma takiego przej¶cia 320 Je¶li nth==0, t1>=t, w przeciwnym razie t1>t. 320 321 */ 321 322 template <class I, class Ipass, class O, class Opass, class TT> … … 348 349 349 350 350 /// Funkcja przej ï¿œcia.351 /// Funkcja przej¶cia. 351 352 /** 352 353 \param t - stan 353 354 \param in - symbol we 354 \return Stan, do kt ï¿œrego moï¿œna przejᅵᅵ z \a t po wpï¿œywem symbolu \a in355 lub -1, je ï¿œli nie ma przejï¿œcia przez \a in355 \return Stan, do którego mo¿na przej¶æ z \a t po wp³ywem symbolu \a in 356 lub -1, je¶li nie ma przej¶cia przez \a in 356 357 357 358 */ … … 376 377 377 378 //---------------------------------------------------------------------------- 378 /// Uog ï¿œlniona funkcja przejscia.379 /// Uogólniona funkcja przejscia. 379 380 /** 380 381 \param +s - stan 381 \param +w - wska ï¿œnik pierwszego elementu ciï¿œgu symboli we, zakoï¿œczonego symbolem zerowym382 \param maxpath maksymalna d ï¿œugoᅵᅵ ï¿œcieï¿œki, domyï¿œlnie ftMAXPATH383 \return stan osi ï¿œgalny z \a s pod wpï¿œywem \a w (na ï¿œcieï¿œce mogï¿œ siï¿œ pojawiï¿œ384 epsilon-przej ï¿œcia382 \param +w - wskaŒnik pierwszego elementu ci±gu symboli we, zakoñczonego symbolem zerowym 383 \param maxpath maksymalna d³ugo¶æ ¶cie¿ki, domy¶lnie ftMAXPATH 384 \return stan osi±galny z \a s pod wp³ywem \a w (na ¶cie¿ce mog± siê pojawiæ 385 epsilon-przej¶cia 385 386 */ 386 387 template <class I, class Ipass, class O, class Opass, class TT> … … 411 412 /** 412 413 ... 413 \param +s stan, je ï¿œli -1 - poszukiwane jest nastï¿œpne rozwiï¿œzanie414 \param -c ci ï¿œg symboli we ze ï¿œcieï¿œki prowadzï¿œcej z \a s do415 stanu ko ï¿œcowego416 \return d ï¿œugoᅵᅵ ciï¿œgu \a c (= dï¿œugoᅵᅵ ï¿œcieï¿œki)417 \remark DZIA ï¿œA TYLKO DLA ZNAKï¿œW!!!418 EPSILON-PRZEJ ï¿œCIA NIEDOZWOLONE!!!414 \param +s stan, je¶li -1 - poszukiwane jest nastêpne rozwi±zanie 415 \param -c ci±g symboli we ze ¶cie¿ki prowadz±cej z \a s do 416 stanu koñcowego 417 \return d³ugo¶æ ci±gu \a c (= d³ugo¶æ ¶cie¿ki) 418 \remark DZIA£A TYLKO DLA ZNAKÓW!!! 419 EPSILON-PRZEJŠCIA NIEDOZWOLONE!!! 419 420 */ 420 421 template <class I, class Ipass, class O, class Opass, class TT> … … 482 483 /// Dopasowanie niedeterministyczne. 483 484 /** 484 \param +w - wska ï¿œnik pierwszego elementu ciï¿œgu symboli we, zakoï¿œczonego symbolem zerowym,485 je ï¿œli NULL - poszukiwane jest nastï¿œpne rozwiï¿œzanie486 \param -p ci ï¿œg przejᅵᅵ zakoï¿œczony -1487 \return d ï¿œugoᅵᅵdopasowania (PO CO?)485 \param +w - wskaŒnik pierwszego elementu ci±gu symboli we, zakoñczonego symbolem zerowym, 486 je¶li NULL - poszukiwane jest nastêpne rozwi±zanie 487 \param -p ci±g przej¶æ zakoñczony -1 488 \return d³ugo¶æ dopasowania (PO CO?) 488 489 */ 489 490 template <class I, class Ipass, class O, class Opass, class TT> … … 526 527 527 528 //---------------------------------------------------------------------------- 528 /// Najd ï¿œuï¿œsze dopasowanie.529 /** 530 \param +w wska ï¿œnik pierwszego elementu ciï¿œgu symboli wejï¿œciowych531 \param -p ï¿œcieï¿œka532 \param -plen d ï¿œugoᅵᅵ ï¿œcieï¿œki533 \param +maxpath maks dd ï¿œugoᅵᅵ ï¿œcieï¿œki, domyï¿œlnie FT::ftMAXPATH534 \return d ï¿œugoᅵᅵ skonsumowanego wejï¿œcia529 /// Najd³u¿sze dopasowanie. 530 /** 531 \param +w wskaŒnik pierwszego elementu ci±gu symboli wej¶ciowych 532 \param -p ¶cie¿ka 533 \param -plen d³ugo¶æ ¶cie¿ki 534 \param +maxpath maks dd³ugo¶æ ¶cie¿ki, domy¶lnie FT::ftMAXPATH 535 \return d³ugo¶æ skonsumowanego wej¶cia 535 536 */ 536 537 template <class I, class Ipass, class O, class Opass, class TT> … … 556 557 557 558 //---------------------------------------------------------------------------- 558 /// Najd ï¿œuï¿œsza ï¿œcieï¿œka.559 /** 560 \param +buf wska ï¿œnik pierwszego elementu ciï¿œgu symboli wejï¿œciowych559 /// Najd³u¿sza ¶cie¿ka. 560 /** 561 \param +buf wskaŒnik pierwszego elementu ci±gu symboli wej¶ciowych 561 562 \param -buf pozycja jeden za skonsumowanym prefiksem 562 \param +path wska ï¿œnik pierwszego elementu wektora przejᅵᅵ563 \param -path wska ï¿œnik jeden za ostatnim przejï¿œciem564 \return d ï¿œugoᅵᅵ skonsumowanego prefiksu (PO CO? LEPIEJ Dï¿œ ï¿œCIEï¿œKI)563 \param +path wskaŒnik pierwszego elementu wektora przej¶æ 564 \param -path wskaŒnik jeden za ostatnim przej¶ciem 565 \return d³ugo¶æ skonsumowanego prefiksu (PO CO? LEPIEJ D£ ŠCIE¯KI) 565 566 */ 566 567 template <class I, class Ipass, class O, class Opass, class TT> … … 582 583 583 584 //---------------------------------------------------------------------------- 584 /// Najd ï¿œuï¿œszy prefiks.585 /** 586 \param +buf wska ï¿œnik pierwszego elementu ciï¿œgu symboli wejï¿œciowych585 /// Najd³u¿szy prefiks. 586 /** 587 \param +buf wskaŒnik pierwszego elementu ci±gu symboli wej¶ciowych 587 588 \param -buf pozycja jeden za skonsumowanym prefiksem 588 589 \param +sep separator 589 \return stan po przej ï¿œciu przez \a sep590 \remark Dzia ï¿œa tylko dla automatï¿œw deterministycznych, minimalnych, eps-wolnych,591 gdzie d ï¿œ. ï¿œcieï¿œki == dï¿œ. dopasowania.590 \return stan po przej¶ciu przez \a sep 591 \remark Dzia³a tylko dla automatów deterministycznych, minimalnych, eps-wolnych, 592 gdzie d³. ¶cie¿ki == d³. dopasowania. 592 593 */ 593 594 template <class I, class Ipass, class O, class Opass, class TT> … … 601 602 602 603 long s; 603 if(*buf) // pierwsze wywo ï¿œanie604 if(*buf) // pierwsze wywo³anie 604 605 { 605 606 if(!lgstpath(buf,path,start)) … … 608 609 more=true; 609 610 } 610 else // kolejne wywo ï¿œanie611 else // kolejne wywo³anie 611 612 --buf,--path; 612 613 while(more) -
_old/app/src/lib/tfti.h
r1e121f4 ra6e708f 3 3 //--------------------------------------------------------------------------- 4 4 #include <fstream> 5 #include < cmath>5 #include <math.h> 6 6 #include <iomanip> 7 #include <iostream>8 7 //#include <typeinfo.h> 9 8 … … 11 10 //--------------------------------------------------------------------------- 12 11 12 13 13 using namespace std; 14 14 15 15 16 template<class I, class Ipass, class O, class Opass> -
_old/app/src/lib/ttrans.h
r1e121f4 ra6e708f 3 3 //--------------------------------------------------------------------------- 4 4 #include <iostream> 5 //--------------------------------------------------------------------------- 6 7 5 8 using namespace std; 6 //---------------------------------------------------------------------------7 9 8 10 //! The template for a transition with input and output symbols stored internally. -
_old/app/src/lib/word.cc
r1e121f4 ra6e708f 2 2 #include "word.h" 3 3 #include "auttools.h" 4 //#include <istream.h>5 4 #include <istream> 6 #include <algorithm> 5 //--------------------------------------------------------------------------- 6 7 7 using namespace std; 8 //--------------------------------------------------------------------------- 8 9 9 //--------------------------------------------------------------------------- 10 10 … … 124 124 //--------------------------------------------------------------------------- 125 125 void Words::sort() { 126 std::sort(tab.begin(), tab.end(), Word::cmp_w); 126 // sort(tab.begin(), tab.end(), Word::cmp_w); //NIE DZIALA 127 127 } 128 128 129 129 //--------------------------------------------------------------------------- 130 130 void Words::sort_rev() { 131 std::sort(tab.begin(), tab.end(), cmp_w_rev_fun); 131 // sort(tab.begin(), tab.end(), cmp_w_rev_fun); // NIE DZIALA 132 132 } 133 133 -
_old/app/src/lib/word.h
r1e121f4 ra6e708f 6 6 //#include "erro.h" 7 7 #include "const.h" 8 //#include <iostream.h>9 8 #include <iostream> 9 10 #include <string.h> 11 10 12 #include <vector> 11 #include <cstring>12 using namespace std;13 13 //--------------------------------------------------------------------------- 14 14
Note: See TracChangeset
for help on using the changeset viewer.