![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Форумчанин
Регистрация: 25.01.2016
Сообщений: 105
|
![]()
Я сделал компилятор языка Brainfuck, вот его код:
Код:
Но при компиляции программы возникает ошибка. Цитата:
Транслировал вот эту программу: Код:
Последний раз редактировалось timcryt; 19.03.2016 в 14:40. |
|
![]() |
![]() |
![]() |
#2 |
xor esp, esp
Форумчанин
Регистрация: 11.02.2014
Сообщений: 135
|
![]()
Реализуй генерацию меток как-нибудь по другому. У тебя ошибка появляется из-за того, что твой компилятор по несколько раз в коде объявляет метку с одним и тем же именем.
Декрементить инкрементируешься счетчик - плохой тон, ошибку фиг найдешь, но происходит, на вскидку, из-за того, что когда компилишь ]]] у тебя до этого кода уже j когда-то был равен 11, сейчас же j = 14, а после компиляции j = 11, из-за чего объявляешь вновь ptr11 и он пихает ошибку. Попробуй переписать как-нибудь поумнее генерацию уникальных меток, не через j+=2 ... j--, ибо трэш. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 25.01.2016
Сообщений: 105
|
![]()
А как по другому можно генерировать метки?
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Добавлять в метку уникальный счетчкик - label1, label2, label3 и т.д.
Самое главное, вам надо будет отслеживать вложения конструкций [] и "запоминать" комплект меток для данной группы []... с помощью стека сделать это довольно просто - встреча [ сохраняем контекст в стеке, дойдя до ] вытаскиваем. |
![]() |
![]() |
![]() |
#5 |
gamer
Участник клуба
Регистрация: 09.05.2015
Сообщений: 1,549
|
![]()
А где ты взял Brainfuck?
Попробуй использовать другой набор символов. Например: o_o O_O ![]() ![]()
мой канал на Ютубе: youtube.com/@games-zz3ju/videos/
мой канал на Рутубе: rutube.ru/channel/31423139/videos/ В ожидании Кеши... |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 25.01.2016
Сообщений: 105
|
![]()
Сделал код с сохранением в стек (изменил в первом сообщении), но все равно FASM сообщает о повторяющейся метке
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 25.01.2016
Сообщений: 105
|
![]()
Brainfuck я взял на википедии (случайная статья по нему была). А другой набор символов я сейчас попробовал, не помогает.
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 25.01.2016
Сообщений: 105
|
![]()
Переделал код вот так:
Код:
Код:
с этим Код:
Код:
Где здесь ошибка? |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибки в компиляторе | bol2909 | C++ Builder | 15 | 24.02.2015 14:39 |
Ассемблер на компиляторе TASM | Кристюня | Помощь студентам | 0 | 24.01.2014 00:18 |
Ошибка в Компиляторе Visual Stdio 2008 | MsWindows | Общие вопросы C/C++ | 2 | 02.07.2011 09:48 |
Ошибка в компиляторе visual c++ | Kulikcha | Visual C++ | 0 | 30.06.2011 10:39 |
Ошибка в компиляторе | Dj Crazy | Помощь студентам | 2 | 19.12.2010 15:33 |