Компиляция текста в TI-BASIC

Итак, мы, учащиеся 10-го класса Центра передового опыта, должны купить себе калькулятор TI-84+. Это калькулятор от Техасские инструменты. Компания создала язык программирования высокого уровня под названием TI-BASIC (после быстрого поиска в Google это производное от оригинального языка BASIC). Я думаю, что достигаю только поверхности. Я чувствую, что я даже не ударил глину, поэтому я думаю, что я расплывчато отношусь к этой теме. На этой ноте извините, если мой язык неверен. :/

Мне удалось найти множество компиляторов, которые компилируют простой текстовый документ (.txt) прямо в документ программы TI 8 Series (.8Xp). Итак, мои вопросы:

  • Как создать свой собственный компилятор?
  • Какой низкоуровневый язык читает калькулятор?
  • При преобразовании я понимаю, что мне нужно будет использовать регулярные выражения, но во что мне его преобразовать?
  • Наконец, мне просто записать это в TI-BASIC и вставить в калькулятор?

Вещи, кажется, сильно смущают меня в этот момент. Тема достигла только поверхности моего разума.


person TheBrenny    schedule 12.02.2014    source источник
comment
Зачем вам писать свой собственный компилятор? Это ваша цель? Я не пользовался калькуляторами TI, но на графических калькуляторах Casio вы писали код BASIC прямо на калькуляторе (на калькуляторе была BASIC IDE). TI 84+ использует ЦП Z80 IIRC, и я думаю, что вы можете писать программы для него на сборке Z80, если хотите.   -  person Michael    schedule 12.02.2014
comment
Так что мне нужно узнать, какие команды Z80 связаны с командами TI-BASIC? Видишь ли, отсюда и мое замешательство. Я не играл с написанием низкоуровневого кода. Я всегда использовал high-level и компилировал его. Я провел еще немного исследований, но в моей голове возникают противоречия. Разве я не мог просто преобразовать слова в соответствующие им «токены», определенные TI, сохранить их как .8xp и решить проблему?   -  person TheBrenny    schedule 12.02.2014
comment
Если вы программируете на TI-BASIC, вам нужно только изучить TI-BASIC. Если вы хотите заниматься более низкоуровневым программированием, вам придется изучить любой язык, подходящий для этой задачи (например, C или ассемблер Z80).   -  person Michael    schedule 12.02.2014


Ответы (1)


Если вы действительно пытаетесь создать «компилятор» TI-BASIC для компьютера, вам нужно посмотреть, какие токены есть у всего. TI-BASIC работает на идее, что такие вещи, как If, Disp, на самом деле являются 1- или 2-байтовыми токенами, которые анализируются калькулятором при его запуске. Анализ означает, что каждая из них выполняет серию инструкций в реальном времени, что является относительно медленным процессом. (как сценарий). Вот список токенов. Так что на самом деле это просто вопрос преобразования всего в соответствующие токены. Кроме того, я действительно понятия не имею, как форматируется файловая структура .8xp, и вам придется это гуглить (многие люди сделали это, формы калькулятора, такие как Omnimaga может вам помочь).

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

Кроме того, как говорится в комментариях, базовым языком калькулятора на самом деле является ассемблер Z80 (имеет смысл, поскольку процессор — это Z80), и есть несколько языков, которые на самом деле переходят от токенов калькулятора к скомпилированным ассемблерам вроде C++, наиболее популярным и удивительно один из них был Axe Parser. Это полезно, если вы хотите работать с более низкоуровневыми функциями калькулятора без полного изучения ассемблера, но это требует от вас изучения языка Axe, что может быть сложно, если вы не знакомы с тем, как указатели и как хранятся данные. в памяти. Настоящая сборка может быть передана непосредственно в калькулятор как .8xp, но в другом формате, поэтому он знает, что данные на самом деле являются кодами операций, а не токенами, и позволит вам запустить его с помощью команды Asm(.

Надеюсь, это поможет.

person Lemon Drop    schedule 13.02.2014
comment
Я чувствую, что быстро могу сказать, что это правильный ответ. Но сейчас это кажется наиболее логичным. Я использую TokenIDE, но мне просто нравится ощущение, которое вы испытываете, когда действительно что-то завершаете. Я устанавливаю для себя слишком высокие стандарты, поэтому никогда не понимаю их. Спасибо за ответ, однако. Скорее всего, это поможет мне. :) - person TheBrenny; 13.02.2014
comment
Инструмент Cemetech SourceCoder также является хорошим выбором для разработки на ассемблере TI-BASIC, Axe или z80, но он имеет собственный синтаксис и требует регистрации учетной записи. - person lirtosiast; 17.08.2015
comment
Spork Interactive написала скрипт Python 2 для преобразования между 8xp и исходниками: tibasicdev.wikidot.com/forum/t-184793/ - person Lekensteyn; 20.10.2015