Это командный скаляр, который можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
скалак - Компилятор для языка Scala 2
СИНТАКСИС
скалак [кредита>]источник файлов>
ПАРАМЕТРЫ
<кредита>
Параметры командной строки. Видеть ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ внизу.
<источник файлов>
Один или несколько исходных файлов для компиляции (например, MyClass.scala).
ОПИСАНИЕ
Команда скалак инструмент считывает определения классов и объектов, написанные на языке программирования Scala.
language и компилирует их в файлы классов байт-кода.
По умолчанию компилятор помещает каждый файл класса в тот же каталог, что и его исходный файл.
Вы можете указать отдельный целевой каталог с помощью -d (см. ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТниже).
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
В компиляторе есть набор стандартных опций, которые поддерживаются в текущей разработке.
среда и будет поддерживаться в будущих выпусках. Дополнительный набор нестандартных
параметры специфичны для текущей реализации виртуальной машины и подлежат
изменения в будущем. Нестандартные варианты начинаются с -X.
Стандарт Опции
-Dсвойство = значение
Проходить -Dproperty = value напрямую в систему времени выполнения.
-J<флажок>
Проходитьфлажок> непосредственно в систему выполнения.
-П:<плагин: opt>
Передать опцию плагину
-X Распечатайте краткий обзор дополнительных параметров.
-bootclasspath <путь>
Переопределить расположение файлов классов начальной загрузки (где найти стандартные встроенные
классы, такие как "scala.List").
- путь к классам <путь>
Укажите, где найти файлы классов пользователей (в системах на базе Unix разделенные двоеточием
список путей, в системах на базе Windows - список путей, разделенных точкой с запятой). Этот
не отменяет встроенный ("загрузочный") путь поиска.
Путь к классу по умолчанию - это текущий каталог. Установка переменной CLASSPATH или
использование параметра командной строки -classpath отменяет это значение по умолчанию, поэтому, если вы хотите
включить текущий каталог в путь поиска, вы должны включить "." в новом
настройки.
-d <каталог | jar>
Укажите, где разместить сгенерированные файлы классов.
- устаревание
Выдавать предупреждение и указать местоположение для использования устаревших API.
Доступно, начиная с версии Scala 2.2.1
-кодирование <кодирование>
Укажите кодировку символов, используемую исходными файлами.
Значение по умолчанию зависит от платформы (Linux: «UTF8», Windows: «Cp1252»).
Выполнение следующего кода в интерпретаторе Scala вернет значение по умолчанию
в вашей системе:
scala> новый java.io.InputStreamReader (System.in) .getEncoding
-объясните типы
Более подробно объясните типовые ошибки.
-extdirs <каталоги>
Переопределить расположение установленных расширений.
-характерная черта
Выдавать предупреждение и местоположение для использования функций, которые следует импортировать
явно.
-грамм:{none, source, line, vars, notailcalls}
"none" не генерирует отладочную информацию,
"source" генерирует только атрибут исходного файла,
"line" генерирует информацию об источнике и номере строки,
"vars" генерирует информацию об источнике, номере строки и локальной переменной,
"notailcalls" генерирует все вышеперечисленное и предусматривает выполнить хвостовой вызов
оптимизация.
-Помощь Распечатайте краткий обзор стандартных вариантов.
-javabootclasspath <путь>
Переопределить путь к загрузочному классу Java.
-javaextdirs <путь>
Переопределить путь к классам Java extdirs.
-язык:<которая>
Включите одну или несколько языковых функций.
-без специализации
Игнорировать @специализировать аннотаций.
-nobootcp
Не используйте путь к классам загрузки для файлов jar Scala.
-новаться
Не генерировать предупреждений
-оптимизировать
Создает более быстрый байт-код, применяя оптимизацию к программе.
-Распечатать Программа печати с удалением всех специфичных для Scala функций.
-исходный путь <путь>
Укажите расположение (а) исходных файлов.
-цель:{jvm-1.5, jvm-1.6, jvm-1.7}
"jvm-1.5" целевая JVM 1.5 (устарело),
"jvm-1.6" целевая JVM 1.6 (по умолчанию),
"jvm-1.7" целевая JVM 1.7,
-toolcp <путь>
Добавить в путь к классам бегуна.
-не отмечен
Включить подробные неотмеченные (стирание) предупреждения
Непеременные аргументы типа в шаблонах типов не отмечены, поскольку они
устранено стиранием
Доступно, начиная с версии Scala 2.3.0
-уникальный
Однозначно пометьте все идентификаторы в отладочной информации.
-usejavacp
Используйте java.class.path в разрешении пути к классам.
-usemanifestcp
Используйте манифест в разрешении пути к классам.
-подробный
Выводить сообщения о том, что делает компилятор
-версия
Распечатать версию продукта и выйти.
@<файл>
Текстовый файл, содержащий аргументы компилятора (параметры и исходные файлы)
Фильтр Опции
-Xcheckinit
Оберните средства доступа к полю, чтобы генерировать исключение при неинициализированном доступе.
-Xdev Включить предупреждения для разработчиков, работающих над компилятором Scala
-Xdisable-утверждения
Не создавайте утверждений и предположений
-Xelide-ниже <n>
Звонки в @elidable методы опускаются, если приоритет метода ниже аргумента.
-Xэкспериментальный
Включить экспериментальные расширения
-Xfatal-предупреждения
Прервать компиляцию, если есть какие-либо предупреждения.
-Xfull-любители
Сохраните поведение до 2.10 менее агрессивного усечения наименьших верхних границ.
-Xбудущее
Включите будущие языковые функции.
-Xgenerate-фазовый график <файл>
Сгенерируйте фазовые графики (выводит файлы .dot) в fileX.dot.
-Xlint Включите рекомендуемые дополнительные предупреждения.
-Xlog-бесплатные-термины
Распечатайте сообщение, когда реификация создаст бесплатный термин.
-Xlog-free-типы
Напечатайте сообщение, когда реификация прибегает к созданию свободного шрифта.
-Xlog-неявные преобразования
Печатать сообщение всякий раз, когда вставлено неявное преобразование.
-Xlog-неявные
Покажите более подробно, почему некоторые имплициты неприменимы.
-Xlog-размышления-звонки
Распечатайте сообщение, когда сгенерирован вызов рефлексивного метода.
-Xmacro-настройки:<вариант>
Пользовательские настройки макросов.
-Xmain-класс <путь>
Класс для записи Main-Class манифеста (полезно только с -d ).
-Xmax-class имя-файла <n>
Максимальная длина имени файла для сгенерированных классов.
-Хмиграция:<версия>
Предупреждать о конструкциях, поведение которых могло измениться сверсия>.
-Xno-форвардеры
Не создавайте статические серверы пересылки в зеркальных классах.
-Xno-patmat-анализ
Не выполняйте исчерпывающий анализ / анализ недоступности. Также игнорируйте @выключатель
аннотаций.
-Xno-uescape
Отключить обработку экранирования \ u unicode
-Хнойлине
Не используйте JLine для редактирования.
-Xплагин:<пути>
Загрузите плагин из каждого пути к классам.
-Xplugin-отключить:<плагин>
Отключить плагины по имени.
-Xplugin-список
Распечатайте синопсис загруженных плагинов.
-Xplugin-требовать:<плагин>
Прервать, если именованный плагин не загружен.
-Xpluginsкаталог <путь>
Путь для поиска архивов плагинов.
-Xprint:<фаз>
Распечатать программу черезфаз> (см. ниже).
-Xprint-icode[:фаз>]
Записывать внутренний icode в файлы * .icode послефаз> (по умолчанию: icode).
-Xprint-pos
Печатать позиции дерева как смещения.
-Xprint-типы
Распечатать типы дерева (опция отладки).
-Xprompt
Отображать подсказку после каждой ошибки (опция отладки).
-Xрезидент
Компилятор остается резидентным, файлы для компиляции читаются со стандартного ввода.
-Xscript <объект>
Рассматривайте исходный файл как сценарий и оберните его в метод main.
-Xshow-класс <класс>
Показать внутреннее представление класса.
-Xshow-объект <объект>
Показать внутреннее представление объекта.
-Xshow-phase
Распечатайте синопсис фаз компиляции.
-Источник:<версия>
Считайте входные данные компилятора исходным кодом Scala для указанной версии, см. SI-8126.
-Xsource-читатель <имя_класса>
Укажите собственный метод чтения исходных файлов.
-Xstrict-вывод
Не делайте вывод о заведомо-ненадежных типах.
-Xподтвердить
Проверьте общие подписи в сгенерированном байт-коде (только для asm-сервера).
-Y Распечатайте синопсис частных опций.
Сборник Фазы
синтаксический анализатор разобрать исходный код на AST, выполнить простое обессахаривание
именник разрешать имена, прикреплять символы к именованным деревьям
пакетобъекты
загрузить объекты пакета
машинка мясо и картофель: введите деревья
Патмат переводить выражения соответствия
преемники
добавить супер-аксессоры в трейты и вложенные классы
экстметоды
добавить методы расширения для встроенных классов
травник
сериализовать таблицы символов
перепроверки
проверка ссылок / переопределения, перевод вложенных объектов
селективный
Предварительное преобразование ANF для @cps (Плагин CPS)
селективный
@cps-приводимое преобразование селективных назначений (плагин CPS)
не спешить
uncurry, переводить значения функций в анонимные классы
крики
заменить хвостовые крики прыжками
специализироваться
@ специализированный-приводимые классы и специализация методов
явный
это относится к внешним указателям, переводить шаблоны
подчистка
стереть типы, добавить интерфейсы для черт
послеоперационный период
очистить стертые встроенные классы
лазывал
выделять растровые изображения, переводить ленивые значения в ленивые defs
лямбдалифт
переместить вложенные функции на верхний уровень
конструкторы
переместить определения полей в конструкторы
расплющить
исключить внутренние классы
Mixin состав смеси
уборка
очистка для конкретной платформы, создание рефлексивных вызовов
Delambdafy
удалить лямбды
айкод генерировать переносимый промежуточный код
Inliner
оптимизация: сделать встраивание
встроенные обработчики
оптимизация: встроенные обработчики исключений
Closelim
оптимизация: устранение необъявленных закрытий
констоп
оптимизация: оптимизировать нулевые и другие константы
АКД оптимизация: удалить мертвый код
JVM сгенерировать байт-код JVM
терминал
последняя фаза в цепочке компилятора
ВСЕ соответствует всем фазам
ОКРУЖАЮЩАЯ СРЕДА
ЯВАКМД
Укажите Ява команда, которая будет использоваться для запуска кода Scala. Аргументы могут быть
указывается как часть переменной окружения; пробелы, кавычки и т. д. будут
передаваться непосредственно в оболочку для расширения.
JAVA_HOME
Укажите домашний каталог JDK / JRE. Этот каталог используется для поиска Ява команду
если не ЯВАКМД набор переменных.
JAVA_OPTS
Укажите параметры, которые необходимо передать в Ява команда, определенная ЯВАКМД.
В Java 1.5 (или новее) можно, например, настроить использование памяти JVM.
следующим образом: JAVA_OPTS = "- Xmx512M -Xms16M -Xss16M"
В GNU Java можно настроить использование памяти GIJ следующим образом:
JAVA_OPTS = "- mx512m --ms16m"
ПРИМЕРЫ
Скомпилируйте программу Scala в текущий каталог
скалак HelloWorld
Скомпилируйте программу Scala в целевой каталог классов
скалак -d классы HelloWorld.scala
Скомпилируйте программу Scala с использованием определяемого пользователем Ява команду
окр ЯВАКМД= / usr / local / bin / какао скалак -d классы HelloWorld.scala
Скомпилировать все файлы Scala, найденные в исходном каталоге SRC в целевой каталог
классов
скалак -d классы src / *. scala
ВЫХОД статус
скалак возвращает нулевой статус, если ему удалось скомпилировать указанные входные файлы.
В случае сбоя возвращается ненулевое значение.
Используйте scalac онлайн с помощью сервисов onworks.net