Воскресенье, 24 Ноября 2024, 14:55

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
XakepДата: Воскресенье, 16 Марта 2014, 10:30 | Сообщение # 601 | Тема: Aphalin Compiler
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата vasua99 ()
Или так(что в общем то так же как и С++, но никто не жаловался, да и короче):

не, это в паскале так, в C++ так: int = (int) b;
ну у меня в прицнипе как раз как в дельфи сейчас, просто возникли трудности, точнее некоторые моменты с указателями не удобно делать.
XakepДата: Воскресенье, 16 Марта 2014, 03:14 | Сообщение # 602 | Тема: Aphalin Compiler
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата Wookie ()
Питоноподобный же?

на питоне никогда не программировал )

Добавлено (16.03.2014, 03:14)
---------------------------------------------
как лучше сделать синтаксис для sizeof/offsetof и преобразования типов:
1 вариант:

Код

   b : float;
   a : int = cast(int) b;
   sizeof(a); offsetof(b); alignof(a);


2 вариант:
Код

   b : float;
   a : int = b.cast(int);
   a.size; b.size; a.align;
XakepДата: Воскресенье, 16 Марта 2014, 03:10 | Сообщение # 603 | Тема: Музыкальные вкусы
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата 1cebеrg ()
Почему ты думаешь, что хоть кому-то не насрать на тебя и твои музыкальные вкусы?

это форум, иногда людям хочется просто пообщаться, чем тебе плоха тема общения?
XakepДата: Суббота, 15 Марта 2014, 21:53 | Сообщение # 604 | Тема: Just
めちゃくちゃちゃ
Сейчас нет на сайте
интересный платформер, как там успехи с игрой?
XakepДата: Суббота, 15 Марта 2014, 17:58 | Сообщение # 605 | Тема: [2D] Overthrow of Darkness
めちゃくちゃちゃ
Сейчас нет на сайте
Выглядит очень круто!
XakepДата: Суббота, 15 Марта 2014, 08:40 | Сообщение # 606 | Тема: Своя ОС на C#
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата Vinchensoo ()
С- тот же низкий уровень, только с человеческим лицом.

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


Сообщение отредактировал Xakep - Суббота, 15 Марта 2014, 08:42
XakepДата: Пятница, 14 Марта 2014, 21:21 | Сообщение # 607 | Тема: Своя ОС на C#
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата OpenGOO ()
Xakep, современные ОС уже давно как на ассемблере не пишут.

это понятное дело, но вряд ли кто захочет писать полноценную операционку, скорее для получения опыта и знаний как все устроенно на самом низком уровне, поэтому я и сказал что на ассемблере в таком случае лучше писать, потому-что знаний и понимания больше получишь.
XakepДата: Пятница, 14 Марта 2014, 20:10 | Сообщение # 608 | Тема: Своя ОС на C#
めちゃくちゃちゃ
Сейчас нет на сайте
если уж и пытаться писать свою, то лучше на ассемблере, больше чему научишься.
XakepДата: Среда, 12 Марта 2014, 22:33 | Сообщение # 609 | Тема: OS
めちゃくちゃちゃ
Сейчас нет на сайте
Linux Debian Wheezy

Сообщение отредактировал Xakep - Среда, 12 Марта 2014, 22:33
XakepДата: Среда, 12 Марта 2014, 18:19 | Сообщение # 610 | Тема: Aphalin Compiler
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата BellPlayer ()
А llvm позволяет провести такие манипуляции или самому придётся с нуля возиться с образами?

позволяет, там только не в ассемблер генерировать код нужно будет, а в LLVM IR, описание есть здесь: http://llvm.org/docs/LangRef.html
а дальше можно либо подключить библиотеку llvm и в коде уже все манипуляции произвести, либо бинарники использовать.
XakepДата: Среда, 12 Марта 2014, 18:14 | Сообщение # 611 | Тема: Aphalin Compiler
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата BellPlayer ()
А как осуществляется сборка в PE исполняемый файл?
В ссылках вроде только elf?

точно так же как и в elf, только у pe другая структура, погугли )
XakepДата: Среда, 12 Марта 2014, 17:29 | Сообщение # 612 | Тема: Cерьёзная музыка
めちゃくちゃちゃ
Сейчас нет на сайте
Очень понравилась музыка! не плохо было бы написать цену за минуту трека.
XakepДата: Среда, 12 Марта 2014, 17:28 | Сообщение # 613 | Тема: Aphalin Compiler
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата BellPlayer ()
Рефлексия есть? Планируется?

