LINUX.ORG.RU

Переход к определению в A2 (BlueBottle)

 bluebottle, , , ,


0

1

Нашёл следующее:

Есть ли работающее решение?

★★★★★

Последнее исправление: den73 (всего исправлений: 5)

То, что встроено в среды Lazarus/Delphi не рассматривается как рабочий инструмент? Нужен именно внешний индексатор?

bormant ★★★★★
()
И носило меня, с языка на язык.
Я менял имена, я менял города.
Надышался я пылью заморской golang,
Где generics нет и не светит луна.
anonymous
()
Ответ на: комментарий от den73

Тишина на ЛОРе - значит, у задачи нет решения. Копаюсь сам потихоньку, отчёты тут: http://вече.программирование-по-русски.рф/viewtopic.php?f=5&t=22

Пока что запустил gtags с поддержкой univeral-ctags. StackOverflow и гугление тут не помогли, помог только RTFM.

Уже посмотрел на парсер Паскаля - он убогий. Вероятно, буду перепиливать парсер PHP, т.к. нужно понимать классы и методы, а парсер Паскаля методы частично понимает, но классы не понимает.

Альтернатива - научить сам компилятор Fox выдавать файл в формате ctags, для этого нужно изучить взаимодействие ctags - gtags.

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Уже посмотрел на парсер Паскаля - он убогий. Вероятно, буду перепиливать парсер PHP

«Чую бесовщину, но обосновать не могу» (c) lleo. Как можно парсер божественного структурированного Паскаля переделывать из читалки пыха?!?...

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Альтернативные предложения рассматриваются. Вот все парсеры из ctags.

https://github.com/universal-ctags/ctags/tree/master/parsers

Конечная цель - это парсер для Активного Оберона . К сожалению, оберон-сообщество не слишком себя утруждает и вместо полных определений языков публикует диффы. Во всяком случае, я не видел полного описания АО.

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Конечная цель - это парсер для Активного Оберона

Сходил по ссылке.

    PROCEDURE Draw*; (*нарисовать данный объект*)  
    BEGIN HALT(99); (*заставить расширения переопределять этот метод*) 

Искусственно прерывать для этого выполнение программы — так себе идея, учитывая, что в Delphi/fpc достаточно написать abstract, и ошибка будет отловлена ещё в compile time (в C++ то же делается написанием =0).

Я правильно понимаю, что Component Pascal Вирта — это одно развитие Оберона, а Active Oberon — другое и несовместимое с первым? Что-то путаюсь я в оберон-технологиях, и подозреваю, что не я один.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Искусственно прерывать для этого выполнение программы

Не исключено. Оберон заточен на простоту реализации, поэтому в нём могут быть нужны костыли.

Я правильно понимаю, что Component Pascal Вирта — это одно развитие Оберона, а Active Oberon — другое и несовместимое с первым?

Да.

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Думаю, что парсер Ады может подойти. Он более 2000 строк, против 260 для Паскаля, есть вложенные друг в друга сущности, в целом язык похож на Паскаль. Какие ещё есть версии?

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

вече.программирование-по-русски.рф/viewtopic

Почему не послушатьразговор? Кстати, форум (площадь, где проходила деловая и общественная жизнь) — это не вече (народное собрание, т.е. орган власти).

knovich
()
Ответ на: комментарий от knovich

Не послушатьразговор, потому что у меня нет ресурсов на то, чтобы перелопатить phpBB, да и цели такой особо нет. Вече - потому что в русском языке не хватает многих понятий, но ты можешь предложить свой вариант и я его рассмотрю. Но я бы сосредоточился на теме, если несложно.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

Ну это уже лучше. По крайней мере, Ада как язык идейно точно ближе к Оберону (хотя и гораздо многословнее последнего).

hobbit ★★★★★
()

flex+bison от/для Оберона несложно гугляться. Старые, но и язык не то чтобы реактивно растёт :-) При настойчивом желании ими можно-же нагенерять ctags, благо что формат ctags довольно убог.

и вот не могу не процитировать из то-го же гугля про Оберон:

Оберон совместим с большинством инсектицидов, фунгицидов и регуляторами роста (циркон, эпин, оберег), за исключением препаратов с щелочной реакцией. Но при составлении баковых смесей, смешиваемые препараты предварительно необходимо проверять на совместимость

MKuznetsov ★★★★★
()
Ответ на: комментарий от den73

Оберон заточен на простоту реализации, поэтому в нём могут быть нужны костыли.

И это огорчает, поскольку речь не про синтаксический сахар для чего-то более примитивного, а про возможность решать компилятором вопросы, которые компилятор может решить.

hobbit ★★★★★
()
Ответ на: комментарий от MKuznetsov

При настойчивом желании ими можно-же нагенерять ctags, благо что формат ctags довольно убог.

Так тоже можно, но мне всё же кажется, что начать от Ады проще.

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Есть новости по теме: оказывается, в A2 есть (или было) средство для построения исходников с гиперссылками, и исходники какой-то довольно старой версии можно посмотреть на этом сайте.

Хоть это и не совсем то же, что я изначально спрашивал, но в целом понятно, что нужно оживлять этот инструмент, если он протух, и пользоваться им, а не курочить инородные парсеры. Засим ставим звёздочку и заодно переименовываем тему.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.