feat: add first two book topics
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# Начало работы
|
||||
|
||||
Для того, чтобы начать работу с FZLang, достаточно установить себе на компьютер два исполяемых файла:
|
||||
|
||||
- `fzc` - компилятор
|
||||
- `fz` - виртуальная машина
|
||||
|
||||
Для того, чтобы скомпилировать программу, достаточно выполнить программу `fzc`, указав в качестве аргументов пути к файлам с исходным кодом.
|
||||
Если программа успешно скомпилировалась, то её можно запустить через программу `fz`, также указав путь скомпилированному файлу.
|
||||
Без указания компилятору пути к выходному файлу, скомпилированная программа будет сохранена как `a.fzb`.
|
||||
|
||||
## Настройки компилятора
|
||||
|
||||
Чтобы посмотреть о доступных настройках компилятора, выполните `fzc --help` (или `fzc -h`).
|
||||
На данный момент, справка выглядит так:
|
||||
|
||||
```
|
||||
Usage: fzc [flags] <sources...>
|
||||
Available flags:
|
||||
-h --help Print help
|
||||
-v --verbose Display compilation info (tokens, AST, consts table, etc)
|
||||
-V --version Print compiler version
|
||||
-o --out Set compiled file name
|
||||
```
|
||||
|
||||
Флаг `-h` (`--help`) просто выводит ту же справку. Флаги `-v` / `--verbose` делает подробный вывод компиляции:
|
||||
|
||||
- Какие лексемы были прочитаны;
|
||||
- Какое синтаксическое дерево было собрано;
|
||||
- Какие значения были записаны в таблицу констант;
|
||||
- Какие опкоды были записаны в программу.
|
||||
|
||||
Флаги `-V` / `--version` выводят версию компилятора. Флаги `-o`, `--out` позволяют задать путь выходного файла.
|
||||
|
||||
## Настройки виртуальной машины
|
||||
|
||||
У виртуальной машины есть всего два флага: `--help` (`-h`) и `-d`.
|
||||
|
||||
- `--help` (или `-h`) выводит справку;
|
||||
- `-d <путь к файлу>` выводит список опкодов с нумерацией. С помощью этого флага вы можете посмотреть, как вашу программу будет читать ВМ.
|
||||
|
||||
---
|
||||
|
||||
Далее: [Первая программа](./02_first-program.md)
|
||||
|
||||
Назад: [Вступление](./00_introduction.md)
|
||||
|
||||
Reference in New Issue
Block a user