LINUX.ORG.RU

А вот кому IDE для C++?

 ,


0

1

Всем привет. Написал себе IDE для плюсов(строго под линукс), от лени, и от того, что другие не нравились. Написана на плюсах, с использованием wxWidgets, плюс clang либа. вот выложил видос как создать проект, сбилдить и пустить аппу.

https://www.youtube.com/watch?v=5DtzFbrjpVw

IDE в принципе уже вполне зрелая, несколько проектов на ней сделано, без нареканий. в процессе работы над этими проектами она просто обрастала фичами.

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

исходники не выкладываю. поскольку работаю на убунте 20.04, то приветствуются персоны с этой убунтой, чтобы не пересобирать аппу. Если есть вопросы - пишите сюда.

также в этом эккаунте на ютубе, есть и более ранние видео об IDE, где можно получить приблизительное представление о ее фичах, с учетом, что она модернизировалась за это время.

добавленное видео: https://www.youtube.com/watch?v=73qxNBq2Thk

нерафинированный видос - парсинг сорса в фоне. https://www.youtube.com/watch?v=nFyKyAsZEvk

Алексей.

★★★

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

Ответ на: комментарий от alysnix

для убунты 20.04

Закидывай, заодно посмотрю как оно в арче заведется, вроде ABI +- сходится, нужно только знать какие зависимости нужны.

xDShot ★★★★★
()

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

Конечно, на Ютуб я не пойду.

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

Это протокол.

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

alysnix ★★★
() автор топика

исходники не выкладываю. поскольку работаю на убунте 20.04, то приветствуются персоны с этой убунтой, чтобы не пересобирать аппу. Если есть вопросы - пишите сюда.

Как это всё связано с невыкладыванием исходников? Кому надо разберётся. И да, язабан. Это, имхо, провокация. Зажатие кода и тупость становятся костылями современного АйТи! Не бывать этому, понял?

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

И что? Вот вам ещё пример неовим: там тоже есть поддержка лсп.

Такой же клиент, как и студия.

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

Ищу удаленку. живу - Москва, юго-запад. Удаленка желательно в Москве. Без проблем могу подьезжать по требованию. Всегда на связи - скайп, емейл. живу на linux. Cистемное и прочее программирование, с++, python, lua, ассемблеры и проч. linux, windows, голое железо, realtime, прикладное программирование, разработка архитектуры ПО(UML). Опыт - 20+ лет. Области в которых хорошо разбираюсь - realtime, ООП, разработка компиляторов, многопоточное event-driven программbрование, разработка ядра rtos, sdk, tools, и прочее. много занимался геймдевом(с++) реального времени, но забросил. Руководство проектами в данных областях - проектирование по, проверка кода и стандартов кодирования, рефакторинг, отладка, менторство, обучение персонала, доведение чужого кода до ума, оптимизация, кодирование критических компонент. Инструменты и языки, что использую(использовал) при разработке: Modula-2, Delphi , C++, C#, Java, Python, Lua, разные ассемблеры. Visual Studio, Eclipse, CodeLite, CodeBlocks. git Последение три проекта - в команде - кросс-разработка под linux ПО для защищенного сотового телефона(arm, gcc, С++, -ядро rtos, sdk, прикладное по) . Ведущий разработчик защищенный сетевой коммутатор, кросс-разработка под linux, ПО для управляющего процессора(arm, c++, gcc, наноядро rtos, драйверы, прикладная логика и проч). Ведущий разработчик прикладное ПО, linux, wxWidgets, gcc, clang.

И это также твоё? Моя жизнь никогда не будет прежней

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

Кому надо разберётся. И да, язабан. Это, имхо, провокация

сам ты провокация. ты скрипт на питоне, что решил всех забанить и остаться только один.

сам сначала разбанься, и код свой выложи.

нафиг тебе вообще чужой код? научись уже свой писать.

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

И это также твоё? Моя жизнь никогда не будет прежней

мое. не мучайся так, а то жизни не будет вообще. и хватит спамить уже

alysnix ★★★
() автор топика

На Ютуб репорт отправил, так как ты, оказывается, незалетный пассажир, и правила знаешь. Плюнул в меня недоютубом и отсутствием сути темы (кода, нормального сравнения)? Получи ответку.

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

На Ютуб репорт отправил, так как ты, оказывается, незалетный пассажир, и правила знаешь.

в спортлото напиши еще… :)))

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

Этот не скрипт, вот забаньсядебил, возможно, скрипт (хотя тут для анонимов капча).

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

Напоминаю, ты пришёл на технический ресурс показать своё. При этом ты пришёл со ссылкой на Ютуб! Информации в твоём начальном после 0, сравнения 0. Или ты считаешь, что эта тема твой личный бложик? Может и так, я не знаю.

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

При этом ты пришёл со ссылкой на Ютуб!

и? а как мне выложить видос и показать его. или я должен текстом написать пять экранов и кидать сюда?

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

Закидывай, заодно посмотрю как оно в арче заведется, вроде ABI +- сходится, нужно только знать какие зависимости нужны.

давай завтра. сейчас уже поздно. я там бумажку еще напишу что-куда положить. ну и паблик линк дам с архивом. мне тоже интересно как оно на других системах заведется. из необходимого нужен cmake(без него билда не будет) и libclang-11(не будет всяких языковых фич). и wxWidgets рантайм.

alysnix ★★★
() автор топика

Ссылку на репу в студию или ваше очко уйдет в зрительный зал.

