응용 프로그램을위한 컴퓨터 또는 스크립팅 언어를 어떻게 만들 수 있습니까?

StackOverflow https://stackoverflow.com/questions/808737

  •  03-07-2019
  •  | 
  •  

문제

복제 :

그리고 다른 사람들은 지금 당장 찾기에는 너무 게으르다.


나는 엄청나게 복잡한 언어를 만드는 방법을 묻지 않습니다. 기본 사항을 이해하고 싶었습니다. 나는 c#을 기본 언어로 사용합니다. 나는 그것이 모호하다는 것을 안다. 나는 나를 지시하기 위해 매우 기본적인 것을 바라고있었습니다.

스크립팅 언어를 만드는 데 주로 관심이 있다고 생각합니다. 예를 들어, 나는 프로그램을 작성하는 사람들을 보았지만 응용 프로그램에 대한 스크립팅 언어가 있습니다. Windows 스크립팅 언어를 다시 작성하고 싶지 않습니다. 텍스트 파일 리더가 있었는데 어떤 이유로 무언가를 자동화하기 위해 스크립팅 언어를 원했습니다. 어떻게 묻는 지 잘 모르겠습니다.

고맙습니다.

편집 - 답변 해주셔서 감사합니다. 나는 현재 학습을 위해 그것을 더 많이보고 있었다. 나는 아마도 Lua를 사용할 것이지만, 일반적으로 개념에 대해 더 많이 배우려고 노력하고 있습니다.

도움이 되었습니까?

해결책

당신은 볼 수 있습니다 루아 - 나는 "어떻게 자동화 할 것인가? 여기에 작업을 삽입하십시오 안에 내 앱 중 하나를 여기에 삽입하십시오?"

편집 : 다음은 몇 가지 예입니다 ( 링크 페이지, 끊임없이, 다루기 힘들다 루아 위키) 앱에 LUA를 포함시키는 방법 :

다른 팁

Python 또는 JavaScript와 같은 기존 언어를 사용할 수 있습니다. 예를 들어 JavaScript의 경우 있습니다 http://www.mozilla.org/rhino/ Java 앱의 경우. 따라서 일반적으로 실제로 새로운 언어를 발명 할 필요는 없으며 이미 존재하는 언어에 대한 사용자 정의 API를 제공합니다.

일부 용어가 순서대로 진행됩니다. 당신은 a 도메인 별 언어. 텍스트 파일을 "실행 파일"으로 변환하는 두 가지 기본 방법 : 컴파일러 또는 통역사. 통역사는 한 번에 하나씩 라인을 구축하고 실행하기 쉽기 때문에 스크립팅 개념에 더 잘 맞습니다. 매우 간단한 언어를 넘어서 괜찮은 파서 또는 괜찮은 통역사를 쓰는 것은 사소한 일이 아닙니다. 통역사에 대한 고전적인 작품은입니다 SICP, 그러나 이것은 초보자에게는 꽤 어려운 책입니다.

Scott Hanselman은 그의 말을 언급했습니다 최신 Hanselminutes 팟 캐스트 기존 응용 프로그램을 스크립팅하기 위해 Ironpython을 통합하는 것은 매우 쉽습니다.

응용 프로그램을 스크립트 할 수있게하는 최종 목표에 관심이 있다면 자신의 글을 쓰지 않고 기존 언어를 사용하는 것을 고려해야합니다.

자신의 스크립팅 언어를 작성하는 교육 경험에 더 관심이 있다면, 당신은 그것을 위해 가야합니다!

먼저 Lex와 같은 어휘 파서가 필요하고 Bison과 같은 구문 파서가 필요합니다.

그런 다음 구문 파서와 협력하여 통역사를 만들어 구문 결과를 '실행'할 수 있습니다.

그것이 대부분의 스크립팅 언어가하는 방식입니다.

추신 : 또 다른 방법은 쉘을 작성하여 연습하는 것입니다 - 쉘 스크립트 (bash, csh 또는 sh)는 매우 단순화 된 스크립팅 언어입니다.

몇 가지 예를 들어 새로운 스크립팅 언어를 만들 필요가 없습니다. 널리 사용되는 임베드 가능한 자바 스크립트 인 코뿔소 (http://www.mozilla.org/rhino/) 또는 MS의 JScript는 제품에서 직접 사용할 수 있습니다.

나는 당신이 묻는 길을 갔다 - 나는 한 번 내 자신의 계획 통역사를 만들었다. 이것은 정말 잘 작동했지만 우리는 많은 기술을 다시 발명했으며 실제로 많은 추가 혜택을 얻지 못했습니다. 우리는 사용 가능한 계획 중 하나를 사용하는 것만으로 훨씬 나아 졌을 것입니다. 재미 있고 성공했지만 다시는 그 결정을 내리지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top