Другие языки программирования и технологии

хороший результат написать 500 строк кода для

языка с таким синтаксисом
print("const");
sum(1,2)
1-2

мне 13, язык c#.
писал без ничего, кроме примеров и теории, но очень стыдно ибо не люблю брать с примеров и теории. люблю делать через анализ алгоритма. был написан лексический, и проверяющий синтаксический анализаторы, АСТ сделаю позже, устал.
норм? или есть люди, которые в моей возрасте лучше добились? будет к чему стремиться))
https://pastebin.com/9uPPQTus 676 строк
Я это в 14 (15?) лет написал когда только начал С++ изучать) Интерпретатор ассемблера...
Синтаксис примерно такой
------------
var a 5
var b 10
add a,b
push a
call println
----------------
выведет 15

можно так
var a 10
var b 0
inp b ;; вводим значение в b
add a,b
if a == 10 bisnull
push "B != 0"
jmp end
bisnull:
push "B == 0"
end:
call println
-----------
Если ввести 0 то выведет "B== 0" если что то другое то выведет "B!=0"
-----------------------------

>или есть люди, которые в моей возрасте лучше добились?
Не знаю примеров, но ты лучше не останавливайся))
Андрей Балабин
Андрей Балабин
24 328
Лучший ответ
Андрей Балабин А сейчас деградировал и пошел по пути упрощения)) Хотя мне просто интересно пробовать различные синтаксисы, концепции
Касым Суйеркул дык вот! асм я не знаю тобишь работа с памятью не для меня, и я тащусь по языкам нативным, но безопасным (rust) либо на решете из за его универсальности. Писал лекс. путем ка, потому что когда делал путем peekchar а дальше проверки, то у меня всегда кушал лишний символ (ну я то понял в чем проблема) и забил на эту идею, позже почитал что это ка и посмотрел его реализации (за что оч стыдно, потому что не сам) дальше енумы и свитч...
вместе с опред. рефакторингом вышло >253 строк.
все работало как по маслу.
причем без регэкспов
дальше я принялся делать чеккер грамматики аля парсер
пока я не успел сделать аст. и парсер будет методом рекурсивного спуска . и вообще я начал делать этот инструктивный скриптовый язык для своей программы, чтоб она была уникальной.
потом хочу добавить кондишины типы и собрать интерпретатор либо выучить llvm и написать к нему фронтэнд
Касым Суйеркул не то, что выучить, а понять библиотеку
Касым Суйеркул о почитал ваш код, немного подправлюсь. Вы писали интерпретатор и я как увидел юзали либы плюсов или чистого си, правильно? тоесть не напрямую с памятью?
Возраст-то при чем? Количество строк?

Для индуса это может и достижение... а так-то, лишь бы программа работала, и была устойчива (в плане ошибок).
Касым Суйеркул да, так оно и есть, программа отлажена
Без теории ты ничего не добьешься никогда, ты бы и до этого Print бы не скоро дошел, если бы не теория. Это ведь тебе кто-то сказал, не сам ты комбинации наугад писал ведь...
Я не знаток программирования, но за "лексический, и проверяющий синтаксический анализатор и АСТ" у тебя там? Что это ты написал? И что за АСТ
Денис Якунин
Денис Якунин
38 429
Касым Суйеркул аст это абстрактное синтаксическое дерево. то есть древоидная структура данных, где каждый узел представляет собой оператор и его операнды,
проверяющий парсер (просто мое определние) есть грамматики порождающие, а есть проверяющие, дак вот мой парсер сначала проверяет программу, а потом генерит код, да это глуппо но мне так нравится, лексический анализатор вещь, которая разбивает поток символов на лексемы, (набор символов, которые соответствуют токену) токен - шаблон, которому будут соответствовать лексемы
вы правы, без теории никуда, но. я больше понимаю алгоритм, тоесть теорию ввмде алгоритма, дальше понимаю что да как и начинаю реализацию
Круто!
Не понятно, вы жалуетесь или хвастаетесь?
мне 26 и я не знаю что такое анализатор))) В твоем возрасте я вообще не думал получается)
SF
Soho Face
10 755