id ; scanf("%d", &acc)
q ; set queue
< ; push(acc)
%3 ; acc %= 3
s ; set stack
< ; push(acc)
z ; if (acc == 0)
o"Fizz" ; puts("FIZZ")
q ; set queue
> ; acc = pop()
%5 ; acc %= 5
z ; if (acc == 0)
o"Buzz" ; puts("Buzz")
s ; set stack
n ; if (acc != 0)
> ; acc = pop()
n ; if (acc != 0)
od ; printf("%d", a)
전체 코드는 아래와 같음
idq<%3s<zo"Fizz"q>%5zo"Buzz"sn>nod
이름은 Stack Queue Language
줄여서 SQL ㅋㅅㅋ
부가 설명은 아래 참조
acc는 0으로 초기화됨
%는 모두가 예상하듯 나머지연산 (다른 기본연산자 +-*/도 있음)
n과 z가 영향을 비치는 것은 다음 하나의 명령어 뿐임 (뒤에서 두번째 n 앞에 s가 있는 이유)
i 뒤에는 포멧 형식자가 옴
o 뒤에는 "또는 포멧 형식자가 옴 "가 올 시에는 다음 "전까지의 문자열을 출력함
놀랍게도 동적형식
하지만 char int float 내에서만 가능함
현재 튜링 완전하지 못하고
문법도 좀 더 보완해야해서 개발은 아직 진행 안됨 ㅇㅅㅇ
댓글 0