breakcont1.gms : 피망 슬롯 및 continue 문을 테스트

설명

키워드: 피망 슬롯, 계속

기고자: Michael Bussieck, 2016년 8월

소형 모델 유형 :피망 슬롯


카테고리 : 피망 슬롯 테스트 라이브러리


메인 피망 슬롯 : breakcont1.피망 슬롯

$title '테스트 중단 및 계속 문' (BREAKCONT1,SEQ=694)

$onText
키워드: 중단, 계속

기고자: Michael Bussieck, 2016년 8월
$offText

$onEchoV > ct.gms
$echo "%1" > runCompTest.gms
$echo $if errorfree $abort 오류: 컴파일 오류가 예상됩니다. >> runCompTest.gms
$echo $clearError >> runCompTest.gms
$call 피망 슬롯 runCompTest.gms a=c lo=2
$if 오류 수준 1 $abort %msg%
$offEcho

$set msg 제어 구조 외부에서 계속합니다. 컴파일 오류가 예상됩니다.
$batInclude ct "계속;"

$set msg 제어 구조 외부를 중단합니다. 컴파일 오류가 예상됩니다.
$batInclude ct "break;"

$set msg 제어 구조 외부에서 n을 중단합니다. 컴파일 오류가 예상됩니다.
$batInclude ct "break 2;"

$set msg n<1 레벨로 n을 중단합니다. 컴파일 오류가 예상됩니다.
$batInclude ct "set i /i1/; 루프(i, break -1);"

$set msg Break 0. 컴파일 오류가 예상됩니다.
*$batInclude ct "set i /i1/; 루프(i, 중단 0);"

$set msg Break [const 표현]. 컴파일 오류가 예상됩니다.
$batInclude ct "set i /i1/; 루프(i, break [abs(-1)]);"

$set msg 스칼라 기호를 중단합니다. 컴파일 오류가 예상됩니다.
$batInclude ct "set i /i1/; 스칼라 k /1/; 루프(i, break k);"

$set msg (루프) n>제어 수준으로 n을 중단합니다. 컴파일 오류가 예상됩니다.
$batInclude ct "set i /i1/; 루프(i, break 2);"

$set msg (For) n>제어 수준으로 n을 중단합니다. 컴파일 오류가 예상됩니다.
$batInclude ct "스칼라 k /0/; for(k=1 ~ 10, break 2);"

$set msg (While) n>제어 수준으로 n을 중단합니다. 컴파일 오류가 예상됩니다.
$batInclude ct "스칼라 k /0/; k=0; while(k<10, 중단 2; k=k+1);"

$set msg (반복) n>제어 수준으로 n을 중단합니다. 컴파일 오류가 예상됩니다.
$batInclude ct "스칼라 k /0/; k=0; 중단 2 반복; k=k+1; k>10까지;"

$set msg 제한된 증가가 예상됩니다(루프, 중첩 수준 1).
i / i1*i10 / 설정; 스칼라 cnt;
CNT=0; loop(i, break$sameas('i6',i); cnt=cnt+1); 중단$(cnt<>5) '%msg%', cnt;
CNT=0; loop(i, break$sameas('i6',i) 1; cnt=cnt+1); 중단$(cnt<>5) '%msg%', cnt;
CNT=0; loop(i, break$sameas('i6',i)1; cnt=cnt+1); 중단$(cnt<>5) '%msg%', cnt;
CNT=0; loop(i, continue$(mod(ord(i),2)=0); cnt=cnt+1); 중단$(cnt<>5) '%msg%', cnt;

* 우리 컴파일러에서는 정말 보기 흉한 구문을 허용합니다!!!
CNT=0; loop(i, break$sameas('i6',i)1display'x'; cnt=cnt+1); 중단$(cnt<>5) '%msg%', cnt;

$set msg 제한된 증가가 예상됩니다(nestlevel 1의 경우).
스칼라 v;
CNT=0; for(v=1 ~ 10, break$(v=6); cnt=cnt+1); 중단$(cnt<>5) '%msg%', cnt;
CNT=0; for(v=1 ~ 10, break$(v=6) 1; cnt=cnt+1); 중단$(cnt<>5) '%msg%', cnt;
CNT=0; for(v=1 ~ 10, continue$(mod(v,2)=0); cnt=cnt+1); 중단$(cnt<>5) '%msg%', cnt;

$set msg 제한된 증가가 예상됩니다(while, Nestlevel 1).
CNT=0; v=1; while(v<11, v=v+1; break$(v-1=6); cnt=cnt+1); 중단$(cnt<>5) '%msg%', cnt;
CNT=0; v=1; while(v<11, v=v+1; break$(v-1=6) 1; cnt=cnt+1); 중단$(cnt<>5) '%msg%', cnt;
CNT=0; v=1; while(v<11, v=v+1; 계속$(mod(v,2)=0); cnt=cnt+1); 중단$(cnt<>5) '%msg%', cnt;

$set msg 제한된 증가가 예상됩니다(반복/까지, 중첩 수준 1).
CNT=0; v=1; 반복 v=v+1; break$(v-1=6);         cnt=cnt+1; v>10까지; 중단$(cnt<>5) '%msg%', cnt;
CNT=0; v=1; 반복 v=v+1; break$(v-1=6) 1;       cnt=cnt+1; v>10까지; 중단$(cnt<>5) '%msg%', cnt;
CNT=0; v=1; 반복 v=v+1; 계속$(mod(v,2)=0); cnt=cnt+1; v>10까지; 중단$(cnt<>5) '%msg%', cnt;

