Notice
Recent Posts
Recent Comments
Link
PL λαβ
Lab 1.1: Data 만들기 본문
LISP 구현의 첫 단계로 데이터를 표현해 봅니다. 프로그램은 데이터를 처리하기 위한 것이지요? 따라서 먼저 데이터를 나타내는 것이 중요합니다. 이 장에서는 데이터를 표현하고 이를 출력하는 방법에 대해 알아봅니다.
#데이터 표현
데이터를 표현해 봅시다. Python은 타입에서 자유로우므로 union은 필요 없습니다. 대신 value 필드를 여러 용도로 쓸 수 있을 것 같아요. 일단 type 필드는 1은 int로 2는 pair로 정했습니다. 나머지는 필요에 따라 정하면 될 것 같은데, 본인이 정한 것이 있으면 여기에 댓글로 적어 주시면 됩니다. 충돌될 경우에는 먼저 적은 분 우선입니다.
class Data:
def __init__(self, type=0, value=0):
self.type = type
self.value = value
def car(self):
return value[0]
def cdr(self):
return value[1]
def __str__(self):
return "babo~ya"
def cons(d1, d2):
return Data(2, (d1, d2)) # 2: pair
def mkint(n):
return Data(1, n) # 1: int
if __name__ == "__main__":
print(mkint(3))
'kos' 카테고리의 다른 글
Lab 1.2: 구문 분석기 (0) | 2021.04.08 |
---|---|
Lab 1.1[박인철]: Data 만들기 (0) | 2021.04.06 |
Lab 1.1[김예령]: Data 만들기 (0) | 2021.04.06 |
Lab 1.1[최준혁]: Data 만들기 (0) | 2021.04.06 |
Scheme 구현 팀블로그에 오신 것을 환영합니다. (0) | 2021.04.05 |
Comments