chayandatta / Hermes

[Interpreter from scratch] Named after Hermes, the messenger of the gods known for his linguistic prowess.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hermes

Building An Interpreter from Scratch in Golang and written using NeoVim.

Hermes, the messenger of the gods, is often associated with communication, language, and interpretation. He is known as a guide, translator, and mediator between realms. His attributes can be linked to interpretation, especially in the context of language and communication.

What we are building?

We are building an interpreter which is a program that directly executes or evaluates a code written in a high-level programming language. It reads the code, line by line or statement by statement, and immediately translates and executes each line into machine code or intermediate code, without the need for a separate compilation step.

Why we are building an interpreter?

To learn, of course 😊


Lexer

Lexing, also known as lexical analysis, is the initial phase of processing in a compiler or interpreter for a programming language. A lexer, short for lexical analyzer, is a component or program responsible for performing this task. Lexing involves the analysis of a sequence of characters (often the source code of a program) and breaking it down into smaller units called tokens.

image

Repl

Read-Eval-Print Loop

image

AST

Abstract Syntax Tree

image
Interesting links for more exploration - https://astexplorer.net/

About

[Interpreter from scratch] Named after Hermes, the messenger of the gods known for his linguistic prowess.


Languages

Language:Go 100.0%