forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   Создание языка (http://forum.boolean.name/showthread.php?t=565)

kortesfil 14.01.2006 16:58

Незнаю направильном месте создаю тему или нет,если что перенесите=)
А можно ли самому сделать язык програмирования?Например на русском языке.Не такой глобальный язык как си++ или паскаль,а простенький ну например для создания простеньки 2D игр.

Jet 14.01.2006 21:26

Можно. Их ведь делают :) Тот же 1С к примеру.
Другое дело, что для этого тебе желательно пройти хотя бы базовый курс Теории Языков Программирования + Теории Автоматов - это 2 года в универе (2-й и 3-й курсы). После этого ты сможешь НАЧАТЬ писать свой язык :)

SubZer0 14.01.2006 22:27

а если без учебы, то попробуй для начала написать скриптовый язык... чтоб были скрипты на все случаи жизни... тут узнаешь "все" проблемы и подвожные камни... потом можно ужо будет и за собственный язык браться :)

alcosholik 14.01.2006 23:07

Для создания простеньких 2Д игр нужна графическая система: движок какой-нибудь или API. Также нужно знать, как минимум, С или Дельфи. На Бэйсике вряд ли напишешь :)

У меня нет опыта в таком деле, но мне кажется, что одним из самых сложных моментов является написание компилятора. Так что без теории, как говорит Jet, не обойтись.
Да и с проверкой синтаксиса повозиться придется.

jimon 14.01.2006 23:16

за основу asm
за основу 2 - с++ по подобию басика с вставками asmа
и пошол :)

ps. можно но ненужно
на компиляторе просто запаришся, и вообще запаришся :)

ps2. нефиг изобретать велосипеды !

AsmLover 15.01.2006 01:30

Чтобы оценить свои силы, надо попробовать написать что-нибудь простенькое (для очень опытных программистов) типа

http://www.iwriteiam.nl/Ha_BF.html

Без серьезной основы (спецобразования или яростного самообразования) у тебя ничего не получится. Если ты не гений, конечно.

kortesfil 15.01.2006 08:54

Я нихочу ничего писать ,никакой язык=) а как можно скриптовый написать? это я так интересуюсь.

Платон 15.01.2006 12:04

Вложений: 2
Вот тебе скрипт-двиг для блица, изучай, там вроде все понятно написано :)

kortesfil 15.01.2006 12:05

Спасибо!=)!!!!

Jet 15.01.2006 14:05

2 AlkoSholik: на самом деле можно компилятор не писать, как это сделано в БлитцМаксе например. достаточно транслировать код в ассемблерный и дальше использовать ассемблерный компилятор. естественно, это не самый эффективный вариант, но - "дешево и сердито". А вот ситнаксический и лексический разбор - вот это по-настоящему "весело"...

2 AsmLover: я курсовую только что сдал - написание транслятора для этого языка :glag: осталось экзамен сдать - это сложнее :lol:

jimon 15.01.2006 14:41

транслировать код в асемблерный несложно... да и вообще напрямую в машиный даже несложно... а вот разбор мат. операций :( ужс... я на етом собак 20 сьел :) а в чем сложность синтаксического разбора ?
главное код преобразовать по правилам... а потом уже его по быстренькому разобрать :)

if a = b then c = b

Код:

cmp a,b
jne superpupermegagotometkadlanastoyashegoruskogocompilatora1
mov c,b
superpupermegagotometkadlanastoyashegoruskogocompilatora1:

:)

kortesfil 15.01.2006 19:00

я вообще не понимаю о чём вы говорите=) 8)

impersonalis 15.01.2006 19:11

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

alcosholik 15.01.2006 21:21

impersonalis
Ну мы же не гении :)

jimon 15.01.2006 22:34

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

вот код реальный как мат операция :)
a = b +( c *( d -( e /( q *(( z -( b^2 ) +s ) *f ) /e) +t ) -u ) +l )
на такой примерно операции я и тупил


Часовой пояс GMT +4, время: 06:05.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot