Interpretator Avocado

Avocado język programowania

Witaj! 😄 Pracuję nad stworzeniem nowego języka programowania o nazwie „Avocado”, który rozwijam w środowisku Lazarus (Free Pascal). Język ten jest interpretowany, a obecnie umożliwia tworzenie aplikacji konsolowych.

Prace nad Avocado, w tym nad jego interpreteren i zintegrowanym środowiskiem programistycznym (IDE), rozpoczęły się 19 lutego 2025 roku. Cechą wyróżniającą ten język jest możliwość pisania komend w języku polskim również można kompilować kod w .exe

Inspiruję się różnorodnymi językami programowania, takimi jak Python, Java, C#, Pascal oraz Lazarus, jednocześnie wdrażając własne, unikalne rozwiązania.

Pokażę, co Avocado potrafi na dzień dzisiejszy. Na początek wydrukujemy „Hello World” za pomocą komendy Druk().

Druk('Hello World') 

Deklarowanie zmiennych liczbowych i zmiennoprzecinkowych można zrealizować za pomocą jednej komendy.

Liczba age = 18
Druk(age) Wynik: 18
Liczba procent = 3.5
Druk(procent) Wynik: 3.5

Dostępna podstawowa matematyka +, -, / *

Liczba a = 5
Liczba b = 10
Liczba suma = a+b
Druk(suma)
suma = a - b
Druk(suma)
suma = a * b
Druk(suma)
suma = a / b
Druk(suma)
age = 18
print("wiek:", age)  # wynik: wiek: 18

W Lazarus (Free Pascal):

program Project1;

uses 
  SysUtils;
var 
  Age: Integer;
begin
  Age := 18;
  WriteLn('Wiek: ' + IntToStr(Age));
end.

W Avocado:

Liczba age = 18
druk('Wiek: ' + age)

Wynik: Wiek 18

Deklaracja zmiennej typu String w Avocado to Tekst nazwazmiennej = 'Wartość'.

W porównaniu do Pythona:

name = "Tom"
print(name)

W Avocado:

Tekst name = 'Tom'
druk(name)

W Lazarus:

var
  Name: String;
begin
  Name := 'Tom';
  WriteLn(Name);
end;

Zmienne zmiennoprzecinkowe można deklarować po prostu używając Liczba np. Liczba procent = 5.5.

Deklaracji zmiennej logicznej typu Boolean

Logika twojazmiennalogizna = true
Druk(twojazmiennalogizna) Wynik true

Drukowanie tekstu

Drukowanie tekstu, wartości liczbowej czy tekstowej odbywa się za pomocą funkcji Druk. Przykłady:

Druk('Witaj Świecie!')
Druk(twojazmienna)
Druk(age + ' lat') // wynik: 18 lat

Konwersja tekstu na liczbę: TekstWLiczbe(imie). Konwersja liczby na tekst: LiczbaWTekst.

Konwersja Tekst w Liczbę

Tekst age = '20'
age2 = TekstWLiczbe(age)
druk(age)
Liczba suma = age2 + 5
druk(suma)  // wynik: 25

Konwersja Liczby w Tekst

Liczba age = 20
Tekst age2 = LiczbaWTekst(age)
Tekst b = '100'
druk(age)
Tekst suma = (age + b)
druk('Wynik: ' + suma) 

Wprowadzanie danych przez użytkownika funkcja wpr() jak w python name = input(„Your name: „) działa na razie tylko w konsoli

Tekst name = ”
name = wpr(’Twoje imie’)
//Wpisujesz swoje imię w konsoli
Tekst surname = ”
surname = wpr(’Twoje nazwisko’)
//Wpisujesz swoje nazwisko w konsoli
Tekst wynik = (name + surname) //konkatenacja stringów
//Wynik w konsoli TwojeImie TwojeNazwisko

Dodałem kompilowanie kodu

Kod z Avocado przekłada się na Free Pascal a dalej jest kompilowany przez kompilator FPC.

W ustawieniach należy wskazać ścieżkę do kompilatora fpc, pobrać można z oficjalnej strony Lazarus

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *