Muriel와 유사한 언어 및 구현 작성


9

Muriel 은 반복하는 유일한 방법은 quine을 생성하고 실행하는 것입니다. 귀하의 임무는이 속성으로 기존 언어로 언어를 구현하는 것입니다.

다음과 같이 Muriel과 유사한 언어를 정의합니다.

  1. Muriel의 @명령 또는 python 과 유사한 자체 언어로 코드를 실행하기위한 기본 제공 명령 이 exec있습니다.
  2. 튜링 완료입니다.
  3. 내장 실행 명령을 제거하면 더 이상 Turing이 완료되지 않습니다.

Muriel은 @내장 실행 명령으로 Muriel과 유사 합니다. Smurf 도 Muriel과 유사합니다 (내장 실행 명령은 x). 파이썬은 Muriel과 비슷 하지 않습니다exec .

당신의 임무는 Muriel과 유사한 프로그래밍 언어를 만든 다음 원하는 언어로 구현하는 것입니다. 점수는 구현의 길이이며 최소화하려고합니다.

노트:

  1. 내장 실행은 Muriel과 똑같이 작동하지 않아도됩니다. 자식 프로그램의 종료, 오류, 범위 지정 등을 처리하는 방법은 귀하에게 달려 있습니다.
  2. 구현을 작성하는 언어 자체 는 Muriel과 유사 할 수 없습니다 . (이것은 @유효한 항목이 아닙니다.)이 게시물 이전에도 존재해야합니다.

저 부하는 모후 같은 언어?
alephalpha

@JerryJeremiah 편집 내용이 더 선명합니까?
PyRulez 2016 년

@alephalpha 그 위키는 "^없이, 남은 프로그램의 크기는 항상 줄어든다가 결국 멈출 것"이라고 말합니다. 이것이 사실이라면, 예, 언더로드는 Muriel과 같습니다.
PyRulez 2016 년

대상 언어에 여러 eval명령 이있는 경우 어떻게합니까 ? (예 : Python 's execand eval) TCness를 잃기 위해 모두 제거해야합니까?
CalculatorFeline

1
@PyRulez 필자는 이것이 코드 골프보다는 인기 경연 대회 라고 생각합니다. 그렇지 않으면 구현 언어를 선택하면 카멜레온 도전이 될 것입니다.
Uriel

답변:


3

Python 3 및 "Underload의 최소 TC 하위 집합이지만 문자가 2019, 반전 및 0상단으로 변경됨 ", 156 바이트

c=input()
n=1
t=c
s=[]
while c:
 *c,i=c
 if n:
  if"6">i:n+=int(i)-1
  if n:t=[i]+t
  else:s+=[t];t=[]
 elif"2"==i:n=1
 elif"2">i:s+=s[-1:]
 else:c+=s.pop()

온라인으로 사용해보십시오!

머리글에 설명이 있고 바닥 글에 주석이 달린 코드입니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.