← 목록

hanseonc_high — arr[i] = val 직접 대입 지원 추가

개요

hanseonc_high 고수준 컴파일러에 배열[인덱스] = 값 직접 대입 구문을 추가. 이전에는 배열 = 설정(배열, 인덱스, 값) 형태만 지원되어, VM 구현 파일 4개가 컴파일 불가였음.

변경 내용

hanseonc_high.c 수정 (2곳)

1. is_bracket_assign() 헬퍼 함수 추가

2. parse_statement() TOK_IDENT 분기에 배열 인덱스 대입 처리 추가

생성 코드 흐름

parse_expr(인덱스) → STORE tmp91
parse_expr(값)     → STORE tmp92
emit_var_load(vi)  → arr 기저주소
LOAD tmp91         → 인덱스
ADD                → arr + 인덱스 = 목표주소
LOAD tmp92         → 값
SWAP + STORE       → mem[목표주소] = 값

결과

파일이전 에러이후 에러
크라우니VM.han2550
isa729코드젠.han2550
한선VM.han840
isa729vm.han660
std/ 전체54/79 실패79/79 성공

관련 파일

잔여 이슈