LongLiveUbuntu ★★★★★
()

и от того, что другие не нравились

Записываем: не понравились Code::Blocks, CLion, Qt Creator, Visual Studio Code, Emacs, Vim, Sublime Text, Gedit, Geany, Atom. Прям все не понравилось, и ничего не подошло.

Написал себе IDE для плюсов(строго под линукс), от лени

Да-да, от лени. Себя-то обманите, а других - нет. Написать что-то полезное просто не можете, а попонтоваться очень хочется. Ну а упомянуть, что напрограммировал от лени как тру-кул-хацкер - это, конечно же, святое.

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

Записываем: не понравились

разговаривать с анонимами, это все равно что разговаривать с голосами в голове. регтесь и пишите.

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

А для Modula-2 можешь запилить?

А смысл? На ней сейчас уж никто не программирует…ну космос наш там на ней какой-то программировали, но состояние на сегодня я не знаю. Проблем с ней особых то нет. если есть либа с парсером, чтобы дерево оттуда вытаскивать. Модула куда проще и продуманней чем плюсы. Разумеется в той части, которую она покрывает.

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

Открывай, не жмись. Завтра, допустим, попадёшь ты под трамвай, и с чем останутся твои пользователи?

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

и? а как мне выложить видос и показать его. или я должен текстом написать пять экранов и кидать сюда?

Твоё эго не влазит в мой 4к монитор. Ты не осилил до конца систему контроля версий, вики и/или пастбин? Вопрос на засыпку, чего ролик не в тикток? Он по времени не проходит, наверное?

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

Вопрос на засыпку, чего ролик не в тикток?

Ответ на засыпку: потому что на ютюбе. Давай еще вопросы.

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

На «основной» ответ такой же?

На основной вопрос будет и основной ответ. А где вопрос-то?

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

Реализована ли подсветка синтаксиса инкрементальным лексером или нет?

Сейчас подсветка синтаксиса берется от сцинтиллы. там простой, контекстно-свободный парсер. что такое «инкрементальный лексер» - я не знаю вообще.

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

А, ну это не интересно.

я уж говорил, что никакой «лексер», «инкрементальный» или нет, не сделает для плюсов идеальной подсветки. для этого нужен семантический анализ, а для такого анализа лексера недостаточно.

лексер это модуль, разбивающий входной поток на лексемы, контекстно-свободным образом. а все остальное делает парсер с его семанализом.

либо у нас разное понимание «лексеров»

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

Ты не осилил до конца систему контроля версий, вики и/или пастбин?

что значит - «до конца»?, приведи критерии достижения этого «конца». не бывает «концов» без четко сформулированных критериев их достижения. Формулируй! С флагом в руках.

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

Ты хочешь поговорить? Заведи жену. Мало? Заведи содержанку под свой кошелек.

Можно совмещать.

// Ещё раз, что здесь делает ссылка на Ютуб и ни одной ссылки на текстовый формат чего бы то ни было по теме?!

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

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

Для подсветки синтаксиса достаточно только потока токенов, а ast дерево, являющееся продуктом работы парсера нужно для всех прочих фич - таких как автодополнение, семантический анализ кода и прочее.

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

Большинство редакторов кода избегают использование/разработку инкрементальных лексеров, а просто прибегают к различным хакам.

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

Ещё раз, что здесь делает ссылка на Ютуб и ни одной ссылки на текстовый формат чего бы то ни было по теме?!

не уходи от формулировок! Хватит этих ненужных рефлексий и лирики, рассуждай строгими определениями. Итак. Тебе надо ссылку на «документ»? Каков формат документа, обьем, степень освещения вопроса, уровень детализации, с картинками или без. Печать круглая, заверено нотариусом? Формат A4? Шапки, футеры делаем? Цветовая гамма? Бумага мелованная? Переплет мягкий/жесткий. От всего этого зависит конечная цена изделия, между прочим.

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

Вот, как пример

Constructor of incremental parsers in Scala using PEG grammars.

а слово - «парсер» мы как бы и не заметили? парсер - не лексер. инкрементальные парсеры имеют место быть.

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

так… все .. мне надо исчезнуть часа на три. буду вечером. всем пока

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

Лексер - это парсер. Лексер читает поток символов и Парсит их в Токены. И передает их поток парсеру, который строит AST.

Открой хотя бы определение термина ПАРСЕР, или словарь с переводом сдова parse.

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

Завтра, допустим, попадёшь ты под трамвай, и с чем останутся твои пользователи?

Аннушка еще масло не пролила …

Может утонет?

anonymous
()

Не смотрите видео, там каталоги КАПСОМ названы. Ужос.

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

не уходи от формулировок!

Скорее всего о руководстве пользователя речь шла …

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

Лексер - это парсер. Лексер читает поток символов и Парсит их в >Токены. И передает их поток парсеру, который строит AST.

Открой хотя бы определение термина ПАРСЕР, или словарь с >переводом вдова parse.

Синтакси́ческий ана́лиз (или разбор, жарг. па́рсинг ← англ. parsing) в лингвистике и информатике — процесс сопоставления линейной последовательности лексем (слов, токенов) естественного или формального языка с его формальной грамматикой. Результатом обычно является дерево разбора (синтаксическое дерево). Обычно применяется совместно с лексическим анализом.

Синтаксический анализатор (жарг. па́рсер ← англ. parser) — это программа или часть программы, выполняющая синтаксический анализ.
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.