Force Napisano Kwiecień 9, 2007 Zgłoś Share Napisano Kwiecień 9, 2007 Po ciężkiej batalii z C++ udało mi się napisać pierwszy program, i nawet drugi też, choć zajęło mi to miesiąc. Wymyśliłem własny język skryptowy mający składnię podobną do Assemblera o niezbyt wymyślnej nazwie - Force Script. Jest to język który jest kompilowany do pliku dającego się interpretować przez specjalny program. Umożliwia on deklarowanie zmiennych 4 rodzajów: napis, liczba, tablica liczb, oraz dwuwymiarowa tablica, wykonuje najbardziej używane działania matematyczne, instrukcje skoków oraz posiada własny stos. Język powstał aby nie musieć kompilować od nowa programów, ale modyfikować tylko skrypty, które bardzo łatwo się podpina do programów i ich zmiennych. Na razie jest tylko wersja dla konsoli, ale już mam pomysł na program, który też będzie go wykorzystywał. W pakiecie są 3 programy: kompilator, środowisko programistyczne korzystające z tego kompilator, oraz program interpretujący skrypt przeznaczone do konsoli. Zachęcam do ściągnięcia, przetestowania czy aby na pewno działa tak jak powinien. Stąd link można ściągnąć cały pakiet wraz z przykładowymi skryptami i tabelą zawierającą spis i opis komend. Kurs oraz więcej informacji można znaleźć na stronie http://fp.cba.pl. Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Kwiecień 9, 2007 Zgłoś Share Napisano Kwiecień 9, 2007 Link nie dziala www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
Nvm Napisano Kwiecień 9, 2007 Zgłoś Share Napisano Kwiecień 9, 2007 Jak nie działa jak działa o,o Już ściągam. Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Kwiecień 9, 2007 Zgłoś Share Napisano Kwiecień 9, 2007 mnie przekierowywuje do: http://cba.pl/cba.jpg Moze to wina opery... :| www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Kwiecień 9, 2007 Autor Zgłoś Share Napisano Kwiecień 9, 2007 link działa, czasami tylko coś się psuje jak jakiś błąd robi się gdy łączy się z bazą sql, ale też nie aż tak często. Proponuje wkleić http://fp.cba.pl/downloads.php?cat_id=2&download_id=3 do przeglądarki, wtedy działa na 99%. To że link nie działa to chyba wina tego że cba blokuje hotlinkowanie i tak uznaje działanie linka, bo wklejenia linku, lub z mojej strony działa. Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Nvm Napisano Kwiecień 9, 2007 Zgłoś Share Napisano Kwiecień 9, 2007 Nic mi nie działa, a jak próbuje usunąć folder to wyskakuje błąd (mimo iż ze środka wszystko pokasowałem). Pod jakim OS to pisałeś? Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Kwiecień 9, 2007 Autor Zgłoś Share Napisano Kwiecień 9, 2007 chmy, nie działa, to dziwne, może opisz co robisz przed tym jak nie działa, w edytorze nie można nic kliknąć póki się nie otworzy jakiegoś skryptu, lub nie zrobi się nowego. To pierwsza rada, a druga jest taka, że fsconsole.exe uruchamia się na pliku już skompilowanym czyli fsc, a nie fsct. A kompilatora nie ma po co włączać, bo jak naciśniesz F9 w edytorze to on włącza kompilator z odpowiednimi parametrami. A co do systemu to windows xp. Popełniłem błąd nie dodając pliku, zawierającego informacje co i jak, będę musiał jednak taki zrobić, bo rzeczywiście nie pomyślałem, że ja wiem jak obsługiwać program to nie każdy musi umieć, jednak myślałem, że nie wielka ilość przycisków pomoże. Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
gMichal Napisano Kwiecień 9, 2007 Zgłoś Share Napisano Kwiecień 9, 2007 Jak uruchomić jakikolwiek program z folderu z przykładami bo ja robie tak: Otwieram plik ".fsct" w "ScriptEditor" wciskam strzałkę czy coś w tym stylu i nie działa Link do komentarza Udostępnij na innych stronach More sharing options...
Nvm Napisano Kwiecień 9, 2007 Zgłoś Share Napisano Kwiecień 9, 2007 Otwieram edytor, wczytuje jakiś skrypt z przykładów klikam "Kompiluj" czy coś iii... się nic nie dzieje. A jak chcę usunąć folder to wyskakuje błąd, że nie można usunąć bo jest aktualnie używany Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Kwiecień 9, 2007 Autor Zgłoś Share Napisano Kwiecień 9, 2007 No cóż, funkcjonalnością edytor jeszcze nie dorównuje Borlandowi, może kiedyś, on kompiluje skrypt, ale go nie uruchamia, bo ta wersja środowiska tego nie umie, ale jest taki plan, powstaje plik z rozszerzeniem fsc, który jest tam gdzie był plik fsct (oczywiście jeśli powiodła się kompilacja - informacja u dołu ekranu). Wynika to stąd, że skrypty mają działać także np. w programach a tam przerwania mogą robić co innego i co innego żądać. Aby go uruchomić należy np. najechać plik fsc na fsconsole.exe, albo włączyć fsconsole.exe z ścieżką do tego pliku jako parametr. // "No cóż, funkcjonalnością edytor jeszcze nie dorównuje Borlandowi" - - Iskar Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Kwiecień 9, 2007 Zgłoś Share Napisano Kwiecień 9, 2007 Zanim sie pokaze exeka szerszemu gronu warto sprawdzic czy ktos poza autorem potrafi to obsluzyc w 95% moich programów tak nie jest dlatego pokazuje swiatu tylko 0,1% moich prac Tez sie nad tym zastanow Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Kwiecień 10, 2007 Autor Zgłoś Share Napisano Kwiecień 10, 2007 No wiem, akurat to był ten, który uważałem za łatwiejszy w obsłudze. Jakbym wszystkie 3 pliki zrobił jako jeden program to pewnie by nie było tyle problemów co klikać. Chciałem w tej wersji udostępnić to co w końcu będzie w kolejnej, ale c++ ze mną nie chciał współpracować, więc może do kolejnej już mu się zachce. Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
sazian Napisano Kwiecień 10, 2007 Zgłoś Share Napisano Kwiecień 10, 2007 dobra kompiluje plik w konsoli uruchamiam fsconsole.exe w parametrze podaje nazwę pliku dodawanie.fsc naciskam enter i ciemność widzę Link do komentarza Udostępnij na innych stronach More sharing options...
gMichal Napisano Kwiecień 10, 2007 Zgłoś Share Napisano Kwiecień 10, 2007 dobra kompiluje plikw konsoli uruchamiam fsconsole.exe w parametrze podaje nazwę pliku dodawanie.fsc naciskam enter i ciemność widzę Ja mam lepiej udało mi sie uruchomić "NWD.fsc" po za nim nic B) Przy okazji ten program jest na jakiej licencji Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Kwiecień 10, 2007 Autor Zgłoś Share Napisano Kwiecień 10, 2007 dodawanie.fsct (po skompilowaniu fsc) to jest akurat najbanalniejszy skrypt, pokazujący, że polecenia ADD naprawdę coś robi (tak jak z resztą inne polecenia). Próbowałem skrypty robić w jakiejś kolejności logicznej, można powiedzieć, że na początku umiemy tylko dodawać, ale nie wiemy co to zmienna, a jak nie wiemy jak jak zrobić zmienną typu str, to trudno jakiś napis wyświetlić. W tym skrypcie po prostu wpisujesz liczbę, enter, wpisujesz liczbę, enter, masz wynik. Wszystkie powinny działać skoro się kompilują bez błędu, najlepiej przenieść fsconsole.exe do folderu Example i skompilowane skrypty na niego przenosić to naprawdę sie okaże że działa. A program jest w skrócie na takiej licencji: a) Jak masz na własnej stronie (haha) to miłby było jakbyś napisał autora i podał link do mojej strony. B) Nie sprzedawaj programu ani skryptów, chyba że mnie spytasz. c) Nie dawaj programy do gazety, wole osobiście.. taa. I także przeglądajcie pliki fsct, w komentarzach (komentarz jest od średnika) jest omówione co się stanie po komendzie jakiejś. I na mojej stronie jest coś co miało przypominać kurs, ale składnia język jest zbyt mała zagmatwana, aby zrobiło się materiał na książkę (raczej na "Force Script Leksykon kieszonkowy"). i to B) to miało być b z nawiasem, że niby kolejny podpunkt. Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
HNB Napisano Kwiecień 10, 2007 Zgłoś Share Napisano Kwiecień 10, 2007 Czy to język JIT x86? (tz. czy skrypt kompiluje się od razu do kodu maszynowego) 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 Kwiecień 10, 2007 Autor Zgłoś Share Napisano Kwiecień 10, 2007 Nie, jest to język skryptowy, z resztą sama nazwa "Force Script" sugeruje, że nie jest to kod maszynowy. Z resztą nie zależało mi aby mieć własny język programowania, ale takie co nie będę musiał przekompilowywać od nowego programu, tylko skryptu w jakimś edytorze robić i dawać aby je wykonał. Kompilator zamienia plik fsct na postać co do której wiadomo, że nie ma błędów i którą się już banalnie interpretuje. Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
HNB Napisano Kwiecień 10, 2007 Zgłoś Share Napisano Kwiecień 10, 2007 Interpretacja pochłania sporo czasu, a rozwiązania JIT są powszechnie stosowane w skryptach (LUA, BeroScript, Java, PaxCompiler). Jak nie dajesz źródła tego projektu czy użytecznej dll'ki to moim zdaniem niepotrzebnie pokazujesz to światu. Zawracanie głowy. Tak pomyślałem skoro składnię ma podobną do asm to może kompiluje go do IA-32. Bo przecież zamiast sprowadzać to do własnego byte code warto użyć najszybszego byte code. Ale nie wtrącam się. Twoja sprawa. Wielu programistów napisało dużo bardziej zaawansowane języki i są prawie na licencjach Public Domain + pełne źródła (Pascal Script i wspomniany LUA oraz BeroScript). 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 Kwiecień 10, 2007 Autor Zgłoś Share Napisano Kwiecień 10, 2007 Zdaję sobie sprawę z wad mego języka, ale nie zamierzam robić w nim apletów. Ma to być coś w stylu: Gracz x wypił fiolkę y. No i taki skrypt ma opisywać co fiolka na nim robi, nie będą to przecież zawiłe skomplikowane obliczenia, tak z 10 linijek kodu, ale dzięki temu nie trzeba co chwile kompilować programu aby dodać coś nowego. Inny użycie to np. wykonywania masę razy tego samego działania, załóżmy że mamy tabelę i chcemy do niej zrobić analizę, to zamiast pisać non-stop procedury, trzeba takie skrypty (najlepiej to zrobić program, który reprezentuje to w postaci jakiś bloków jak ELI), a program ma tylko narysować oś X, oś Y, i słupki. A co do dll-ki to chce aby taki był końcowy efekt, ale to mój pierwszy program w c++ to może drugi będzie z dllk-ą, ale chciałem to zrobić tak, że się dziedziczy klasę interpretera i pisze swoje dwie funkcje (tak jest z tą wersją konsolową). Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Kwiecień 10, 2007 Zgłoś Share Napisano Kwiecień 10, 2007 krecisz swiatem, z jednej strony nie chesz programu ktory musisz przekompilowac ale dajesz jakas maszyne wirtualna w ktorej cos tam mozna wykonac ale to cos i tak musi byc skapilowane. czym wiec rozni sie twoj skrypt (poza prostota) od dowolnego innego jezyka programowania ? Co wnosi, co powoduje ze jest on uzyteczny ? dlaczego warto na niego zwrocic uwage ? Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Bluebat Napisano Kwiecień 11, 2007 Zgłoś Share Napisano Kwiecień 11, 2007 Skoro i tak skrypt musi być kompilowany do kodu pośredniego, to nie ma problemu, żeby to był kod maszynowy Co prawda przenośność w tym wypadku jest kiepska, ale zawsze możesz zrobić 2 wersje - JIT i interpretacje. Dynamiczne załadowanie takiego skryptu w działającym już programie nie jest problemem: ładujesz kod do tablicy i rzutujesz ją na funkcję. O ile pamiętam tak to szło (piszę z lekcji inf, to nie mam swoich źródeł): char *tab = new char[4096]; /* tu wprowadzenie opcodów do tXXH Y J HH Y J JHX][YHHFW\"gVćś6ŚG\"wśććRśGP Jak nie działa, to mnie poprawcie. PS: Oczywiście gratuluję interpretera EDIT: Już w domku sprawdziłem i dobry kod dałem. Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Kwiecień 11, 2007 Autor Zgłoś Share Napisano Kwiecień 11, 2007 Ten interpreter konsolowy, nie stworzyłem po to aby robić skrypt na konsole, bo to żadna przyjemność, służył do testowania czy interpreter dobrze działa, bo nie lubię c++ i mu nie ufam (i mam powody). Został napisany po to, aby móc pisać średniej długości skrypty do innych programów. Ponieważ większość czynności jakie można robić z rzeczami nie jest skomplikowana, na krześle można siąść, drzewo się buja na wietrze, a ucięcie głowy zazwyczaj zabija. I po to został stworzony, można też napisać jakieś AI, ale najlepiej dla czegoś turowego. A kod maszynowy nie jest, bo nie wiem jak to zrobić. Tego kodu co napisał Bluebat do końca nie rozumiem (jak dobrać się do zmiennych programu nei rozumiem, no i pomijając fakt, że ma być kod maszynowy. Na razie jest tak że dziedziczy się interpreter i pisze funkcję, która jest wywoływana przez INT, oraz opcjonalnie funkcję do obsługi błędów (np dzielenie przez 0). Baza tysięcy lotnisk: http://airportsbase.com 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.