Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

F1 Sastavljač Pitanja





Da li je besplatan?

Da. Pored toga, ne postoje naknade za programe koji su kreirani koristeći F1, niti bilo koja ograničenja na preraspodelu od run-time biblioteka.

Šta je u imenu ...

FormulaOne je logično programski jezik zasnovan na logici prvog reda, što omogućava pisanje programa koristeći jezik sa / semantikom slično kao logička formula.

Šta je deklarativno programiranje?

Osnovna imovina deklarativno programskog jezika je da je program u nekom pogodnom teorijskom smislu. Ovo odmah daje tačno značenje programa pisanih u jeziku. Za programere, to znači da je programiranje visok nivo apstrakcije. Na ovom nivou apstrakcije programer može da se koncentriše na ono što se određuje, se obračunava, a ne nužno kako se izračunava ..

Ko bi trebalo da koristi kompajler F1

FormulaOne se može naučiti od početnika, ali će biti najcenjenijia od strane iskusnih programera. Ako rešavate problem, rasplet, misteriju, FormulaOne je zaista jedinstvena primena ogranjičenja i biće od neprocenjive vrednosti. Logička i numerička ograničenja omugu’avaju da problemi mogu biti rešeni brže u zavisnosti od redova veličine. Pored toga, FormulaOne sintaksa dovodi do programa koji su jasni, koncizni i dobro strukturirani, što čini jezik posebno je pogodnim za kompjuterske nauke u edukativne svrhe.

Kako FormulaOne uporediti sa Prolog?

Postoji mnogo ukusa i implementacija Prolog/a, tako da nije lako odgovoriti na pitanje. Sintaksički FormulaOne i Prologs su potpuno drugačiji. Za non-Prolog programera je mnogo lakše da čita i prati F1 kod, nego da čitaju i prate izvorni kod Prolog . Upoređivati rezultate nije lako, budući da ne postoje zvanični niti široko korišćene logike programiranja repera. Nekoliko (prilično zastareli) reperi smo svesni sastoje se od nekoliko jednostavnih lista manipulacija, koje očigledno ne referentnu ništa značajno za logičko programiranje. Pošto postoji samo ograničen broj operacija na listi, većina implementacija bi trebalo da proizvede više-manje iste rezultate benchmark. Ovi pokazatelji odražavaju moć procesora više nego bilo šta drugo.

Postoji još jedan način da se uporede performanse: rešiti isti problem sa različitim kompajlerima (koristeći istu CPU) i uporedi vreme Ovo nije sasvim (cut-and-dry) ili: problemi treba da imaju bar malo kompleksnosog smisla.Dobar kandidat je problem kao što je Benjamin Franklin's Magic Squares 8x8:: problem je lako formulisati, program je lako napisati na bilo kojem deklarativnom jeziku, problem ima poznati broj rešenja, ali pronalaženje rešenja jenije travijalno. To može trajati nedeljama da se pronađu sva rešenja, tako da je lako izmeriti razlike performanse. Mi koristimo ovaj problem interno da uporedimo sa različitim izdanjima FormulaOne. Rekavši to, jedan od razloga zašto smo odabrali naziv FormulaOne, je taj zato što smo iskreno osećali proizvede veoma brzo kod i nema Prolog implementacija koja bi mogla da nas nadmaši. Želeli bi rezervnu kopiju zahteva sa nekim realnim brojevima, tako da ako ste svesni svih programa Prolog benčmark, molimo Vas da nas obavestite. Pogledajte našu stranicu podrške za informacije kako da nas kontaktirate.

Da li je to tačan prevodilac ili interpretator?

IIako FormulaOne izvorni kod može ličiti na skript jezik, ona je u potpunosti završena. FormulaOne je tačan prevodilac; generiše standardne DLL (Dinamic Load Librari) fajlove, ili standardnie fajlove (Ekecutable) EXE.

Da li je FormulaOne javni izvor ?

Nije, i verovatno to neće nikada ni postati.

Da li FormulaOne radi pod Linux-om?

Mi smo bili u mogućnosti da instaliramo i pokrenemo FormulaOne pod Linuxom koristeći Wine 0.9.52. Iako smo bili u stanju da ponovo (recompile) i uspešno pokrenemo sve programe uzorak koda, u ovom trenutku ne možemo preporučiti pokretanje F1 kompajler pod Linux-om.Wine (0.9.52) ne sprovodi pravilno različite funkcije, kao što su kontekst menija, Rebar kontrola, listviev kontrole i generalno ne prekraja pravilno IDE ekran. Pokretanje F1 kompajlera koristeći Wine započeo je komandne linije kulja mnoge Wine pogrešne poruke u komandnom terminalu linije ljuske. Rekavši to, postoji dobra verovatnoća da mnoge greške će biti popravljene u sledećem Wine izdanju.

