Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Обновлённый лиспоид

Автор Алексей Гринь, марта 4, 2012, 19:33

0 Пользователи и 1 гость просматривают эту тему.

Алексей Гринь

Парсер лиспового синтаксиса можно написать за пять минут и это здорово, но самое негодное это количество скобок, особенно они сносят крышу, когда их много на конце строки. Без поллитра не разберёшь.
Не знаю, было ли такое решение, но я как-то придумал такой вариант: верхние уровни не оформляются скобками, но группируются через точку с запятой, то есть A; B равносильно (A) (B), плюс группируем скобки по-сишному:

    int sum (int a; int b) (
        return (+ a b);
    )

Парам-пам-пам.
肏! Τίς πέπορδε;

Alone Coder


Python

Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Цитата: Алексей Гринь от марта  4, 2012, 19:33
    int sum (int a; int b) (
        return (+ a b);
    )
Эту же программу можно записать как
    (int sum ((int a)(int b)) (
        (return (+ a b))
    ))
или между «;» и «()» нет взаимозаменяемости?
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Алексей Гринь

Цитата: Python от марта  5, 2012, 23:33
Эту же программу можно записать как
Да. Технически код это такое же одно большое дерево S-выражений; точка с запятой это просто визуально удобный вариант.
肏! Τίς πέπορδε;

Demetrius


Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр