Future BASIC

FutureBAS
Future Basic (Future Basic)
FutureBASIC logo.png
패러다임절차
개발자브릴러 소프트웨어
안정된 릴리스
Future Basic 7.0.6
2021년 7월 25일, 12개월 전(2021-07-25)
OSMac OS
면허증.프리웨어
웹 사이트www.brilorsoftware.com/FB/

FutureBasicApple Inc.의 Macintosh용 무료 BASIC 컴파일러입니다.

PowerPC 마이크로프로세서인텔 마이크로프로세서 양쪽통합개발환경(IDE), 에디터, 프로젝트 매니저 등으로 구성되어 있습니다.2008년 1월 1일부터 패키지에는 FutureBasic 구문을 C로 변환하고 자동으로 Apple의 GNU 컴파일러 컬렉션(gcc)을 호출하는 번역자 FBtoC가 포함되어 있습니다.C에 대한 지식은 필요 없습니다.FutureBasic은 Mac OS 라이브러리 호출에 대한 액세스를 지원합니다.

역사

FB는 1980년대 중반[1] Andrew Gariepy에 의해 개발되어 크로스 플랫폼 개발 시스템으로 구상된 ZBasic으로 시작되었다.머지않아 크로스 플랫폼 측면은 Macintosh 개발에 집중하기 위해 폐지되었습니다.ZBasic은 이 제품의 사용 편의성과 컴파일러에 의해 생성되는 촘촘하고 빠른 코드(수작업으로 제작된 68K 어셈블리 언어 코드를 광범위하게 사용하는 전설적 작업)를 칭찬하는 개발자들의 열렬한 지지를 얻었습니다.1992년, 그리고 ZBasic 버전[2] 5의 다음 단계로, Gariepy 형제 Andy, Mike, Peter와 애리조나주 Tucson에 기반을 둔 친구들의 회사인 Zedcor Inc.는 Future B를 발표했다.ASIC(나중에 FBI로 [3]불림).1995년 Chris Stasny가 이끄는 Staz [4]Software는 미래 시장 판권을 취득했습니다.BASIC. Chris Stasny는 업그레이드 [5]버전인 FBII와 CASE 툴인 Program[6] Generator(PG PRO)를 개발하여 이 사업을 시작했습니다.

68k에서 전력으로의 이행PC 중앙 처리 장치(CPU)는 Chris Stasny가 편집기를 완전히 다시 쓰고 Andy Gariepy가 컴파일러를 개작하는 긴 프로세스였습니다.그들의 노력의 결과, 매우 향상된 IDEFB^3[7]이라 불리는 9월 1999[8]에 다른 많은 일들 사이에 별도의 컴파일러 응용 프로그램을 갖춘 다양한 오픈, 따라서 변경할 수 있는 runtimes,[9]인라인 PPC어셈블리는 매킨토시 도구 API(API)에 단순화된 접근뿐만 아니라 확장된 l. 개봉되었다ibrary of 빌트인 함수메이저 업데이트 릴리스에서는 Robert Purves가 작성한 풀 기능의 외관[10] 준거 런타임과 생성된 애플리케이션의 Carbon 준거가 도입되었습니다.완전히 탄산이 되어 Mac OS X에서 네이티브로 동작하는 Future BASIC Integrated Development Environment(FB IDE)는 FB4로 불리며 2004년 7월에 처음 출시되었습니다.

Staz Software는 2005년 8월 미시시피주 다이아몬드헤드본사를 두고 있으며, 인텔 기반의 Macintosh로 진화하는 Apple의 진화에 따라 IDE를 최신 상태로 유지하기 위해 상당한 노력이 필요했던 시기에 개발 속도가 느려졌습니다.

2007년, FBtoC 팀이라고 불리는 자원봉사자 FB 프로그래머의 독립 팀은, FB가 Apple의 Mac OS X 시스템 소프트웨어의 각 카피에 포함되어 있는 오픈 소스 GCC 컴파일러를 사용해 범용 바이너리로서 애플리케이션을 생성할 수 있는 번역기(FBtoC)를 개발했습니다.

2008년 1월 1일 Staz Software는 FB가 프리웨어가 될 것이며 FBtoC 1.0을 탑재한 FB4가 [11]출시될 것이라고 발표했습니다.

프로세서 및 운영체제 지원

오리지널 Macintosh 릴리스의 시스템 요건:FBtoC로 유니버설 바이너리를 작성하기 위한 Motorola 68000 시스템 요건:Mac OS X v10.4 이상, GCC 4.0 이상 및 교차 개발 SDK를 설치해야 합니다.

구문

FutureBasic 구문은 함수 호출로컬 변수를 사용하는 절차적 모듈식 프로그래밍 스타일을 지원합니다.

프로그램 흐름 및 구조 블록

사용자 정의 함수(FutureBasic의 LOCAL FN)는 C 또는 Pascal 함수와 매우 유사합니다.

  • 또한 메인 프로그램(LOCAL MODE 문)과 완전히 절연될 수 있습니다.
  • 재귀가 허용됩니다.
  • 실행 시 동적으로 호출할 수 있습니다(DEF FN USING 스테이트먼트).
  • FutureBasic 내장 이벤트 벡터(ON EVENT FN 문)에 의해 자동으로 호출됩니다.
  • 공동 스레드 함수(THREADBEGIN 문)로 사용됩니다.

특정 구조(ENTERPROC/EXITPROC)는 Macintosh Toolbox를 호출할 때 콜백 절차에 사용됩니다.

이 언어는 프로그래머에게 ON MENU, ON MUSE, ON DIALOG, ON APPLEEVENT, ON EDIT, ON TIMER 등과 같은 이벤트 구동 애플리케이션을 위한 전체 벡터 세트를 제공합니다.

기타 구조화된 키워드에는 다음과 같은 조건부 블록이 있습니다.

  • 긴 이프...XELSE...만약의 종료
  • …까지를 실행하다
  • 한편...웬디
  • 대/소문자 선택...케이스 기타...엔드 셀렉트
  • 다음...에 대해서

GOTO GOSUB/RETURN과 같은 레거시 BASIC 언어 명령은 권장되지 않지만 교육 목적으로 지원됩니다.

숫자를 입력하고 "Hello World"를 표시하는 간단한 프로그램의 예가 아래에 나와 있습니다.

1//open 표준 창 입력"루프의 수"//ExampleFutureBasic 프로그램 흐릿한 i,num,a$ //These 우리의 변수 창;a$ 사용자 num=val(a$)//convert 텍스트에서//BASIC 입력 만약 num> 긴 1위에;0//Structured 만약에 나는 갈1num//BASIC에 l.oopprint "hello world" //output text next i //oop xelse //그렇지 않으면 "Not today" //no number internal" //no number interface do///no no today///number interfo/d//d/nal do///d를 출력하면 Apple-Q Hand HandEvents가 입력되지 않고 결과를 확인할 때까지 기다립니다.

데이터형

FutureBasic은 단일 및 이중 정밀 부동 소수점, 이중 길이 정수, 배열, 문자열 및 레코드(C의 구조와 유사)를 포함한 복잡한 데이터 유형을 지원합니다.주목되는 것은 INDEX$라고 불리는 DYNAMIC 문자열 어레이와 최대 2Gb의 데이터 스트림에서 문자열과 같은 작업을 수행할 수 있는 "컨테이너" 변수 등 DYNAMIC 어레이 구조(메모리 설치 공간 크기는 사용 시에만 증가)입니다.

C와 Pascal은 코딩 스타일을 차용했습니다.

코드의 코멘트는 REMark 스테이트먼트와 C style /* 코멘트 */ 스테이트먼트에 상당합니다.코드 섹션을 북마크하여 쉽게 참조할 수 있습니다.

C에서 빌린 다른 대체 구문에서는 ++ -- == != += -= & 등의 연산자를 사용할 수 있습니다.

Pascal 문자열의 문자는 배열 항목과 거의 비슷하게 액세스할 수 있습니다. a$[0](길이 바이트), a$[1](문자열 a$의 첫 번째 문자).

FutureBasic 언어는 여전히 서픽스 식별자를 사용한 구식 변수 입력을 지원하지만, as 절(바이트로서의 dim b, 짧은 dim s, 긴 dim l 등)을 사용하여 현대적인 대안을 제공합니다.

다른 언어와의 브리지

  • AppleScript 스크립트는 FutureBasic 문을 사용하여 조립한 후 실행 중인 응용 프로그램에서 즉시 실행할 수 있습니다.예:
경로 _AppleScript로  인쇄물 "경로를 문자열로 반환"  경로 _toScreen(toScreen)   한다면 사용 Applescript( 메세지$ ) = _NoErrr    인쇄물 메세지$  끝. 한다면 
  • FutureBasic을 사용하면 UNIX 명령어를 트리거할 수 있습니다.예:
// 2009년 열린 "UNIX", 1, "cal 2009" dim a$ do 행 입력 #1, a$ print a$는 eof (1)이 닫힐 때까지 인쇄합니다.
  • FB는 인라인 C 코드를 허용합니다.예:
Begin CFunction(시작) // 2개의 정수를 추가하는 단순 C 함수  심플_추가(  a,  b )   {      ;        = a + b;     돌아가다 ();   } endC  // FB가 볼 수 있도록 C 함수를 정의합니다. 툴박스 fn 심플_추가 (  a,  b ) =   // C 함수로 2 + 2를 추가하는 작은 프로그램을 만듭니다.  윈도 1  인쇄물 fn 심플_추가 ( 2, 2 )  하다 이벤트 처리 까지 ( gFBQuit ) 

제한 사항

  • 크로스 플랫폼 개발 없음이것은 Macintosh 전용 컴파일러입니다.

FutureBasic은 Macintosh Intel 아키텍처를 지원하지만 Microsoft Windows [1]버전에서는 컴파일하지 않습니다.다음 위치에서 [2]페이지 하단을 참조하십시오.

레퍼런스

  1. ^ http://www.brilorsoftware.com/FB/index.htm
  2. ^ "Futurebasic Group Launch Point".
  1. ^ Jonathan Hoyle for Mac Companion, Part IMac Companion, Part II에 의한 Mac 플랫폼에서의 기본적인 전쟁 이력
  2. ^ ZBasic 5 (MacTech 매거진용)Dave Kelly 리뷰
  3. ^ FBI는 BASIC 언어에 대한 주요 개선사항을 도입하여 개발자들에게 더 나은 구조화된 프로그램과 재사용 가능한 코드를 위해 서브루틴 대신 명명된 상수와 로컬 함수를 사용하도록 장려했습니다.
  4. ^ Staz Software, Inc.의 홈
  5. ^ FBII는 32비트 클린으로 Mac 128부터 G5 기반의 Macintosh까지 에뮬레이트 모드로 실행할 수 있습니다.
  6. ^ Program Generator는 Macintosh 이전 OS X 환경에서 정교한 애플리케이션을 신속하게 구축할 수 있는 유연한 애플리케이션 개발 도구입니다.Mac OS X의 경우, 외관 준수 프로그램 이후, FutureBASIC는 Apple의 Interface Builder를 사용합니다.
  7. ^ FB가 세제곱되었습니다.
  8. ^ 일주일 후 영어, 이탈리아어, 독일어(현재 단종) 및 프랑스어 버전이 포함된 유럽판이 출시되었습니다.일본어판도 있습니다.
  9. ^ FB^3부터 실행 시간은 FutureB에서 작성된 포함 파일로 구성됩니다.프로그래머가 작성한 소스 코드와 함께 컴파일된 ASIC.FutureB를 구성하는 구조, 상수, 전역 변수, 자원, 함수 및 절차에 대한 다양한 선언을 포함합니다.ASIC 언어주요 실행 시간은 Standard BASIC, 외관 준수 및 Mac Toolbox입니다.
  10. ^ 외관 준거 런타임에서는 Apple의 외관 매니저의 대부분의 기능에 액세스 할 수 있습니다.
  11. ^ "Welcome to the FBtoC Project and FutureBasic Freeware". www.4toc.com. n.d. Archived from the original on 2019-09-13.