Створення Mash Script: виклики у розробці інтерпретатора

Автор: Chris Ried. Опубліковано на Unsplash

Створення мови програмування Mash Script почалося у 2022 році, коли я, будучи захопленим розробкою програмного забезпечення, вирішив зануритися у світ розробки власної мови. Початково не було конкретного призначення для Mash Script, і цей проект був для мене в своєрідним експериментом у пошуку нових можливостей у програмуванні.

Основною метою створення Mash Script було вивчення і поглиблення знань у галузі розробки мов програмування, а також створення зручного та гнучкого інструменту для вирішення різноманітних задач. Мова була реалізована як інтерпретована, написана на Python, з динамічною типізацією. Одним з основних принципів Mash Script є обов'язкове вказування типів даних при оголошенні змінних чи функцій, що робить код більш прозорим і безпечним.

Створення та розвиток мови зайняло майже рік, починаючи з літа 2023 року. Під час розробки виникали певні виклики, особливо у створенні псевдо компілятора для Mash Script. Проте, завдяки наполегливості та вірі в успіх проекту, вдалося подолати всі труднощі. Компілятор у вигляді пакувальника інтерпретатора разом із AST програми, був створений і успішно працює, дозволяючи створювати .exe файли.

На майбутнє планується розвиток Mash Script у напрямку створення транслятора коду з Mash Script на Python або іншу мову програмування, що розширить можливості використання цієї мови. Мова Mash Script є зручною у використанні, але через обмежену кількість бібліотек на даний момент є певна нестача функціоналу, яка може бути вирішена у майбутньому. Тут є навіть ООП.

Я можу створити українську мову програмування, але, будьмо чесними, такі мови, нажаль, просто не є зручними.

Щодо корисності для інших розробників, майже впевнений, що Mash Script не буде корисним інструментом у роботі. Покищо)

Приклад програми ‘Hello World‘:

import { * } from stdl;

void main(argv: array[string])
{
  Out.println('Mash Script!');
}

Документація мови вже доступна.

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Romashka
Romashka@Romashka

Створюю інтерпретатор Mash Src

117Прочитань
1Автори
1Читачі
На Друкарні з 16 березня

Більше від автора

  • Mash Script: Рядки, string

    Стаття охоплює різні аспекти роботи з рядками в мові Mash Script, включаючи їхній літеральний запис, методи, рядки-шаблони та інше.

    Теми цього довгочиту:

    Mash Script
  • Mash Script: Оголошення функцій

    Ця публікація охоплює основи роботи з функціями в мові програмування Mash Script: оголошення, використання опціональних параметрів, повернення значень, продвинуту типізацію та створення анонімних функцій.

    Теми цього довгочиту:

    Mash Script
  • Mash Script: Базовий синтаксис

    Опис базової структури програми написаної мовою Mash Script

    Теми цього довгочиту:

    Programming

Вам також сподобається

  • Принцип KISS: стільки, скільки потрібно

    Всім привіт! Я розпочинаю серію дописів на тему принципів та дизайн патернів у програмуванні. Мета цього, в першу чергу, особисто мені, засвоїти інформацію на кращому рівні. Перша тема - принцип KISS.

    Теми цього довгочиту:

    Програмування
  • Яким чином пули з’єднань покращують роботу застосунку?

    Початкова швидкість передачі даних може бути досить низькою, поки TCP "зрозуміє", яка швидкість є оптимальною. У випадку пулу з'єднань, вже встановлені з'єднання можуть використовувати максимальну швидкість передачі, оскільки

    Теми цього довгочиту:

    Програмування
  • Як я зазнав невдачі в наставництві

    З 18 років я працюю ментором в Code Club Україна, і мій підхід до навчання завжди був... експериментальним. Моя остання група була повним провалом, і я хочу поділитися цим з іншими менторами, щоб вони були дуже обережними з методами наставництва, які вони використовують.

    Теми цього довгочиту:

    Менторство

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Вам також сподобається

  • Принцип KISS: стільки, скільки потрібно

    Всім привіт! Я розпочинаю серію дописів на тему принципів та дизайн патернів у програмуванні. Мета цього, в першу чергу, особисто мені, засвоїти інформацію на кращому рівні. Перша тема - принцип KISS.

    Теми цього довгочиту:

    Програмування
  • Яким чином пули з’єднань покращують роботу застосунку?

    Початкова швидкість передачі даних може бути досить низькою, поки TCP "зрозуміє", яка швидкість є оптимальною. У випадку пулу з'єднань, вже встановлені з'єднання можуть використовувати максимальну швидкість передачі, оскільки

    Теми цього довгочиту:

    Програмування
  • Як я зазнав невдачі в наставництві

    З 18 років я працюю ментором в Code Club Україна, і мій підхід до навчання завжди був... експериментальним. Моя остання група була повним провалом, і я хочу поділитися цим з іншими менторами, щоб вони були дуже обережними з методами наставництва, які вони використовують.

    Теми цього довгочиту:

    Менторство