Skip to content

lexain12/language

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Язык программирования

В этом проекте я создам свой язык программирования.

Идея

Для начало нужно было опеределится с идеей языка. Я решил, что создам язык боя. Программирование на моем языке будет ощущаться как бой на ринге. Пример программы на моем языке можно можно посмотреть тут

Frontend

Обработка языка разделена на 3 этапа. Первый этап - frontend. На этом этапе надо обработать текстовый файл с языком и составить дерево на основе программы.

Пример дерева

Дерево составлено в соответствии с общим стандартом. Более подробно о стандарте вы можете посмотреть тут.

Midleend

На этом этапе производятся оптимизации. Программа представленна в виде дерева, поэтому в этом представлении мы можем произвести такую оптимизацию, как свертка значений. То есть выражение 3 + 4 превратится в 7.

Backend

Последний этап, это трансляция в ассемблер и исполнение на написанном мной процессоре.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published