нет, но планируется добавить мета программирование.
Цитата BellPlayer ()
Парсер писали с помощью бизона, яка или чего другого? Если да, то как справились с проблемой в else statement LL1?

нет я через C++ делал парсер, но есть ссылки на статьи:
Компиляция. 1: лексер
Компиляция. 2: грамматики
Компиляция. 3: бизон
Компиляция. 4: игрушечный ЯП
Компиляция. 5: нисходящий разбор
Компиляция. 5 и 1/2: llvm как back-end (отступление от цикла, показывает как реализовать все что делается дальше средствами LLVM)
Компиляция. 6: промежуточный код
Компиляция. 7: назначение регистров
Компиляция. 8: оптимизация
Компиляция. 9: исполняемый код
Компиляция. 10: компиляция в ELF

Добавлено (12.03.2014, 17:28)
---------------------------------------------

Цитата BellPlayer ()
Компиляция в x64 поддерживается?

поддерживается )
XakepДата: Среда, 12 Марта 2014, 16:40 | Сообщение # 614 | Тема: Aphalin Compiler
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата Akyltist ()
а можно взглянуть на rtl типа include "sys.apc";
потому как что-то уж слишком хорошо))))) хотелось бы посмотреть оберки new (alloc malloc realloc) в общем кросплатформенность как обеспечивается.

менеджер памяти не писал, и думаю что не буду писать, возьму готовый какойнить, потому-что на эту тему пишут целые исследования проводят и научные работы пишут, пока что сделан через пул, позже выложу код. ) кроссплатформенность обеспечивается через макросы: $ifdef linux / darwin / win
но если так интересно то вот все модули которые я пока что сделал, на данный момент пишу opengl.apc.
sys.apc
math.apc
glfw3.apc
string.apc

а все хорошо так выглядит благодаря llvm;
Цитата Akyltist ()
PS: а есть что то типа switch case ?

есть конечно, вот пример:
Код

  case a of
   0 : a = 2; break;
   2 : a = 3; break;
   default : a = 0;
  end;


Цитата Akyltist ()
что с поддержкой операторов сдвига

сдвиг вправо: >>
сдвиг влево: <<

Цитата Akyltist ()
появились ли асм вставки (AT&T or Intel), если нет, то есть ли возможность включения бинарного потока в исполняемый файл? типо:

асм нету, будет в будущем, с ним некие сложности есть с переменными ) бинарного потока тоже нет.
XakepДата: Среда, 12 Марта 2014, 07:37 | Сообщение # 615 | Тема: [GAME] Mage in Cage | Android
めちゃくちゃちゃ
Сейчас нет на сайте
выглядит все очень круто, и геймплей хороший, щас скачаю себе попробую поиграть )
XakepДата: Среда, 12 Марта 2014, 07:25 | Сообщение # 616 | Тема: Aphalin Compiler
めちゃくちゃちゃ
Сейчас нет на сайте
ну вот пример создания окошка:
Код

include "sys.apc";
include "math.apc";
include "glfw3.apc";
include "opengl.apc";
include "string.apc";
include "memory.apc";
//
def main()
    glfwInit();

    win : ^GLFWwindow = glfwCreateWindow (640, 480, "Hello World with OpenGL :)", nil, nil);
       
    glfwMakeContextCurrent (win);
    glfwSwapInterval (0);

    t0 : float = glfwGetTime();
    fps, frames : float = 0;

    while (glfwWindowShouldClose(win) != 1) do
     t : float = glfwGetTime();

     if ((t-t0) > 1) || (frames == 0) then
      fps = frames / (t-t0);
      t0 = t; frames = 0;
     end;

     frames++;

     glfwSwapBuffers (win);
     glfwPollEvents();
    end;

    glfwDestroyWindow (win);
    glfwTerminate();
end;


asm код:
Код

  .def  @feat.00;
  .scl    3;
  .type    0;
  .endef
  .globl    @feat.00
@feat.00 = 1
  .def  _main;
  .scl    2;
  .type    32;
  .endef
  .text
  .globl    _main
  .align    16, 0x90
