|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.03.2016, 22:06 | #1 | |
Форумчанин
Регистрация: 25.01.2016
Сообщений: 105
|
Ошибка в компиляторе
Я сделал компилятор языка Brainfuck, вот его код:
Код:
Но при компиляции программы возникает ошибка. Цитата:
Транслировал вот эту программу: Код:
Последний раз редактировалось timcryt; 19.03.2016 в 14:40. |
|
19.03.2016, 00:18 | #2 |
xor esp, esp
Форумчанин
Регистрация: 11.02.2014
Сообщений: 135
|
Реализуй генерацию меток как-нибудь по другому. У тебя ошибка появляется из-за того, что твой компилятор по несколько раз в коде объявляет метку с одним и тем же именем.
Декрементить инкрементируешься счетчик - плохой тон, ошибку фиг найдешь, но происходит, на вскидку, из-за того, что когда компилишь ]]] у тебя до этого кода уже j когда-то был равен 11, сейчас же j = 14, а после компиляции j = 11, из-за чего объявляешь вновь ptr11 и он пихает ошибку. Попробуй переписать как-нибудь поумнее генерацию уникальных меток, не через j+=2 ... j--, ибо трэш. |
19.03.2016, 08:06 | #3 |
Форумчанин
Регистрация: 25.01.2016
Сообщений: 105
|
А как по другому можно генерировать метки?
|
19.03.2016, 11:11 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Добавлять в метку уникальный счетчкик - label1, label2, label3 и т.д.
Самое главное, вам надо будет отслеживать вложения конструкций [] и "запоминать" комплект меток для данной группы []... с помощью стека сделать это довольно просто - встреча [ сохраняем контекст в стеке, дойдя до ] вытаскиваем. |
19.03.2016, 14:31 | #5 |
gamer
Участник клуба
Регистрация: 09.05.2015
Сообщений: 1,550
|
А где ты взял Brainfuck?
Попробуй использовать другой набор символов. Например: o_o O_O %| и т.д.
мой канал на Ютубе: youtube.com/@games-zz3ju/videos/
мой канал на Рутубе: rutube.ru/channel/31423139/videos/ В ожидании Кеши... |
19.03.2016, 14:40 | #6 |
Форумчанин
Регистрация: 25.01.2016
Сообщений: 105
|
Сделал код с сохранением в стек (изменил в первом сообщении), но все равно FASM сообщает о повторяющейся метке
|
19.03.2016, 14:50 | #7 |
Форумчанин
Регистрация: 25.01.2016
Сообщений: 105
|
Brainfuck я взял на википедии (случайная статья по нему была). А другой набор символов я сейчас попробовал, не помогает.
|
19.03.2016, 18:24 | #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 |