2014-02-12 3 views
1

10 세 Centre for Excellence 학생으로서 TI는 TI-84 + 계산기를 구입해야합니다. 이것은 Texas Instruments에 의한 계산기입니다. 이 회사는 TI-BASIC이라는 이름으로 고급 프로그래밍 언어를 만들었습니다 (기본 언어 BASIC에서 파생 된 빠른 Google 이후입니다.) 이제 저는 인터넷을 통해 선별 해 왔지만, 나는 단지 표면에 도달. 나는 내가이 주제에 대해 얼마나 모호한 지 점토를 치지도 못했던 것처럼 느낍니다. 그 말에, 제 언어가 정확하지 않다면 유감입니다. :/텍스트 - TI-BASIC 컴파일

필자는 TI 8 시리즈 프로그램 문서 (.8Xp)에 일반 텍스트 문서 (.txt)를 컴파일하는 많은 컴파일러를 접하게되었습니다. 그래서 내 질문은 :

  • 어떻게 자신의 컴파일러를 만들 수 있습니까?
  • 계산기는 어떤 저급 언어를 읽나요?
  • 변환 할 때 regexes를 사용해야 할 필요가 있음을 알았지 만 변환 할 대상은 무엇입니까?
  • 마지막으로 TI-BASIC에 그것을 쓰고 계산기 위에 올려 놓았습니까?

이 시점에서 상황이 나를 혼란스럽게합니다. 주제가 내 마음의 표면에 도달했습니다.

+0

왜 직접 컴파일러를 작성 하시겠습니까? 그게 너의 목표 야? 나는 TI의 계산기를 사용하지 않았지만 카시오의 그래프 계산기에서는 BASIC 코드를 계산기에 직접 작성했습니다 (계산기에 기본 IDE가 있음). TI 84+는 Z80 CPU IIRC를 사용하며 원하는 경우 Z80 어셈블리에서이 프로그램을 작성할 수 있다고 생각합니다. – Michael

+0

그래서 어떤 Z80 명령이 TI-BASIC 명령과 관련되어 있는지 알아야합니까? 이것이 내 혼란이 어디에서 오는가를 참조하십시오. 나는 저수준 코드를 쓰면서 놀지 않았다. 나는 항상 높은 수준을 사용하고 그것을 컴파일했습니다. 나는 조금 더 많은 연구를했지만, 내 마음에 상충되는 것들이 있습니다.TI에서 정의한 각각의 '토큰'으로 단어를 변환 할 수는 없지만 .8xp로 저장하고 문제가 해결 되었습니까? – TheBrenny

+0

TI-BASIC으로 프로그램하는 경우 TI-BASIC 만 배우면됩니다. 더 낮은 수준의 프로그래밍을 원할 경우 작업에 적합한 언어 (예 : C 또는 Z80 어셈블리)를 알아야합니다. – Michael

답변

2

컴퓨터 용 TI-BASIC "컴파일러"를 실제로 만들려면 모든 토큰이 무엇인지 확인해야합니다. TI-BASIC은 If, Disp과 같은 것들은 실제로 계산기가 실행될 때마다 파싱되는 1 또는 2 바이트 토큰이며, 각각의 명령은 상대적으로 느린 프로세스 인 실시간으로 일련의 명령을 실행한다는 의미입니다 (스크립팅 같은). Heres the Token List. 그래서 실제로 모든 것을 각각의 토큰으로 변환하는 것입니다. 과거에는 .8xp 파일 구조가 어떻게 형식화되어 있는지 전혀 알지 못했지만 많은 사람들이 그것을 수행 했으므로 Google 양식을 작성해야했습니다. Omnimaga과 같은 계산기 양식을 사용하면 도움이됩니다.

컴퓨터에서 하나를 만들고 싶다면 TokenIDE을 사용하는 것이 가장 좋습니다. 제 생각에는 다른 것이 있습니다.

덧글에서 언급했듯이 계산기 기본 언어는 실제로 Z80 어셈블리입니다 (CPU가 Z80이므로 의미가 있습니다). 실제로 계산기 토큰에서 C++와 같은 컴파일 된 어셈블리 종류로 이동하는 언어가 몇 가지 있습니다. 가장 인기 있고 놀라 울 정도로 디자인 된 것은 Axe Parser입니다. 이것은 실제로 어셈블리를 완전히 배우지 않고 계산기의 더 낮은 수준의 기능을 사용하고자 할 때 유용하지만, 포인터와 데이터 저장 방법에 익숙하지 않은 경우 까다로울 수있는 Ax 언어를 배워야합니다 기억에. 실제 어셈블리는 .8xp로 계산기에 직접 전송할 수 있지만 형식이 다른 형식이므로 데이터가 실제로는 토큰이 아닌 opcode라는 것을 알고 있으므로 Asm( 명령을 사용하여 실행할 수 있습니다.

희망이 있습니다.

+0

나는 이것이 옳은 대답이라고 판단하는 것이 빠르다고 느낍니다. 하지만 지금은 가장 논리적 인 것 같습니다. 나는 TokenIDE를 사용해 왔지만, 실제로 뭔가를 완성 할 때 얻는 감각을 좋아한다. 나는 표준을 너무 높게 책정했기 때문에 결코 그것을 얻지 못한다. 그래도 고마워. 아마 나를 도울 것입니다. :) – TheBrenny

+0

Cemetech의 도구 [SourceCoder] (https://www.cemetech.net/sc/)는 TI-BASIC, Axe 또는 z80 어셈블리에서 개발하기에 좋은 선택이지만 자체 구문이 있으므로 계정. – lirtosiast

+0

Spork Interactive는 8xp와 소스를 변환하는 Python 2 스크립트를 작성했습니다. http://tibasicdev.wikidot.com/forum/t-184793/python-ti83-basic-converter – Lekensteyn