mirror of
https://github.com/enso-org/enso.git
synced 2024-12-23 23:22:14 +03:00
31 lines
746 B
Markdown
31 lines
746 B
Markdown
---
|
|
layout: developer-doc
|
|
title: Parser Driver
|
|
category: parser
|
|
tags: [parser, driver]
|
|
order: 7
|
|
---
|
|
|
|
# Parser Driver
|
|
|
|
The parser driver component is responsible for orchestrating the entire action
|
|
of the parser. It handles the following duties:
|
|
|
|
1. Consuming input text using a provided [reader](./reader.md) in a lazy
|
|
fashion.
|
|
2. Lexing and then parsing the input text.
|
|
3. Writing the output AST to the client of the parser.
|
|
|
|
<!-- MarkdownTOC levels="2,3" autolink="true" -->
|
|
|
|
- [Driver Clients](#driver-clients)
|
|
|
|
<!-- /MarkdownTOC -->
|
|
|
|
## Driver Clients
|
|
|
|
The parser is going to be employed in two contexts, both running in-process:
|
|
|
|
1. In the IDE codebase as a rust dependency.
|
|
2. In the engine as a native code dependency used via JNI.
|