Mislim da sam pronašao kvar..

Ukoliko sistem nije ispravno instaliran, pada ili se ne ponaša prema dokumentaciji, savetujemo vam da podnesete izveštaj o grešci. Pozdravljamo izveštaja o greškama i sve izveštaje o greškama se uzimaju za ozbiljno. Preferirani metod da se podnese izveštaj o grešci je da koristite ugrađeni generator bug izveštaja pomoću F1 IDE sama, ali takođe možete podneti izveštaj o grešci direktno koristeći bugs@f1compiler.com. Prilikom podnošenja direktnog izveštaj ogrešci, molimo Vas da nam priložite što više dodatnih informacije ako je to moguće: verziju operativnog sistema, CPU tip i svi IDE / prevodioci pojedini delovi verzije kao što je prikazano u F1 IDE "O" dijaloga.

Da li je potrebno da se registrujete

No Registracija F1 kompajlera nije obavezna. Osnovni cilj registracije je da nam se omogući praćenje "ozbiljnih" korisnika. Funkcionalnost neregistrovanog softvera je identičan registrovanom. Napomena: U budućnosti planiramo da ponudimo neke add-on modula (kao što su simbolički debugger itd) registrovanim korisnicima. Kada dođe vreme, mi ćemo ga objaviti na našem sajtu. Iou registrujete tako što čete prvo nam poslati e-mail pomoću support@f1compiler.com sa temom "registracije". Mi ćemo vam poslati nazad registracioni broj koji možete da unesete u dijalogu registracije u F1 IDE.

Da li FormulaOne nastavak trilogije?

Trilogija, programski jezik, prvobitno je projektovan na Complete Logic Systems of North Vancouver 1987. To je izazvalo poprilične reakcije u to vreme,kao na primer sledeće: pozitivni ocene po Džeriju Pournelle u bajt; zatim, razne tekstove iz bajt, PC nedelje, AI stručnjak. Drugu komercijalnu verzija Trilogija je objavio Vertical Software, nekoliko godina kasnije. FormulaOne koristi sintaksu i vrste podataka, koje su veoma slične Trilogiji, tako da u tom pogledu FormulaOne može posmatrati kao nastavak trilogije.

Ovo je odličan projekat, kako mogu da pomognem?

* datoteka izveštaja o greškama
* proslediti kod uzroka
* Kreirati i dostaviti trećem delu bibliotekarskog sistema.
* Pomozite nam sa internalizacijom / lokalizacijom za druge jezike osim engleskog.
* Širite reč. Ako ste vlasnik veb stranice: link ka nama. Ako imate blog: napomenite nam. Napišite Wikipedia stranice.

Kada sam sastavio svoj program, dobijam čudne greške kompajlera ...

Kao i sa praktično svim kompajlerima možete dobiti čudne greške prilikom sastavljanja programa. Šta se dešava, je to,da u nekom trenutku kompajler detektuje grešku. U ovom trenutku kompajler može takođe da prekine kompilaciju, ili da napravi njihovo nagađanje o prirodi greške i nastaviti izradu programa. Prekidanje kompilacije posle svake greške može dovesti u prilično frustrirajuće iskustvo, pa prevodilac nastavlja kompilaciju na osnovu nekih pretpostavki. Ako su pretpostavke bile netačne, naknadna kompilacija će verovatno generisati neke neočekivane fiktivne greške. To je razlog zašto treba da obrati pažnju usamom startut. Veoma često,ukoliko spoznate i resite prvu grešku, sve ostale greške se nece javiti.

Kako distribuiram izvršenje?

Svaka izvršna će se sastojati od nekoliko modula. Sve ovo mora biti distribuirano da bi izvršna ispravno radila na ciljnom sistemu. Distribucija obuhvata sve module od korisnika, F1 Funkcija Biblioteka (F1RTL.DLL) i GMP (GNU Multi Precision Media Librari aritmetika, libgmp-3.dll). Performanse ciljevi, GMP isporučuje izgrađen za različite procesore. Kada distribuirate izvršna bi bilo idealno da uključuje libgmp-3.dll koja najviše odgovara ciljnom sistemu procesora. Ovo se može uraditi sa instalacionog scenarija koji otkriva CPU i instalirati odgovarajući izbor libgmp-3.dll. Ako performanse nisu problem, možete jednostavno distribuirati svoje zahtev 3.dll libgmp ugrađen Pentium procesor ili "generički" libgmp-3.dll. Generalno je sasvim sigurno da pretpostavimo meta sistem Pentium kompatibilan.. Idealno bi bilo kada biste instalirali aplikaciju sa instalatera, kao što je Nullsoft Scriptable Install System (NSIS)

Napomena: Od izdanju FormulaOne 41d, IDE FormulaOne Sadržaj NSIS (Nullsoft Scriptable Instaliraj Sistem) kao deo toolchain. Nakon kreiranja samostalnog izvršnu, korisnik može odmah da kreirate konfiguracioni fajl koji vam omogućava da preraspodeli / install njegov / njen izvršni na drugim računarima. F1 IDE stvorio redistribuirati podrazumevana konfiguraciona datoteka kreira jednu datoteku koja omogućava korisniku da instalirate / deinstalirate izvršnu opciono stvoriti desktop i / ili meni prečica. Instalater će instalirati najbolje odgovara GMP biblioteku na ciljnoj mašini otkrivenog na CPU. Za korak po korak trenutna pogledajte Kako da napravite Redistributable aplikaciju..

Mogu li da koristim kod napisan u drugom programskom jeziku

FormulaOne program može pozvati rutine koje se nalaze u modulima izrađenim od drugih kompajlera, pod uslovom da koristite ili "C" Pozivanje konvenciju ili Microsoft _stdcall konvencije. Zbog nestandardne upotrebe gomile od F1 kompajlera, sada generalno nije moguće za module sastavljene drugim kompajlerima nazvati rutine priredio F1 kompajlera. Međutim, mi mislimo da interoperabilnost sa modulima pisani na drugim jezicima zaslužuju stalnu pažnju, za više detalja pogledajte naše planove za budući razvoj. Napomena: Počev F1 oslobađanje 42 je moguće pozvati F1 procs / subrs iz modula nije sastavio F1 kompajler.

Šta je to ugrađeni izvorni file?

FormulaOne linker omogućava uključivanje celog koda modula unutar samog sastavljenog modula. Ovo može biti korisno kada distribuiranje ili arhiviranje sastavljenog modula.

Da li postoji memorija gde se skladišti smeće?

Sva neophodna memorija potrebna za program je u potpunosti rukovođena sa kompajlerima. Memorija alokacija / dealokacija je automatska i obično programer ne treba da se bavi time. Sva dodeljena memorija će biti na kraju deallocated kada nije potreban. Podrazumevani algoritam za upravljanje memorijom je veoma efikasan sa niskim opterećenjem i opisan je detaljnije u FormulaOne jezika priručnika. Međutim, postoje situacije kada eventualno nije dovoljno brzo, a program traje od sve raspoložive memorije pre nego što je memorija deallocated. U tom slučaju možete da sastavi program sa agresivnijim prikupljanjem otpada, koristeći "Settings-> Compiler-> Enable Garbage Collection". Ova postavka zamenjuje podrazumevani "lenji" smeće kolekciju i izaziva memorijske Dealokacija što je pre moguće. Imajte na umu da ovo nije problem sa istinskim predikatom: istinski predikat besplatno neiskorišćenih memorija automatski kao sporedni proizvod backtracking.

Neću koristiti F1 kompajler ukoliko ova funkcija (UTF-8, petlja konstrukt, itd) se sprovodi ...

Tehnički nije baš pitanje, više kao ultimatum, ali je pošteno. Iako ovo zvuči više kao "Neću koristiti C + + dok se ne implementira backtracking" ili "Ja ću koristiti asembler samo kada postoji automatska smeće kolekcija" ili "Ja neću koristiti Java dok podržava domaće 512bit brojeve ". Poenta je, niko od nekoliko stotina programskih jezika ne sadrži sve moguće opcije. Rekavši ovo, mi pozdravljamo nove ideje. Neki od naših novih ideja koje smatramo za upcomming (tek predsotoječa) izdanja se možete naći u našoj stranici za budući razvoj.



Published (Last edited): 11-10-2012 , source: http://www.f1compiler.com/faq/faq.html