최근 포스트

[루아2.1] Lua.stx(1)

10 분 소요

Lua.stx (1) 낱말 분석(lexical analysis)하는 Lex.c 파일을 읽었으니, 전편의 순서를 따라 다음은 구문 분석(syntax parsing)하는 yacc 입력 파일인 Lua.stx 차례입니다. 루아 1.1에서 2.1로 넘어가면서 lex의 입력 파일은 아예 소스...

[루아2.1] Lex.c

6 분 소요

Lua 2.1 루아 릴리즈를 보면 루아 1.1 다음에 바로 루아 2.1입니다. 루아 개발자들이 저처럼 그냥 아무 이유없이 메이저 버전을 올린 것이 아니라면 변경점이 많기 때문에 메이저 버전이 올라간 것이겠죠. 게다가 루아 2.1이 발표된 90년대 중반(정확히는 95년이군요)에는 버...

[루아1.1] opcode.c 읽기 (3)

6 분 소요

Opcode.c (3) Opcode.c 파일은 크게 두 부분으로 나뉩니다. 전반부는 루아 VM 구현이고 후반부는 루아 외부 API 구현입니다. 호스트 프로그램에서 Lua.h를 통해 호출하는 루아 API들을 구현한 것이죠. 그래서 아직 다 읽지 않은 함수가 많습니다. 이번 글에서 모...

[루아1.1] opcode.c 읽기 (2)

11 분 소요

Opcode.c (2) 이전 글에 이어서 Opcode.c 파일을 계속 읽겠습니다. 오늘은 lua_execute() 함수 하나만 읽고 글을 마무리 할 생각입니다. 함수가 커요. 아마 lua_execute() 함수가 루아 VM 구현 자체인것으로 보입니다. int lua_execute...

[루아1.1] opcode.c 읽기 (1)

3 분 소요

Opcode.c (1) 드디어 루아 1.1 코드 읽기의 마지막 파일입니다. Opcode.c 파일은 루아 1.1 소스 파일 중에서 두 번째로 긴 파일입니다. 내용이 많아요. 그래도 이 파일만 읽고 나면 루아 2.1로 넘어 갈 수 있습니다. Opcode.c 파일은 이름만 보면 루아 V...