Force Napisano Październik 21, 2008 Zgłoś Share Napisano Październik 21, 2008 Napisałem sobie własny moduł do obliczenia wyrażeń logiczno-napisowo-liczowych w skrócie LoStrAr. Rozpoznaje on 3 typy wartości: boolean, integer oraz string, jest not case sensitive. W stringach jak chcemy mieć apostrof to tak jak w Delphi piszemy ”” =,,,>= działają na integerach, a =, też na stringach i boolean, mają najniższy priorytet not,+,- są to operatory unarne, not do boolean-a, a +/- do integera +,-,or,nor,xor,imp to wiadomo o co chodzi dodam, że nor to jest zaprzeczenie or-a, a imp to implikacja. + działa na intgerach i stringach, - na integerach, reszta na integerach i booleanach *,div,mod,and,nand nand to jest zaprzeczenie and-a. Wszystko działa na integerach, a and i nand także na booleanach. Operatory podałem wg priorytetu od najniższego do najwyższego. Są oczywiście nawiasy ( ), niestety nie mam krótkiego obiegu, czy jak to się zwie, chodzi o to, że jak mam and i pierwsza argument jest false to drugiego nie sprawdzam, u mnie się sprawdza. Zachęcam do testowania i szukania błędów.Link Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Wosiedem Napisano Październik 21, 2008 Zgłoś Share Napisano Październik 21, 2008 Rozumiem, że można wprowadzać jakieś wyrażenia do obliczania, ale jakie praktyczne zastosowanie mają stringi w Twoim programie? Trochę brakuje wartości bezwzględnej Ogólnie to nie widziałem błędów. Program mógłby być bardzo użyteczny gdyby była jakaś możliwość definiowania własnych wyrażeń/funkcji... ale to już zaczynamy się zbliżać do python shell-a Pozdrawiam, vo7 (; Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Październik 21, 2008 Autor Zgłoś Share Napisano Październik 21, 2008 Spoko, spoko, to co pokazałem jest czymś do większego zamysłu, po prostu wykorzystuje was do testowania moich wypocin (smacznego ) Chcę mieć pewność, że ten element już działa sprawnie Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Październik 21, 2008 Zgłoś Share Napisano Październik 21, 2008 napisz se unit testy Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Październik 21, 2008 Autor Zgłoś Share Napisano Październik 21, 2008 no tak, Toster i jego gadanie o unit testach Ja tam nie wiem jak by one miały wyglądać skoro można robić nieskończenie długie wyrażenia. Ja założyłem indukcyjnie, że skoro każdy operator działa to dołączenie do k operatorów kolejnego działania dające k+1 operatorów też działa Poza tym też chce aby ktoś wpisał złe wyrażenia i zobaczył co się stanie, ja próbowałem, ale nie wszystko da się wykminić, a potem będzie się komplikowało mi wraz z rozwojem:D Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Październik 21, 2008 Zgłoś Share Napisano Październik 21, 2008 przykladowe testy: 1 + 1 = 2 1 + -1 = 0 0/0 = error 1/0 = error 1 + MaxInt = overf. MaxInt - MaxInt = 0 1 * (-1) = -1 true and true and false = false itd... Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Październik 21, 2008 Autor Zgłoś Share Napisano Październik 21, 2008 Stałych jeszcze nie mam, znaczy mam ale nie podpiete 1 + -1 zwróci błąd, bo powinno być 1 +(-1) dzielenie przez 0 zapomniało mi się odnośnie overflowa - u mnie widzę, że zawija działania, pewnie to zjedziesz no ale cóż Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Październik 21, 2008 Zgłoś Share Napisano Październik 21, 2008 Nie zjade bo nie wiem jakie masz zalozenia... wiele jezykow zawija. Warto znac najpierw zalozenia zanim napisze sie kod.... widzisz nawet suche unit testy znalazly ci juz 1 blad i 2 rzeczy do przemyslenia... Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Wosiedem Napisano Październik 22, 2008 Zgłoś Share Napisano Październik 22, 2008 Spoko, spoko, to co pokazałem jest czymś do większego zamysłu(...) A co tworzysz? Pozdrawiam, vo7 (; Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Październik 22, 2008 Zgłoś Share Napisano Październik 22, 2008 Wpisz "1/0" do tego programu i po sciezce sie domysl www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Październik 22, 2008 Autor Zgłoś Share Napisano Październik 22, 2008 Nie powiem co tworzę, nie jest osobą, która najpierw mówi, a potem robi, to co tu widać jest bo zostało zrobione, a potem pokazane. Blind, ale chamsko z tym "/" nie używajcie Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
xevil21 Napisano Październik 22, 2008 Zgłoś Share Napisano Październik 22, 2008 Haha trzeba było wcześniej o tym pomyśleć Pozdrawiam! Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Październik 22, 2008 Autor Zgłoś Share Napisano Październik 22, 2008 Liczyłem na wasze sumienie Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Październik 25, 2008 Autor Zgłoś Share Napisano Październik 25, 2008 Pod postem, ale co tam Otóż jest nowa wersja ONP: Nowe ONP Parsuje linijki np.: Copy('Witaj',Length('3'),Length('Bob')) + Copy('Witaj',Length('Soso'),Length('Bl')) ((2+metoda1i) Więcej na link (ale reklama ) Oczywiście zachęcam do testowania Na razie wiem,że jak się źle poda parametry do metod to jest AV więc nie róbcie tego Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
HNB Napisano Październik 29, 2008 Zgłoś Share Napisano Październik 29, 2008 Takie lepszy kalkulator ^^. Ma pozostać kalkulatorem czy planujesz coś więcej? Jak coś więcej to zaczynanie on parshera matematycznego jest moim zdaniem złym pomysłem, bo jak będziesz pisał od tej strony cały język to wszystko się pokomplikuje za bardzo, łatwo wpaść w pułapkę logiczną i trudniej będzie Ci oprogramować pozostałe elementy języka. Powinieneś raczej zacząć od zaprojektowania struktur i sporządzić jakieś założenia dla całości i dopiero wtedy rozbijać na jak największa liczbę elementów - w tym parsher matematyczny. Ale tak czy siak powodzenia. soon Delphi will be only for veterans and finally we all will die at the end… delphi.dathox.com - nowinki z świata Delphi/Pascala only programmers and drug dealers call their customers "users" Oto cisza przed burzą, Chwile się dłużą.Z gór schodzi dużo chmur ku podnóżom.Ptaki milaczą, drogi suche jak wiór się kurzą, Ptaki milczą a drogi się kurzą. Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Październik 29, 2008 Autor Zgłoś Share Napisano Październik 29, 2008 Spoko, ja myślę ale uważam, że parser matematyczny jest najtrudniejszy, bo w każdej instrukcji jest używany, w if-ie, while,repeat itp. q for dwa razy nawet. Mam więcej niż ten parser, mam nawet przekazywanie parametrów przez var-a,const-a,out-a. Jedyne co mi brakuje to stos wywywołań a raczej jak na niego coś wrzucać i potem wracać do czegoś. ogólnie nie chce też za dużo powiedzieć póki nie zrobię tego stosu i jego obsługi, więc traktuj ten post jako nieoficjalny;) Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
HNB Napisano Październik 29, 2008 Zgłoś Share Napisano Październik 29, 2008 Ok soon Delphi will be only for veterans and finally we all will die at the end… delphi.dathox.com - nowinki z świata Delphi/Pascala only programmers and drug dealers call their customers "users" Oto cisza przed burzą, Chwile się dłużą.Z gór schodzi dużo chmur ku podnóżom.Ptaki milaczą, drogi suche jak wiór się kurzą, Ptaki milczą a drogi się kurzą. Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.