응용 프로그램을위한 컴퓨터 또는 스크립팅 언어를 어떻게 만들 수 있습니까?
-
03-07-2019 - |
문제
복제 :
- 컴파일러 작성 배우기
- 프로그래밍 언어 생성에 대한 문서
- 파서, 통역사 및 컴파일러에 대한 리소스 학습
- 프로그래밍 언어 작성에 대한 제안?
- 컴파일러 프로그래밍 : 가장 근본적인 성분은 무엇입니까?
- 컴파일러 원리에 대한 온라인 리소스가 있습니까?
그리고 다른 사람들은 지금 당장 찾기에는 너무 게으르다.
나는 엄청나게 복잡한 언어를 만드는 방법을 묻지 않습니다. 기본 사항을 이해하고 싶었습니다. 나는 c#을 기본 언어로 사용합니다. 나는 그것이 모호하다는 것을 안다. 나는 나를 지시하기 위해 매우 기본적인 것을 바라고있었습니다.
스크립팅 언어를 만드는 데 주로 관심이 있다고 생각합니다. 예를 들어, 나는 프로그램을 작성하는 사람들을 보았지만 응용 프로그램에 대한 스크립팅 언어가 있습니다. Windows 스크립팅 언어를 다시 작성하고 싶지 않습니다. 텍스트 파일 리더가 있었는데 어떤 이유로 무언가를 자동화하기 위해 스크립팅 언어를 원했습니다. 어떻게 묻는 지 잘 모르겠습니다.
고맙습니다.
편집 - 답변 해주셔서 감사합니다. 나는 현재 학습을 위해 그것을 더 많이보고 있었다. 나는 아마도 Lua를 사용할 것이지만, 일반적으로 개념에 대해 더 많이 배우려고 노력하고 있습니다.
다른 팁
Python 또는 JavaScript와 같은 기존 언어를 사용할 수 있습니다. 예를 들어 JavaScript의 경우 있습니다 http://www.mozilla.org/rhino/ Java 앱의 경우. 따라서 일반적으로 실제로 새로운 언어를 발명 할 필요는 없으며 이미 존재하는 언어에 대한 사용자 정의 API를 제공합니다.
Scott Hanselman은 그의 말을 언급했습니다 최신 Hanselminutes 팟 캐스트 기존 응용 프로그램을 스크립팅하기 위해 Ironpython을 통합하는 것은 매우 쉽습니다.
응용 프로그램을 스크립트 할 수있게하는 최종 목표에 관심이 있다면 자신의 글을 쓰지 않고 기존 언어를 사용하는 것을 고려해야합니다.
자신의 스크립팅 언어를 작성하는 교육 경험에 더 관심이 있다면, 당신은 그것을 위해 가야합니다!
먼저 Lex와 같은 어휘 파서가 필요하고 Bison과 같은 구문 파서가 필요합니다.
그런 다음 구문 파서와 협력하여 통역사를 만들어 구문 결과를 '실행'할 수 있습니다.
그것이 대부분의 스크립팅 언어가하는 방식입니다.
추신 : 또 다른 방법은 쉘을 작성하여 연습하는 것입니다 - 쉘 스크립트 (bash, csh 또는 sh)는 매우 단순화 된 스크립팅 언어입니다.
몇 가지 예를 들어 새로운 스크립팅 언어를 만들 필요가 없습니다. 널리 사용되는 임베드 가능한 자바 스크립트 인 코뿔소 (http://www.mozilla.org/rhino/) 또는 MS의 JScript는 제품에서 직접 사용할 수 있습니다.
나는 당신이 묻는 길을 갔다 - 나는 한 번 내 자신의 계획 통역사를 만들었다. 이것은 정말 잘 작동했지만 우리는 많은 기술을 다시 발명했으며 실제로 많은 추가 혜택을 얻지 못했습니다. 우리는 사용 가능한 계획 중 하나를 사용하는 것만으로 훨씬 나아 졌을 것입니다. 재미 있고 성공했지만 다시는 그 결정을 내리지 않을 것입니다.