Настройка VSFTPD

Установка

user@debian-practice:~$ su
Пароль:
debian-practice:/home/user# apt-cache search vsftpd
vsftpd - The Very Secure FTP Daemon
fail2ban - bans IPs that cause multiple authentication errors
ccze - A robust, modular log coloriser
debian-practice:/home/user# apt-get install vsftpd

Базовая настройка APACHE, PHP, MYSQL

Установка APACHE

debian-practice:/home/user# apt-get install apache2

Синтаксический анализатор

«Синтаксический анализ (парсинг) — это процесс сопоставления линейной последовательности лексем языка с его формальной грамматикой. Результатом обычно является дерево разбора (синтаксическое дерево)»
Формальная грамматика состоит из таких компонентов как:

Собираем парсер математических выражений

 Согласно формальной грамматике у нас должно получится следующие файлы:
  • Нетерминалы
    • SummaValue.java — сложение / вычитание, будет в дальнейшем использоваться как начальный нетерминал
    • MultipleValue.java — умножение / деление
    • CValue.java — число / скобки / унарный минус
  • Лексемы
    • SummaOperatorToken.java — плюс / минус
    • MultipleOperatorToken.java — множить / делить
    • OpenBraceToken.java — открытая скобка
    • CloseBraceToken.java — закрытая скобка
    • NumberToken.java — число
    • WhiteSpaceToken.java — пробел
  • TokensParser.java Лексический анализатор
  • SyntaxParser.java — Базовый класс для нетерминалов
  • TokenParser.java — Интерфейс лексического анализатора
  • Operator.java — Перечисление математический операторов
  • Token.java — Базовый класс лексемы
  • Value.java — Интерфейс математического выражения

Обзор ANTLR



ANTLR (от англ. Another Tool For Language Recognition — «ещё одно средство распознавания языков») — генератор парсеров, позволяющий автоматически создавать программу-парсер (как и лексический анализатор) на одном из целевых языков программирования (C++, Java, C#, Python, Ruby) по описанию LL(*)-грамматики на языке, близком к РБНФ. Позволяет конструировать компиляторы, интерпретаторы, трансляторы с различных формальных языков. Предоставляет удобные средства для восстановления после ошибок и сообщения о них. ANTLR — продолжение PCCTS (Purdue Compiler Construction Tool Set), который был разработан в 1989 г.

Настройка Bash

BASH PS1
Вот так у меня настроено приглашение в BASH. Для того что бы сделать такое же необходимо: Указать в файле ~/.bashrc строку
PS1='\[\033[02;32m\]\D{%H.%M.%S}\033[00m:\033[0;34m\u@\h\[\033[00m\]:\w\n> '

Лексический анализатор

Лексический анализ заключается в анализе символов и выделение из них осмысленных единиц — лексем.
Например лексемой может являться число, математические оператор (плюс, минус, …), скобки, идентификатор переменной, комментарий и т. д.

Простой парсер


Парсер — это сленговое слово от английского parse (сущ. анализ, разбор, производить структурный анализ). Так называют программы/библиотеки которые производят соответствующие действие, применяются во многих областях ИТ, в той или иной форме.


Эта статья предлагает рассмотрение общих принципов работы компиляторов и как они пишутся. Будет рассмотрен простой синтаксический анализ методом рекурсивного спуска — калькулятор математических выражений.