_main:                    # @main
# BB#0:                    # %code
  push    esi
  sub    esp, 20
  call    _glfwInit
  mov    dword ptr [esp + 16], 0
  mov    dword ptr [esp + 12], 0
  mov    dword ptr [esp + 8], L_str
  mov    dword ptr [esp + 4], 480
  mov    dword ptr [esp], 640
  call    _glfwCreateWindow
  mov    esi, eax
  mov    dword ptr [esp], esi
  call    _glfwMakeContextCurrent
  mov    dword ptr [esp], 0
  call    _glfwSwapInterval
  call    _glfwGetTime
  fstp    st(0)
  jmp    LBB0_2
  .align    16, 0x90
LBB0_1:                    # %while.do
                    #   in Loop: Header=BB0_2 Depth=1
  call    _glfwGetTime
  fstp    st(0)
  mov    dword ptr [esp], esi
  call    _glfwSwapBuffers
  call    _glfwPollEvents
LBB0_2:                    # %while.do
                    # =>This Inner Loop Header: Depth=1
  mov    dword ptr [esp], esi
  call    _glfwWindowShouldClose
  cmp    eax, 1
  jne    LBB0_1
# BB#3:                    # %while.end
  mov    dword ptr [esp], esi
  call    _glfwDestroyWindow
  add    esp, 20
  pop    esi
  jmp    _glfwTerminate          # TAILCALL

  .section    .rdata,"r"
  .align    16                      # @str
L_str:
  .asciz    "Hello World with OpenGL :)"



Сообщение отредактировал Xakep - Среда, 12 Марта 2014, 07:31
XakepДата: Вторник, 11 Марта 2014, 21:53 | Сообщение # 617 | Тема: Secret Operation: Winter Ops [3D, FPS]
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата GOLDSHEEPSupport ()
Если до этого мы использовали Raycasting Game Maker, использующий технологию отбрасывания лучей

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

Добавлено (11.03.2014, 21:53)
---------------------------------------------
кстати pre alpha footage очень понравился, хоть графика 2000х годов, зато все сделано со вкусом

Сообщение отредактировал Xakep - Вторник, 11 Марта 2014, 21:43
XakepДата: Вторник, 11 Марта 2014, 21:48 | Сообщение # 618 | Тема: Aphalin Compiler
めちゃくちゃちゃ
Сейчас нет на сайте
по синтаксису опирался в основном на lua и ruby, такой вот получился, для обратного цикла нужно указать шаг -1:
Код
for i : int = 10, 0, -1 do

endif не красиво и больше буковок )
я уже много кода написал на нем, и вроде читается все хорошо, может еще доработаю синтаксис )
а так спасибо за отзыв
Цитата Akyltist ()
PS: какие файлы на выходе по размеру.

2 кб пока что


Сообщение отредактировал Xakep - Вторник, 11 Марта 2014, 21:49
XakepДата: Вторник, 11 Марта 2014, 19:39 | Сообщение # 619 | Тема: Aphalin Compiler
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата shubniggurath
Зачем? все равно никто кроме автора использовать не будет )

поживем увидим ))

Добавлено (23.01.2014, 22:16)
---------------------------------------------
Полностью переработал синтаксис языка: убрал ключевые слова procedure, function, constructor, destructor, заменил на одно ключевое слово def, переменные можно объявлять где угодно, а не в блоке var, так же убрал это ключевое слово, убрал присваивание := и заменил на =, +=, -=, --, ++ ... Нескольок примеров кода:


так же в будущем планирую написать хороший макропроцессор, пример макроса для развертки циклов:


Добавлено (11.03.2014, 19:39)
---------------------------------------------
почти доделал первую версию языка программирования ) через неделю-две выложу тестовую версию компилятор, надеюсь найдутся тестеры )


Сообщение отредактировал Xakep - Среда, 12 Марта 2014, 09:22
XakepДата: Суббота, 08 Марта 2014, 16:58 | Сообщение # 620 | Тема: Почему BGE не популярен?
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата giperion ()
Но обосновать не хочешь. Дело твое. Я просто привел наглядный пример.

этот пример мог на самом современном железе запускаться, тут нужно самому щупать. Обоснования здесь есть: http://blenderartists.org/forum/showthread.php?216916-unity-versus-Blender-Game-Engine
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг