Aceasta este comanda scalac care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
scalac - Compiler pentru limbajul Scala 2
REZUMAT
scalac [Opțiuni> ]sursă fișiere>
PARAMETRI
<Opțiuni>
Opțiuni pentru linia de comandă. Vedea OPŢIUNI de mai jos.
<sursă fișiere>
Unul sau mai multe fișiere sursă de compilat (cum ar fi MyClass.scala).
DESCRIERE
scalac Instrumentul citește definițiile de clasă și obiect, scrise în programarea Scala
limba și le compilează în fișiere de clasă bytecode.
În mod implicit, compilatorul pune fiecare fișier de clasă în același director ca și fișierul sursă.
Puteți specifica un director de destinație separat cu -d (vezi OPŢIUNI, mai jos).
OPŢIUNI
Compilatorul are un set de opțiuni standard care sunt suportate de dezvoltarea curentă
mediu și va fi suportat în versiunile viitoare. Un set suplimentar de non-standard
opțiunile sunt specifice implementării actuale a mașinii virtuale și sunt supuse
schimbare în viitor. Opțiunile non-standard încep cu -X.
Standard Opţiuni
-Dproprietate=valoare
Trece -Dproprietate=valoare direct la sistemul de rulare.
-J<pavilion>
Trecepavilion> direct la sistemul de rulare.
-P:<plugin:opt>
Transmite o opțiune unui plugin
-X Imprimați un rezumat al opțiunilor avansate.
-bootclasspath <cale>
Ignorați locația fișierelor de clasă bootstrap (unde găsiți standardul încorporat
clase, cum ar fi „scala.List”).
-calea de clasă <cale>
Specificați unde să găsiți fișierele de clasă de utilizator (pe sisteme bazate pe Unix, separate prin două puncte
listă de căi, pe sisteme bazate pe Windows, o listă de căi separate prin punct și virgulă). Acest
nu anulează calea de căutare încorporată ("boot").
Calea implicită a clasei este directorul curent. Setarea variabilei CLASSPATH sau
folosind opțiunea de linie de comandă -classpath suprascrie implicit, așa că dacă doriți
includeți directorul curent în calea de căutare, trebuie să includeți „." în nou
setări.
-d <director|jar>
Specificați unde să plasați fișierele de clasă generate.
-dezaprobare
Emiteți avertismente și locație pentru utilizări ale API-urilor depreciate.
Disponibil începând cu versiunea Scala 2.2.1
-codare <codare>
Specificați codificarea caracterelor utilizată de fișierele sursă.
Valoarea implicită este specifică platformei (Linux: „UTF8”, Windows: „Cp1252”).
Executarea următorului cod în interpretul Scala va returna valoarea implicită
pe sistemul dvs.:
scala> nou java.io.InputStreamReader(System.in).getEncoding
-explicatipuri
Explicați erorile de tip mai detaliat.
-extdirs <dirs>
Ignorați locația extensiilor instalate.
-caracteristică
Emiteți avertismente și locație pentru utilizările caracteristicilor care ar trebui importate
explicit.
-g:{none,source,line,vars,notailcalls}
„none” nu generează informații de depanare,
„sursă” generează numai atributul fișierului sursă,
„linie” generează informații despre sursă și numărul de linie,
„vars” generează informații despre sursă, numărul liniei și variabilele locale,
„notailcalls” generează toate cele de mai sus și voi nu efectua apelul de coadă
optimizare.
-Ajutor Tipăriți un rezumat al opțiunilor standard.
-javabootclasspath <cale>
Ignorați calea clasei de pornire Java.
-javaextdirs <cale>
Ignorați calea clasei extdirs Java.
-limba:<trăsătură>
Activați una sau mai multe caracteristici de limbă.
-fara specializare
Ignora @specializați adnotări.
-nobootcp
Nu utilizați calea clasei de pornire pentru fișierele Scala jar.
- acum avertizează
Nu generați avertismente
-optimizează
Generează bytecode mai rapid prin aplicarea optimizărilor programului.
-imprimare Imprimați programul cu toate caracteristicile specifice Scala eliminate.
-sourcepath <cale>
Specificați locația (locațiile) fișierelor sursă.
-ţintă:{jvm-1.5,jvm-1.6,jvm-1.7}
JVM țintă „jvm-1.5” 1.5 (învechit),
JVM țintă „jvm-1.6” 1.6 (implicit),
JVM țintă „jvm-1.7” 1.7,
-toolcp <cale>
Adăugați la calea clasei alergătorului.
-nebifat
Activați avertismentele detaliate nebifate (ștergere).
Argumentele de tip non-variabile din tiparele de tip sunt nebifate deoarece sunt
eliminate prin ștergere
Disponibil începând cu versiunea Scala 2.3.0
-uniqid
Etichetați unic toți identificatorii din ieșirea de depanare.
-usejavacp
Utilizați java.class.path în rezoluția classpath.
-usemanifestcp
Utilizați manifestul în rezoluția classpath.
-verbos
Trimite mesaje despre ceea ce face compilatorul
-versiune
Imprimați versiunea produsului și ieșiți.
@<fişier>
Un fișier text care conține argumente ale compilatorului (opțiuni și fișiere sursă)
Avansat Opţiuni
-Xcheckinit
Încheierea accesoriilor de câmp pentru a arunca o excepție la accesul neinițializat.
-Xdev Activați avertismentele pentru dezvoltatorii care lucrează la compilatorul Scala
-Xdisable-aserțiuni
Nu generați afirmații și presupuneri
-Xelide-mai jos <n>
Apeluri la @elidabil metodele sunt omise dacă prioritatea metodei este mai mică decât argumentul.
-Xexperimental
Activați extensiile experimentale
-Xfatal-avertismente
Eșuează compilarea dacă există avertismente.
-Xfull-lubs
Păstrați comportamentul anterior 2.10 al trunchierii mai puțin agresive a limitelor superioare minime.
-Xviitor
Activați funcțiile lingvistice viitoare.
-Xgenerate-phase-graph <fişier>
Generați graficele de fază (iese fișiere .dot) în fișierul X.dot.
-Xlint Activați avertismentele suplimentare recomandate.
-Xlog-free-termeni
Imprimați un mesaj când reificarea creează un termen liber.
-Xlog-free-types
Imprimați un mesaj când reificarea recurge la generarea unui tip gratuit.
-Xlog-conversii-implicite
Tipăriți un mesaj ori de câte ori este inserată o conversie implicită.
-Xlog-implicite
Arată mai multe detalii despre motivul pentru care unele implicite nu sunt aplicabile.
-Xlog-reflexive-apeluri
Imprimați un mesaj atunci când este generat un apel de metodă reflectorizant.
-Xmacro-setări:<opțiune>
Setări personalizate pentru macrocomenzi.
-Xmain-class <cale>
Clasa pentru intrarea Main-Class a manifestului (utilă numai cu -d ).
-Xmax-classfile-name <n>
Lungimea maximă a numelui de fișier pentru clasele generate.
-Xmigrare:<versiune>
Avertizați despre constructele al căror comportament s-ar putea să se fi schimbat de atunciversiune>.
-Xno-expanderi
Nu generați expeditori statici în clasele oglindă.
-Analiza-Xno-patmat
Nu efectuați analize de exhaustivitate/inaccesibilitate. De asemenea, ignora @intrerupator
adnotare.
-Xno-escape
Dezactivați gestionarea \u escapes Unicode
-Xnojline
Nu utilizați JLine pentru editare.
-Xplugin:<căi>
Încărcați un plugin de la fiecare clasă.
-Xplugin-dezactivare:<conecteaza>
Dezactivează pluginurile după nume.
-Xplugin-list
Imprimați un rezumat al pluginurilor încărcate.
-Xplugin-necesită:<conecteaza>
Anulați dacă un plugin numit nu este încărcat.
-Xpluginsdir <cale>
Cale pentru căutarea arhivelor de plugin.
-Xprint:<faze>
Imprimați programul dupăfaze> (vezi mai jos).
-Xprint-icode[:faze>]
Înregistrați codul intern în fișierele *.icode dupăfaze> (implicit: icode).
-Xprint-poz
Imprimați pozițiile arborelui, ca decalaje.
-tipuri Xprint
Tipăriți arborele (opțiune de depanare).
-Xprompt
Afișați un prompt după fiecare eroare (opțiune de depanare).
-Xrezident
Compilatorul rămâne rezident, fișierele de compilat sunt citite din intrarea standard.
-Xscript <obiect>
Tratați fișierul sursă ca pe un script și includeți-l într-o metodă principală.
-Xshow-clasa <clasă>
Arată reprezentarea internă a clasei.
-Xshow-obiect <obiect>
Arată reprezentarea internă a obiectului.
-Xshow-faze
Tipăriți un rezumat al fazelor compilatorului.
-Xsource:<versiune>
Tratează intrarea compilatorului ca sursă Scala pentru versiunea specificată, vezi SI-8126.
-Xsource-reader <numele clasei>
Specificați o metodă personalizată pentru citirea fișierelor sursă.
-Xstrict-inferență
Nu deduceți tipuri cunoscute de nesănătoase.
-Xverificați
Verificați semnăturile generice în bytecode generat (numai backend-ul asm).
-Y Tipăriți un rezumat al opțiunilor private.
Compilation Faze
analizor analizați sursa în AST, efectuați o eliminare simplă a zahărului
numere rezolvați nume, atașați simboluri arborilor cu nume
obiecte pachet
încărcați obiectele pachetului
dactilograf carnea și cartofii: tastați copacii
patmat traduce expresiile de potrivire
superaccesorii
adăugați super accesorii în trăsături și clase imbricate
extmetode
adăugați metode de extensie pentru clasele inline
decapator
serializați tabele de simboluri
reverificări
verificarea referințelor/overriderea, traducerea obiectelor imbricate
selectiveanf
ANF pre-transforma pentru @cps (plugin CPS)
selectivecps
@cps-transformarea condusă a atribuțiilor selective (plugin CPS)
uncurry
uncurry, traduceți valorile funcției în clase anonime
apeluri de coadă
înlocuiți apelurile de coadă cu sărituri
specializa
@de specialitate-specializare condusă de clasă și metodă
explicitouter
aceasta se referă la indicatoare exterioare, traduce modele
ştergere
ștergeți tipurile, adăugați interfețe pentru trăsături
posterasure
curățați clasele inline șterse
leneşi
alocă hărți de bit, traduc lazy vals în defs lazified
lambdalift
mutați funcțiile imbricate la nivelul superior
constructori
mutați definițiile câmpurilor în constructori
aplatiza
elimina clasele interioare
mixin compoziția mixinului
cleanup
curățări specifice platformei, generează apeluri reflectorizante
delambdafy
îndepărtați lambda
icode genera cod intermediar portabil
inlineri
optimizare: face inlining
inlineHandlers
optimizare: handlere de excepții inline
closelim
optimizare: eliminați închiderile neapelate
constop
optimizare: optimizați constantele nule și alte constante
dce optimizare: eliminarea codului mort
jvm genera cod de octet JVM
terminal
ultima fază din lanțul compilatorului
toate se potrivește cu toate fazele
MEDIUL
JAVACMD
Se specifică Java comandă care va fi utilizată pentru rularea codului Scala. Argumentele pot fi
specificat ca parte a variabilei de mediu; spații, ghilimele etc., vor
să fie trecut direct în carcasă pentru expansiune.
JAVA_HOME
Specificați directorul principal JDK/JRE. Acest director este folosit pentru a localiza Java comandă
dacă nu JAVACMD set variabil.
JAVA_OPTS
Specificați opțiunile care vor fi transmise către Java comanda definita de JAVACMD.
Cu Java 1.5 (sau mai nou) se poate configura, de exemplu, utilizarea memoriei JVM
după cum urmează: JAVA_OPTS="-Xmx512M -Xms16M -Xss16M"
Cu GNU Java se poate configura utilizarea memoriei GIJ după cum urmează:
JAVA_OPTS="--mx512m --ms16m"
EXEMPLE
Compilați un program Scala în directorul curent
scalac HelloWorld
Compilați un program Scala în directorul de destinație clase
scalac -d clase HelloWorld.scala
Compilați un program Scala folosind un program definit de utilizator Java comandă
env JAVACMD=/usr/local/bin/cacao scalac -d clase HelloWorld.scala
Compilați toate fișierele Scala găsite în directorul sursă src la directorul de destinație
clase
scalac -d clasele src/*.scala
EXIT STAREA
scalac returnează o stare zero dacă reușește să compileze fișierele de intrare specificate.
Non zero este returnat în caz de eșec.
Utilizați scalac online folosind serviciile onworks.net