2009-12-21 1 views
9

Erlang에서 스크립팅 언어 인터프리터 (게임에 적합한 것)를 구현 한 사람은 누구입니까? Javascript 나 Lua 같은 것이 좋을 것입니다.Erlang Scripting Language Interpreter

+1

왜 Erlang에서 작성한 Javascript 또는 Lua 인터프리터를 원하십니까? 이런 식으로 어떤 혜택을 얻을 것이라고 생각하십니까? –

+1

저는 Erlang에 게임 서버를 작성하고 있습니다. 플레이어가 서버에서 실행되는 게임 스크립트를 작성할 수있게하고 싶습니다. – Paul

+0

Erlang을 노출 된 스크립팅 언어로 사용하지 않는 매우 중요한 이유가 있습니다. 플레이어가 만든 스크립트를 허용하려는 경우 수행 할 수있는 작업을 격리 할 방법이 필요합니다. 당신이 이것을 할 수있는 예는 진흙 속에 있습니다. 일부 유형의 인터프리터를 erlang에 넣는 것은 플레이어가 만든 콘텐츠를 허용하는 좋은 방법이지만 스크립트에서 수행 할 수있는 작업을 제한 할 수는 있습니다. –

답변

5

C/C++ port driver 루아 (또는 다른) 언어 인터프리터를 실행 해보십시오. erlua이 필요한 포트 드라이버를 통해 작동 할 가능성이 큽니다.

3

얼랭 자체는 스크립팅 언어로 사용할 수 있습니다. Erlang docs의 escript을 참조하십시오.

+1

이것은 멋지지만 제가 언급 한 두 언어와 비슷한 언어를 찾고 있습니다. 나는 얼랭 (Erlang) 그 자체가 그렇게 훌륭한 스크립팅 언어를 만들지 않을 것 같은 느낌이 든다. =/ – Paul

3

제 2의 Vijay가 Erlang을 사용하기로 제안했습니다. 그러나, 나는 또한 정확히 당신이 요구하는 것 같다 Reia의 존재를 지적 할 것이다.

편집 : 맞아요, 그래서 거기에 erlyjs, 얼랭 가상 머신을 타겟팅 JavaScript 컴파일러. 나는이 프로젝트의 개발 단계가 얼마나 진행되고 있는지, 얼마나 잘 진행되고 있는지 등을 잘 모르고있다. 사전에 JS 코드를 컴파일해야하는지 확실하지 않은 경우 직접 확인해야합니다.

Here 코드베이스의 github 포크 중 하나를 찾을 수 있습니다. 얼랭 (Erlang)의 모든 것, 내가 볼 수있는 한.

다시 한번 말하지만, 이것은 성숙한 제품이 아닙니다. 그러나 CouchDB의 등장과 함께이 같은 것이 실제로는 중요한 의미에서 유용 할 수 있습니다 ... 그래서 실제로는 다소 성숙한 것으로 성숙하게 될 것입니다.

+0

어쩌면 내가 충분히 명확하게 오지 않을거야,하지만 Erlang 프로그램 (Erlang 바이트 코드로 컴파일됩니다 프로그램)을 다른 언어로 작성하려고하지 않을 것입니다. 내가 찾고있는 것은 Erlang으로 쓰여진 통역사이다. – Paul

+0

음, Reia의 홈페이지에서 : "Reia (RAY-Uh 발음)는 Ruby/Python과 유사한 스크립팅 언어입니다." 프로그램을 바이트 코드로 컴파일하지만 파이썬도 마찬가지입니다. 두 경우 모두 필요한 경우 즉시 실행됩니다. 이 구문은 Erlang IMO와는 다르다. 나는 그것이 JS/Lua와 완전히 유사하지는 않지만, 적어도 한번 볼만한 가치가 있다고 생각한다. 어쨌든 Erlang 기반 엔진에서 JavaScript를 실행할 수 없는지 확실하지 않습니다. 뭔가를 찾으면 주위를 둘러보고 업데이트 할 것입니다. –

+0

예, erlyjs는 멋진 프로젝트처럼 보입니다. 불행히도 github 버전은 상당히 미성숙 한 것으로 보입니다. 원래의 Google 코드 repo가 ​​신비하게 사라졌습니다. http://code.google.com/p/erlyjs/ CouchDB에서 javascript를 처리하는 방법을 살펴 봤는데 SpiderMonkey 프로세스가 생성되는 것을 확인했습니다.아마도 나는 Erlang Cnode에 V8을 삽입하는 방법을 찾을 수 있었을 것입니다 ... Bummer. 그래도 도와 ​​줘서 고마워! – Paul

0

이 질문은 Google 검색에 표시되지만 댓글은 원래 요청에 응답하지 않습니다. 원래의 포스터가 찾고 있던 답변은 github에서의 루어입니다. - https://github.com/rvirding/luerl

Luerl은 Erlang에서 구현되었으며 원래 Erlang 개발자 중 한 명인 Robert Virding이 개발했습니다.