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