Оглавление:
Определение - Что означает Парсер?
Парсер - это компонент компилятора или интерпретатора, который разбивает данные на более мелкие элементы для простого перевода на другой язык. Анализатор принимает входные данные в виде последовательности токенов или программных инструкций и обычно создает структуру данных в форме дерева разбора или абстрактного синтаксического дерева.
Техопедия объясняет парсер
Парсер обычно используется как компонент интерпретатора или компилятора. Общий процесс разбора состоит из трех этапов:
- Лексический анализ: лексический анализатор используется для получения токенов из потока символов входной строки, которые разбиты на небольшие компоненты для формирования значимых выражений.
- Синтаксический анализ: проверяет, являются ли сгенерированные токены значимым выражением. Это использует контекстно-свободную грамматику, которая определяет алгоритмические процедуры для компонентов. Они работают, чтобы сформировать выражение и определить конкретный порядок, в котором должны быть размещены токены.
- Семантический анализ: заключительный этап анализа, на котором определяются значение и значение проверенного выражения и предпринимаются необходимые действия.
Основная цель синтаксического анализатора - определить, могут ли входные данные быть получены из начального символа грамматики. Если да, то каким образом эти входные данные могут быть получены? Это достигается следующим образом:
- Разбор сверху вниз: включает поиск в дереве разбора, чтобы найти самые левые производные входного потока, используя раскрытие сверху вниз. Примеры включают парсеры LL и парсеры рекурсивного спуска.
- Анализ снизу вверх: включает перезапись ввода обратно в начальный символ. Этот тип синтаксического анализа также известен как синтаксический анализ с уменьшением сдвига. Одним из примеров является парсер LR.
Парсеры широко используются в следующих технологиях:
- Java и другие языки программирования
- HTML и XML
- Интерактивный язык данных и язык определения объектов
- Языки базы данных, такие как SQL
- Языки моделирования, такие как язык моделирования виртуальной реальности
- Скриптовые языки
- Протоколы, такие как удаленные вызовы функций HTTP и Интернет