j / j1*j3 / 설정; 스칼라 w;

$set innerLoop loop(i, break$sameas('i6',i); cnt=cnt+1);

$set msg 제한된 증가가 예상됩니다(루프/루프)
CNT=0; loop(j, break$(ord(j)=3); %innerLoop%);  중단$(cnt<>10) '%msg%', cnt;
CNT=0; loop(j, continue$(mod(ord(j),2)=0); %innerLoop%);  중단$(cnt<>10) '%msg%', cnt;

$set msg 제한된 증가가 예상됩니다(for/loop).
CNT=0; for(v=1 ~ 3, break$(v=3); %innerLoop%); 중단$(cnt<>10) '%msg%', cnt;
CNT=0; for(v=1 ~ 3, continue$(mod(v,2)=0); %innerLoop%); 중단$(cnt<>10) '%msg%', cnt;

$set msg 제한된 증가가 예상됩니다(while/loop).
CNT=0; v=1; while(v<4, v=v+1; break$(v-1=3); %innerLoop%); 중단$(cnt<>10) '%msg%', cnt;
CNT=0; v=1; while(v<4, v=v+1; continue$(mod(v-1,2)=0); %innerLoop%); 중단$(cnt<>10) '%msg%', cnt;

$set msg 제한된 증가가 예상됩니다(반복/루프)
CNT=0; v=1; 반복 v=v+1; break$(v-1=3);           %내부 루프%; v>3까지; 중단$(cnt<>10) '%msg%', cnt;
CNT=0; v=1; 반복 v=v+1; 계속$(mod(v-1,2)=0); %내부 루프%; v>3까지; 중단$(cnt<>10) '%msg%', cnt;

$set innerLoop loop(i, continue$(mod(ord(i),2)=0); cnt=cnt+1);

$set msg 제한된 증가가 예상됩니다(루프/루프)
CNT=0; loop(j, break$(ord(j)=3); %innerLoop%);  중단$(cnt<>10) '%msg%', cnt;
CNT=0; loop(j, continue$(mod(ord(j),2)=0); %innerLoop%);  중단$(cnt<>10) '%msg%', cnt;

$set msg 제한된 증가가 예상됩니다(for/loop).
CNT=0; for(v=1 ~ 3, break$(v=3); %innerLoop%); 중단$(cnt<>10) '%msg%', cnt;
CNT=0; for(v=1 ~ 3, continue$(mod(v,2)=0); %innerLoop%); 중단$(cnt<>10) '%msg%', cnt;

$set msg 제한된 증가가 예상됩니다(while/loop).
CNT=0; v=1; while(v<4, v=v+1; break$(v-1=3); %innerLoop%); 중단$(cnt<>10) '%msg%', cnt;
CNT=0; v=1; while(v<4, v=v+1; continue$(mod(v-1,2)=0); %innerLoop%); 중단$(cnt<>10) '%msg%', cnt;

$set msg 제한된 증가가 예상됩니다(반복/루프)
CNT=0; v=1; 반복 v=v+1; break$(v-1=3);           %내부 루프%; v>3까지; 중단$(cnt<>10) '%msg%', cnt;
CNT=0; v=1; 반복 v=v+1; 계속$(mod(v-1,2)=0); %내부 루프%; v>3까지; 중단$(cnt<>10) '%msg%', cnt;

$set innerLoop loop(i, break$sameas('i6',i) 2; cnt=cnt+1);

$set msg 제한된 증가가 예상됩니다(루프/루프)
CNT=0; loop(j, break$(ord(j)=3); %innerLoop%);  중단$(cnt<>5) '%msg%', cnt;
CNT=0; loop(j, continue$(mod(ord(j),2)=0); %innerLoop%);  중단$(cnt<>5) '%msg%', cnt;

$set msg 제한된 증가가 예상됩니다(for/loop).
CNT=0; for(v=1 ~ 3, break$(v=3); %innerLoop%); 중단$(cnt<>5) '%msg%', cnt;
CNT=0; for(v=1 ~ 3, continue$(mod(v,2)=0); %innerLoop%); 중단$(cnt<>5) '%msg%', cnt;

$set msg 제한된 증가가 예상됩니다(while/loop).
CNT=0; v=1; while(v<4, v=v+1; break$(v-1=3); %innerLoop%); 중단$(cnt<>5) '%msg%', cnt;
CNT=0; v=1; while(v<4, v=v+1; continue$(mod(v-1,2)=0); %innerLoop%); 중단$(cnt<>5) '%msg%', cnt;

$set msg 제한된 증가가 예상됩니다(반복/루프)
CNT=0; v=1; 반복 v=v+1; break$(v-1=3);           %내부 루프%; v>3까지; 중단$(cnt<>5) '%msg%', cnt;
CNT=0; v=1; 반복 v=v+1; 계속$(mod(v-1,2)=0); %내부 루프%; v>3까지; 중단$(cnt<>5) '%msg%', cnt;

$set msg 제한된 증가가 예상됩니다(루프, 네스트레벨 10)
별칭(i,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10);
CNT=0;
루프(i1,
 루프(i2,
  루프(i3,
   루프(i4,
    루프(i5,
     루프(i6,
      루프(i7,
       루프(i8,
        루프(i9,
         loop(i10, break$sameas('i6',i10) 10; cnt=cnt+1)
        )
       )
      )
     )
    )
   )
  )
 )
);
중단$(cnt<>5) '%msg%', cnt;