![]() |
![]() |
|
.Net: PascalABC.Net - будущее программирования на Паскаль под .Net ₽ |
☑ | ||
---|---|---|---|---|
0
jbond
23.11.06
✎
10:45
|
Мой брат перед выездом полностью дописал ядро компилятора Pascal под .Net.
http://it.mmcs.rsu.ru/modules.php?name=Forums&file=viewtopic&t=434 |
|||
1
jbond
23.11.06
✎
10:47
|
По всем позициям этот компилятор обогнал Борландовский под .Net и даже под Win32 (это заслуга уже .Net 2.0)
Ожидаемая дата выхода - Май 2007 Борланд готовься - тебя съедят заживо... |
|||
2
jbond
23.11.06
✎
10:51
|
Зы. Вообще-то во время разработки компилятора было замечено:
1) .Net - наилучшая на сегодня система разработки ПО (не БД!) 2) Паскаль - самый отстойный язык программирования (но это не мешает ему быть стандартом де-факто для обучения в нашей стране) |
|||
3
Иде я
23.11.06
✎
10:53
|
ну-ну...
|
|||
4
jbond
23.11.06
✎
10:55
|
По быстодействию он не уступает нативным win32 приложениям откомпилированным в Делфи 7
|
|||
5
skunk
23.11.06
✎
10:57
|
писец как у дятлов крышу рвет
|
|||
6
JCage
23.11.06
✎
11:19
|
(0) А зачем оно надо? Велосипед?
|
|||
7
jbond
23.11.06
✎
11:21
|
(5) - сможешь написать лучше?
|
|||
8
jbond
23.11.06
✎
11:24
|
(6) - какой велосипед? С++ - велосипедов - дочерта, а Паскаль под .Нет - только у Борланд. Да и то он - качества ниже среднего.
Под Win32 - только FreePascal - но у него устаревшая среда разработки (хотя как компилятор он очень хорош) |
|||
9
skunk
23.11.06
✎
11:26
|
да нет... куда мне до команды из 2000 программеров, а не специалистов...
а со специалистами тягатся... тоже не могу... у них мед неправильный... |
|||
10
jbond
23.11.06
✎
11:27
|
Для обучения Паскалю в нашей стране в подавляющем числе случае используется Турбо Паскаль 14-летней давности...
Из современного - фактически нет сред разработки, пригодных для обучения... |
|||
11
jbond
23.11.06
✎
11:28
|
(9) - этот компилятор фактически написан 1-м программистом
|
|||
12
skunk
23.11.06
✎
11:28
|
да ну... серьезно что ли?
|
|||
13
DGorgoN
23.11.06
✎
11:29
|
TMTPascal.net - тоже уже есть. Если что..
|
|||
14
skunk
23.11.06
✎
11:29
|
(11)я и говорю... куда мне до вас... вы целых 2000 программеров из борланда обскакали... одно слово специалисты...
|
|||
15
DGorgoN
23.11.06
✎
11:30
|
(13) в 2-м за пару месяцев. Короче ждем-с..
(8) А почему не БД? |
|||
16
DGorgoN
23.11.06
✎
11:30
|
мая 2007 года - как оптимистично звучит :)
|
|||
17
jbond
23.11.06
✎
11:31
|
http://www.tmt.com/net.htm - этот что ли?
|
|||
18
skunk
23.11.06
✎
11:31
|
название какое-то неправильно только... надо было типа Паскаль007 или Паскаль005
|
|||
19
skunk
23.11.06
✎
11:32
|
и тогда точно ребята из борланада у вас лицензию запокуплять будут... а может быть и сама МС...
|
|||
20
DGorgoN
23.11.06
✎
11:36
|
(17) да, то..
|
|||
21
jbond
23.11.06
✎
11:40
|
(20) - а где его скачать можно?
Основная страница проекта PascalABC.Net: http://pascalabc.mmcs.rsu.ru/ |
|||
22
skunk
23.11.06
✎
11:40
|
интересно а твой братишка как лексемы разбирал... какой алгоритм использовал...
|
|||
23
skunk
23.11.06
✎
11:41
|
сколько проходный компилятор... и линковщик в нем уже встроен... или надо отдельно линковать
|
|||
24
DGorgoN
23.11.06
✎
11:42
|
(22) Берем VB.Net. Заменяем некоторые слова и убираем ковычки. Делаем IDE для свежеиспеченного языка программирования..
|
|||
25
jbond
23.11.06
✎
11:44
|
Здесь немного устаревшая версия:
http://pascalabc.mmcs.rsu.ru/versions/PABCNetv002.zip |
|||
27
skunk
23.11.06
✎
11:45
|
(24)тама нету IDE
|
|||
28
skunk
23.11.06
✎
11:47
|
1 место на студенческой конференции
|
|||
29
DGorgoN
23.11.06
✎
11:47
|
(27) Где?
|
|||
31
DGorgoN
23.11.06
✎
11:48
|
8-\
|
|||
32
coder1c80
23.11.06
✎
11:49
|
нда... хотя бы страничку приличную сделали, что ли...
|
|||
33
DGorgoN
23.11.06
✎
11:51
|
Интересно, а этот паскаль работает быстрее чем c#? или vb.net?
|
|||
35
DGorgoN
23.11.06
✎
11:55
|
Я всё таки не буду сильно ругаться. может перед нами новый "Билл Гейтс"!
|
|||
36
romix
модератор
23.11.06
✎
11:55
|
(2) > .Net - наилучшая на сегодня система разработки ПО (не БД!)
А можно поподробнее насчет БД? В чем косяк? |
|||
39
Salvador Limones
23.11.06
✎
12:02
|
Хммм. jbond решил напоследок понтануться?
|
|||
40
jbond
23.11.06
✎
12:06
|
Ага! Ну все, всем пока!
|
|||
42
DGorgoN
23.11.06
✎
12:20
|
(36) Уже спрашивал..
|
|||
43
DarkStar
27.11.06
✎
21:12
|
На вопросы отвечает один из разработчиков ядра PascalABC.NET
jbond писал:"этот компилятор фактически написан 1-м программистом" В разработке системы программирования PascalABC.NET заняты 6 человек. Ядро(компилятор) разрабатывают трое. Уже двое, после того как уехал Бондарев Иван. Бондарев Иван полностью реализовал генератор EXE кода под платформу .NET, идею компилированных модулей PCU, а также некоторые другие алгоритмы. skunk писал: "интересно а твой братишка как лексемы разбирал... какой алгоритм использовал..." Синтаксическим анализатором занимаюсь я. Для генерации парсера была использована система GoldParserBuilder - LR генератор синтаксических анализаторов. skunk писал: "сколько проходный компилятор... и линковщик в нем уже встроен... или надо отдельно линковать" В смысле прохода по исходному коду программы - одно проходный. т.к. омпиляция разделена на три независимых этапа: 1)Синтакчический анализ и построение синтаксического дерева 2)Семантический анализ и построение из синтаксического дерева семантического дерева 3)Генерация кода по семантическому дереву Процесс линковки встроен. |
|||
44
Ay49Mihas
28.11.06
✎
04:43
|
(5) В кои-то веки с skunk согласен (DarkStar, не относи к себе)
(43) Народ велосипедит? Вроде есть IronPython для .NET, после питона зачем вообще паскаль нужен? Лучше бы портанули flex/yacc под .NET, граждане в винде заценили бы утилитки. А так --- респект, дело трудное. |
|||
45
skunk
28.11.06
✎
05:27
|
(43)получается что трехпроходный... или этому сейчас в институтах не учат
|
|||
46
Кецалькоатль
28.11.06
✎
14:00
|
На .NET компилятор написать - раз плюнуть. Там в библиотеке классы для построения дерева кода есть, а MSIL код они сами построят и в сборку сохранят.
|
|||
47
DGorgoN
28.11.06
✎
14:09
|
46 +1
|
|||
48
DarkStar
28.11.06
✎
17:24
|
2Кецалькоатль
Дисскуссия на эту тему с Вами считаю бессмысленной. Вот когда Вы напишете компилятор по возможностиям равный компилятору Delphi 8(который, как извесно, под .NET), тогда и обсудим с Вами, скольколько раз для этого надо плюнуть. |
|||
49
Кецалькоатль
29.11.06
✎
08:25
|
Когда строили компиляторы в native, основная проблема была в генерации ассемблерного кода.
В .NET задача облегчается, и основной проблемой становится анализ синтаксиса и семантики. Далее сгенерировать MSIL по построенному дереву кода (а его можно строить прямо в процессе анализа исходного текста) вообще не представляет никаких трудностей. Скажу, что на .NET у меня написан компилятор с декларативного скриптого языка, ничем не напоминающего ООП и процедурные языки. Пришлось продумать иерархию и соответствия классов. А классы Delphi .NET можно компилировать практически 1 к 1. |
|||
50
DarkStar
29.11.06
✎
13:16
|
Мы ничего не перегоняем. У нас свои деревья, гоним IL код мы по ним. Мы сначало использовали готовые классы семантического дерева, но выяснилось что компилятор получается медленным(компиляция медленна) и не гибким. Сечас генератор пользуется ILGenerator.Emit()(в Reflection.Emit). Генерация кода дествительно во много раз легче асемблерного, т.к. IL код уже имеет команды вызова виртуальных функций и другие высогоуровневые возможности(и не надо регистры оптемизировать, чтоб их!). Я могу говорить т.к. у нас написан генератор обычного нативного(win32) кода, для языка Паскаль без классов(писал его Бондарев Иван).
Т.к. в нашем компиляторе компиляция разделена на три независемых этапа то паралельно пришутся все три часи компилятора. Синтакический анализатор и кодогенератор уже готовы. Cейчас основная работа ведется в семантическом анализаторе. Семантический анализ очень сложен в языках высого уровня(таких как Delphi,C#...). Небуду вдаваться в подробности, но поверьте мне - там настоящие джунгли. Также достоинства такого разделения следуйщие:(алгоритмы обработки деревьев отделены от самих деревьев с помошью концепции визиторов) 1)для подключения нового синаксического анализатора в двух других частях менять ничего не нужно. Т.е. можно написать парсер своего языка и компилятор подключит его как динамическую dll. 2)тоже самое можно проделывать с генератором кода: можно написать свой визитор-интерпретатор и код будет не гнаться в EXE а интерпретироваться, или написать кодогенераторы под другие платформы. |
|||
51
Кецалькоатль
30.11.06
✎
08:16
|
Ну молодцы, что еще сказать :)
Делитесь опытом, а не только готовым компилятором :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |