씬 베이직
thinBasic![]() |
개발자 | 에로스 올미 |
---|---|
안정된 릴리스 | v1.10.7.0 / 2019년 5월 26일, 전( |
프리뷰 릴리즈 | v1.11.7.0 베타판 / 2022년 3월 , 전( |
OS | 창문들 |
면허증. | 프리웨어/독자 사양 |
웹 사이트 | www |
사투리 | |
기본의 | |
영향을 받다 | |
Powerbasic |
ThinBasic은 많은 전문 모듈로 둘러싸인 중앙 코어 엔진 아키텍처를 가진 BASIC과 같은 컴퓨터 프로그래밍 언어[1] 인터프리터입니다.원래는 주로 컴퓨터 자동화를 위해 설계되었지만 모듈식 구조 덕분에 다양한 작업에 사용할 수 있습니다.
주요 기능
구문
이름에서 알 수 있듯이, 이 언어의 구문에 가장 큰 영향을 준 것은 BASIC 언어였습니다.단, 기존 BASIC과는 달리 8비트 시대부터 알려진 ThinB는ASIC는 몇 가지 중요한 점에서 다릅니다.
예를 들어 프로그래머가 변수를 선언해야 하며 악명 높은 GOTO 및 GOSUB 문을 지원하지 않습니다.구문의 일부 측면은 C/C++[2]와 같이 기본이 아닌 언어에서도 영감을 받습니다.덕분에 슬림비ASIC에서는 암묵적인 줄 바꿈, 간단한 덧셈, 뺄셈, 곱셈 및 나눗셈 연산자, 단축된 변수 선언 및 초기화를 선택적으로 사용할 수 있습니다.
기존 구문에서는 ThinB로 사용 가능ASIC DIM a ~하듯이 정수 a가 0으로 초기화됩니다. a = 1 a에는 1이 포함되어 있습니다. a = a + 1 a에는 2가 포함되어 있습니다. ' C/C++에서 영감을 받은 구문을 ThinB로 사용할 수 있습니다.ASIC 정수 a = 1 가 1로 초기화됩니다. a += 1 a에는 2가 포함되어 있습니다. 1.9.10.0에서 도입된 새로운 구문을 통해 문자열 식에서 유형을 정의할 수 있습니다. 스트링 s타입 = "INTEGER" DIM a 맘에 들다 s타입
또 다른 영감의 원천은 Visual Basic이나 Power BASIC과 같은 최신 버전의 BASIC입니다.
ThinBASIC은 SELECT CASE, IF...와 같은 주요 흐름 제어 문을 제공합니다.그 후 /ELSEIF/ELSE/END IF, 루프(무한, 조건부, FOR, WHIT/WEND, DO/LOOK WHILE..., DO/LOOK EXIL...) 및 숫자 크런치, 특히 문자열 처리를 위한 광범위한 빌트인 함수를 제공하는 데 매우 강한 노력을 기울입니다.
변수 및 데이터 유형
ThinBASIC은 다양한 수치[3] 및 문자열[4] 데이터 유형을 지원합니다.
정수 | 부동 소수점 | 스트링 | 다른. |
---|---|---|---|
바이트 | 싱글 | 스트링 | 변종 |
단어 | 더블 | 문자열 * n | 가이드 |
DWORD | 통화 | ASCIIZ*n | 부울 |
정수 | 확장, 확장 | UDT(사용자 정의 타입) | |
긴 | 유니온 | ||
쿼드 | i디스패치 |
위의 표에 언급된 것 외에 프로그래머는 포인터, 사용자 정의 유형 및 결합을 정의할 수 있습니다.
ThinB의 사용자 정의 유형과 관련된 특수 기능ASIC:[5]
- 하나 이상의 다른 사용자 정의 유형에서 구성원을 상속할 수 있는 가능성
- static members(지정된 UDT의 모든 변수 간에 값이 공유되는 멤버)
- 동적 문자열
변수는 글로벌, 로컬 또는 정적 범위에서 정의할 수 있습니다.ThinBASIC는 최대 3차원 어레이를 지원합니다.
모듈
언어의 기본 기능은 디폴트로 로드되어 해석도 담당하는 이른바 코어 모듈에 의해 제공됩니다.
코어 모듈 외에 ThinBASIC은 각각 특정 기능 영역을 커버하는 기타 모듈을 제공합니다.다음은 예를 제시하겠습니다.
- GUI 작성
- 콘솔 처리
- 파일 처리
- 3D 그래픽스
- 네트워크
- ...
각 모듈은 특정 구조를 가진 단일 DLL로 표시됩니다.이를 통해 모듈은 일반적인 함수 및 프로시저뿐만 아니라 정수 및 사용자 정의 유형 정의도 포함할 수 있습니다.이는 헤더 파일을 필요로 하지 않고 스크립트에서 즉시 사용할 수 있습니다.필요한 것은 코드에 모듈의 사용법을 명시적으로 언급하는 것뿐입니다.파일 처리에는 다음과 같이 표시됩니다.
' 모듈을 로드하여 사용할 수 있습니다. 사용하다 "파일" Function File_Load는 모듈에서 가져온 것으로 전달된 파일의 내용을 String 형식으로 반환합니다. 스트링 버퍼 = 파일_로드("C:\text.txt")
기능 및 절차
코드 구조를 개선하기 위해 ThinBASIC는 기능 및 절차 기능을 제공합니다.TBMAIN이라고 하는 특별한 처리를 하는 기능이 하나 있는데, 이 기능은 가장 먼저 실행이 보장됩니다.이것은 C 프로그래밍 언어의 main() 함수와 동일한 함수를 나타내지만, 그 사용은 임의입니다.
프로그래머는 커스텀 함수 및 프로시저(Subs라고 함)를 정의할 수 있으며, 최대 32개의 파라미터를 가질 수 있습니다.사용 전에 기능과 절차를 모두 선언할 필요는 없습니다.파라미터는 옵션으로 표시할 수 있으며 기본값으로 초기화할 수도 있습니다.각 파라미터는 값(기본값) 또는 참조로 전달되도록 지정할 수 있습니다.
사용하다 "콘솔" ' 프로그램 본문이 TBMain 함수로 시작됩니다. 기능. TBMain() 마이 펑션(10) 사용하지 않는 옵션 파라미터 #2와 #3이 20과 30으로 초기화되기 때문에 10 20 30이 인쇄됩니다. 마이 펑션(10, 3) 사용하지 않는 옵션 파라미터 #3이 30으로 초기화되었기 때문에 10 3 30이 인쇄됩니다. 마이 펑션(10, 3, 5) 그러면 10 3 5 가 인쇄됩니다.모든 파라미터를 지정하기 때문에 기본값은 파기됩니다. Console_WaitKey 끝. 기능. 사용자 정의 함수(옵션 파라미터와 디폴트값 포함) 기능. 마이 펑션( a ~하듯이 번호, 선택적. b ~하듯이 번호 = 20, c ~하듯이 번호 = 30) Console_PrintL(a, b, c) 끝. 기능.
위의 목록과 같이 함수를 직접 호출하거나 런타임에 함수의 이름을 구성하여 호출할 수 있습니다.
서드파티제 API에 바인딩
ThinBASIC은 서드파티제의 DLL로부터의 호출 함수를 서포트하고 있습니다.이 기능에 액세스 하려면 , 프로그래머가 먼저 DLL을 선언할 필요가 있습니다.
이 메커니즘 덕분에 ThinB는ASIC에서는 OpenGL, OpenCL,[6] XML, ODE 등의 테크놀로지를 사용할 수 있습니다.
코드 구성
ThinBASIC은 현재 어떤 형식의 프로젝트 파일도 지원하지 않지만 다양한 용도로 여러 파일 확장자를 제공하여 코드를 유닛으로 분할할 수 있습니다.
- .tBasic - 메인코드
- .tBasicI - 서드파티 DLL로부터의 함수 선언을 포함하는 파일 포함
- .tBasicU - 보조 루틴을 포함하는 코드 단위
메인 코드는 와일드카드를 사용할 수 있는 #include 디렉티브를 사용하여 다음 파일을 참조할 수 있습니다.
#포함하다 MyDLLWrapper.tBasicI" #포함하다 "MyRoutines.tBasicU" #포함하다 "dialog_*.tBasicU" 여기에는 와일드카드 dialog_* 와 일치하는 모든 파일이 포함됩니다.tBasicU(존재하는 경우) 기능. TBMain() -- 기본 코드가 여기에 표시되며 #포함된 파일의 기능을 사용할 수 있습니다. 끝. 기능.
커스터마이즈
SDK를 사용한 모듈 개발로 언어를 향상시킬 수 있습니다(PowerB).ASIC, FreeBASIC, C, MASM).
문서
개발팀은 언어 문서화와 학습 리소스에 중점을 두고 있습니다.언어 자체는 광범위한 도움말[7] 파일에 문서화되어 있으며 기본 설치에는 튜토리얼과 많은 예제 코드가 포함되어 있습니다.
ThinB 사용에 관한 각종 기사ASIC는 ThinBasic Journal 및 프로그래밍 언어 홈페이지에도 공개되어 있습니다(외부 링크 참조).
통합 개발 환경(IDE)
ThinBASIC은 기본 [8]설치에서 ThinAir라고 하는 자체 IDE와 함께 제공됩니다.다음과 같은 기능을 제공합니다.
- 맞춤 가능한 구문 강조 표시
- 코드 템플릿
- 여러 소스 파일이 한 번에 탭에서 열림
- 여러 뷰를 사용하여 하나의 소스를 볼 수 있는 기능
- 옵션 스크립트 난독화
- 스크립트에서[9] 독립된 실행 파일 생성
- 도움말 파일 액세스
Thin Air를 사용하면 디버거도 사용할 수 있습니다.
이 컴포넌트는 thinDebug라고[10] 불리며 아래 링크된 이미지에서 감시할 수 있습니다.
코드 샘플
사용자에게 이름을 묻고 인사하는 콘솔 프로그램:
프로그램이 콘솔 모듈의 기능을 사용하도록 지정합니다. 사용하다 "콘솔" TBMain은 프로그램의 본체를 나타냅니다. 기능. TBMain() 사용자 이름을 보유할 변수를 만듭니다. 현지의 사용자 이름 ~하듯이 스트링 사용자에게 이름을 묻습니다. 콘솔_프린트("이름이 무엇입니까?"") ' 변수에 저장합니다. 사용자 이름 = Console_ReadLine ' 사용자 이름 길이가 0이면 이름이 지정되지 않고, 그렇지 않으면 프로그램이 hello를 표시합니다. 한다면 렌(사용자 이름) = 0 그리고나서 Console_PrintLine("사용자 이름이 지정되지 않았습니다..") 또 다른 Console_PrintLine("안녕하세요" + 사용자 이름 + "!") 끝. 한다면 프로그램이 종료되기 전에 사용자의 키를 기다립니다. Console_WaitKey 끝. 기능.
장점과 단점
ThinBASIC은 Windows 플랫폼용으로 설계되어 있기 때문에 레지스트리, 사용자 인터페이스, 프로세스 작업, COM, DLL 등 이 시스템에서 제공하는 자원을 효율적으로 활용할 수 있습니다.해석되지만 ThinBASIC는 보통 [11]실행 속도가 빠른 것으로 간주됩니다.언어의 인터프리터 특성이 한계에 도달하면 부분 JIT 컴파일을 사용하여 최적화를 수행할 수 있습니다.이 언어의 또 다른 강점은 다양한 관심 영역을 포괄하는 광범위한 명령어이며, BASIC에서는 전통적으로 문자열 처리에 중점을 두고 있습니다.그 언어는 지속적인 개발과 [12]유지보수가 이루어지고 있다.
그 날씬한 B가ASIC은 Windows 전용으로 설계되어 크로스 플랫폼 툴을 필요로 하는 사용자에게도 단점으로 인식될 수 있습니다.언어 인터프리터 특성상 최적화를 사용하지 않는 실행 속도는 컴파일러 출력에 비해 느립니다.
호환성.
ThinBASIC은 PowerB를 사용하여 Microsoft Windows XP Professional에서 개발되었습니다.ASIC [13]및 Internet Explorer 버전 5.50 이후가 필요합니다.
- 광범위한 테스트:Windows 2000 및 Server, XP, Vista, Windows 7, Server 2003, Windows 8, Windows 10
- 일부 지원:Windows 98 SE, Me
- 지원되지 않음:윈도 95
레퍼런스
- ^ 올미, E.ThinBASIC 도움말 매뉴얼.ThinBASIC을 소개합니다.2011-09-21 취득
- ^ basic.mindteq.com 를 참조해 주세요.신베이직2013-02-15 취득
- ^ 올미, E.ThinBASIC 도움말 매뉴얼.숫자 변수.2011-09-21 취득
- ^ 올미, E.ThinBASIC 도움말 매뉴얼.문자열 변수2011-09-21 취득
- ^ 올미, E.ThinBASIC 도움말 매뉴얼.유형. 2011-09-21 취득
- ^ SCHREIBER, P.; OnDROUSEK, V.; V.CHET, S.; KREJSA, J.그래픽 카드 처리를 위한 사전 계산된 스캔 매칭 방법 병렬화.제1회 국제회의 RiE2010. P. 202
- ^ 올미, E.ThinBASIC 도움말 매뉴얼.사용법2011-09-21 취득
- ^ 올미, E.ThinBASIC 도움말 매뉴얼.사용법2011-09-21 취득
- ^ basic.mindteq.com 를 참조해 주세요.신베이직2013-02-15 취득
- ^ 올미, E.ThinBASIC 도움말 매뉴얼.thinTools/thinDebug.2011-09-21 취득
- ^ basic.mindteq.com 를 참조해 주세요.신베이직2013-02-15 취득
- ^ 올미, E.ThinBASIC 도움말 매뉴얼.신상 정보2017-07-29 취득
- ^ http://www.powerbasic.com 를 참조해 주세요.PowerBAS 탑재IC! 2011-09-21 취득
외부 링크
- 공식 웹사이트
- 커뮤니티 포럼
- 온라인 도움말
- 다운로드 페이지
- Thin Air, Thin 기본 공식 IDE
- thinDebug, thinBasic 디버거
- 그래픽스 튜토리얼
- ThinBasic Adventure Builder
- PCOPY! 제40호, 2007년 11월 16일 ThinBasic에 대해서, Eros Olmi.
- PCOPY! 제50호 2007년 3월 15일, ThinBASIC, Petr Schreiber의 3D 그래픽스.
- ThinBasic 저널 #1 2008년 7월 5일 PDF
- ThinBasic 저널 #2, 2008년 11월 26일 PDF
- MovieFX: 사진과 3D 객체 결합, 2010년 9월 1일
- MovieFX: Blending based bokeh, 2011년 1월 1일
- ThinBasic 리뷰는 basics.mindteq.com에서 확인하실 수 있습니다.