AVM2에 언어 추가
-
19-08-2019 - |
문제
AVM2에서 실행할 언어를 만드는 데 관심이 있으며 어디서부터 시작 해야하는지에 대한 조언을 찾고 있습니다. 나는 이것이 결코 사소한 일이 아니라는 것을 알고 있지만, 나는 그것을 시도하고 최소한 그 과정에서 언어 구현에 대해 더 많이 배우고 싶습니다.
나는 Antlr을 엉망으로 만들었고 언어 개발을위한 구문 문제에 대해 읽고 있습니다. 내가 찾고있는 것은 참조/도서를 가져 오는 길에 대한 조언입니다.
예를 들어, 매우 간단한 AVM2 바이트 코드를 생성하고 시작하여 VM에서 실행하도록합니다.
감사
해결책
Haxe에 관심이없는 경우 기본적으로 객체를 ABC (Actionscript Byte Code)로 컴파일하는 고유 한 컴파일러를 작성해야합니다. 그만큼 AVM2 개요 ABC와 AVM2의 Adobe에서 구할 수있는 문서는 시작하는 데 도움이됩니다. 상당히 철저한 문서이지만 바이트 코드 지침에서 몇 가지 오타에 대해 경고를 유지하십시오.
또한 SWF 컨테이너의 일부로 Bytecode를 DOABC 태그로 랩핑해야합니다. 당신은 더 많은 정보를 얻을 수 있습니다 SWF 파일 형식 선적 서류 비치.
데이터 구조 (최적화 된 INT 형식 등)를 작성하는 데 헤드 스타트를 원한다면 내가 작업 한 동적 조롱 프로젝트 인 Asmock에서 코드를 자유롭게 확인하십시오. SWF/BYTECODE 생성물은 약간 지저분하지만 IdataOutput 포장지가 있습니다 (SWF, 바이트 코드) 유용 할 수 있습니다.
다른 팁
Adobe의 프로젝트 연금술은 좋은 참조가 될 수 있습니다http://labs.adobe.com/technologies/alchemy/
어떻게 되었습니까? 또한 Java to AVM2 컴파일러를 수행하는 데 관심이 있습니다 ... 게시 된 코드가 있습니까?
보세요 HAXE: AVM을 포함하여 다른 플랫폼을 타겟팅 할 수있는 오픈 소스 언어입니다. SWF 컴파일러 소스 코드를 파헤쳐 영감을 얻을 수 있습니다.