Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.221.163] |
|
Страницы: (7) [1] 2 3 ... 6 7 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Собираюсь разработать новый язык программирования Алмаз и реализовать транслятор для него на С++ и в С++. Основная причина сделать более надёжный язык по сравнению с С++, т.е. такой чтобы в одних случаях не давал ошибаться, а в других позволял быстро обнаружить ошибку. Буду выдавать информацию небольшими порциями.
Смешанной арифметики в этом языке не будет. Все приведения типа только явные. |
Сообщ.
#2
,
|
|
|
Цитата prografix @ Собираюсь разработать новый язык программирования Алмаз и реализовать транслятор для него на С++ и в С++. Основная причина сделать более надёжный язык по сравнению с С++, т.е. такой чтобы в одних случаях не давал ошибаться, а в других позволял быстро обнаружить ошибку. Буду выдавать информацию небольшими порциями. Смешанной арифметики в этом языке не будет. Все приведения типа только явные. Подобный язык уже есть, он называется - Java... |
Сообщ.
#3
,
|
|
|
Alex221
Не знал, что там всё так строго. В языке А будут следующие арифметические типы: знаковые целые - int8, int16, int32, int64, беззнаковые целые - uint8, uint16, uint32, uint64, с плавающей точкой - float32, float64, float80. Для преобразования типов предназначены встроенные функции названия которых состоит из символа подчёркивания и имени типа. Например, int64 a; int32 b; a = _int64 ( b ); В случае если приведение некорректно будет бросаться исключение. |
Сообщ.
#4
,
|
|
|
Так-с! Visual C++ 6.0 это хорошо!
Цитата Для преобразования типов предназначены встроенные функции названия которых состоит из символа подчёркивания и имени типа. Например, int64 a; int32 b; a = _int64 ( b ); В случае если приведение некорректно будет бросаться исключение. А как насчет сивольных типов? и их преобразования? |
Сообщ.
#5
,
|
|
|
Цитата maxim84_ @ А как насчет сивольных типов? и их преобразования? Основная идея, что символьный тип эквивалентен одному из беззнаковых целых. Например, 'a' имеет тип uint8. Но если поддерживать unicode, то тогда будет uint16. Над деталями пока размышляю. |
Сообщ.
#6
,
|
|
|
так секунду... ты хоть примерчик покажи как с ними работать! а то что я не совсем пойму...
|
Сообщ.
#7
,
|
|
|
maxim84_
Давай этот вопрос разберём позже, а сейчас вот что. Я представляю работу с транслятором так. Будет некоторое приложение в Windows, окно которого состоит из двух частей. При загрузке файла ( исходника ) он появляется в левом окне, а при нажатие на заданную кнопку ( или пункт в меню ) этот исходник транслируется в текст на другом языке, который появляется в правом окне. В нашем случае это будет: язык А -> С++. Сообщения об ошибках появляются тоже в правом окне. Причём это приложение можно будет использовать для разных пар языков. Возмёшься его сделать? ( Только основу, без трансляции ). Я в это время сделаю сайт, куда буду выкладывать документацию. |
Сообщ.
#8
,
|
|
|
в смысле основу? т.е. сам редактор?
а дебугер будет? слушай а почему в С++ модет лучше а asm? так код можно оптимизировать на любой прцессор. Добавлено а еще вопрос! как делать с поддрежко MFC или все ручками писать?? я пока начну на MFC Добавлено а вот че еще забыл! делать поддержку проектов или по только открывать по одному файлу. т.е. сделать как VB или что то типа старых языков типа QBasic -где возможность работать только с одним фалом? |
Сообщ.
#9
,
|
|
|
Цитата maxim84_ @ в смысле основу? т.е. сам редактор? Да. Цитата maxim84_ @ а дебугер будет? Пока нет. Всё равно на выходе будет С++, а не исполняемый код. Цитата maxim84_ @ слушай а почему в С++ модет лучше а asm? так код можно оптимизировать на любой прцессор. Потому-что 1) так проше 2) С++ универсальнее, чем ассемблер ( не завязан на железо ) 3) оптимизировать код - это другая задача, пусть ей занимаются Microsoft и т.д. Цитата maxim84_ @ Добавлено а еще вопрос! как делать с поддрежко MFC или все ручками писать?? я пока начну на MFC Добавлено а вот че еще забыл! делать поддержку проектов или по только открывать по одному файлу. т.е. сделать как VB или что то типа старых языков типа QBasic -где возможность работать только с одним фалом? С MFC проще. Пока по одному файлу. |
Сообщ.
#10
,
|
|
|
ок, задача ясна.....
|
Сообщ.
#11
,
|
|
|
Цитата prografix @ Будет некоторое приложение в Windows А чего сразу виндос? Вдруг язык будет интересен широким массам пингвинеров? Цитата prografix @ такой чтобы в одних случаях не давал ошибаться, а в других позволял быстро обнаружить ошибку. Цитата prografix @ Все приведения типа только явные. Читал-читал... Слушай, а зачем изобретать "новый велосипед"? Имхо лучше сделать хитрый парсер, который будет проверять соответствие типов. И "в поддержку" к нему - спецификацию какие типы рекомендуются к использованию. Все преобразования типа () парсером переделывать в static_cast<>() и проверять соответствие типов. По-моему будует очень полезная тулза. |
Сообщ.
#12
,
|
|
|
Kutushut
Лично мне нужно приложение в Windows. По поводу преобразования типов по умолчанию. Вначале я хотел запретить все, а теперь думаю, что в случае преобразования без потери информации можно разрешить. |
Сообщ.
#13
,
|
|
|
Цитата prografix @ Вначале я хотел запретить все Хм... Может ты сразу напишешь тут цель своего языка чтобы я не чесал репу насчет того зачем это надо? Я так понимаю, это что-то для мат. обеспечения? Потому как если, допустим, char не преобразовать к int, в поток его значение не выведешь... |
Сообщ.
#14
,
|
|
|
Цитата Kutushut @ Хм... Может ты сразу напишешь тут цель своего языка чтобы я не чесал репу насчет того зачем это надо? Я так понимаю, это что-то для мат. обеспечения? Потому как если, допустим, char не преобразовать к int, в поток его значение не выведешь... Цель такая ( программа-минимум ) - сделать язык и транслятор с него на С++, т.к. мне нужны программы на С++. Новый язык нужен для того, чтобы писать более надёжные программы ( меньше ошибок ). Это минимум, но из того может получиться гораздо большее. Цитата Kutushut @ Я так понимаю, это что-то для мат. обеспечения? Потому как если, допустим, char не преобразовать к int, в поток его значение не выведешь... Я думаю, что язык будет универсальным, как С++. Насчёт, второго предложения не понял. Тут расхождений с С++ особых не наблюдается. |
Сообщ.
#15
,
|
|
|
prografix, а может быть попробовать научиться на С++ более надежные программы писать? Да и что ты понимаешь под "более надежные программы с меньшим количеством ошибок"? Тут уже, по моему, все от кривизны рук программиста зависит, а не от мощности транслятора/компилятора...
|