gus_massa 1 day ago

It feels like Pascal in Cyrillic. Autotranslation, with a little manual correction, but I can't fix КНЦ (autotranlated to KNC):

  FUNC FACT (N);
     NAME: R;
     1 -> P;
     FOR I FROM 1 TO N ::
        R * I -> R
     ALL
  RES: R
  KNC;

  FOR N FROM 0 TO 6 ::
     ? "FACT(", N, ") = ", FACT(N)
  ALL;
  • yeputons 1 hour ago

    I would read «КНЦ» as «КОНЕЦ», literally “an end” or “the end” (Russian does not have anything resembling articles). Who needs vowels, anyway.

    Also, «ВСЕ» feels like «ВСЁ» in this context, I’d translate that as “that’s all”.

  • vbezhenar 1 hour ago

    Few fixes:

    1. "ИМЕНА" is plural, so instead of "NAME:" it's a bit more appropriate to use "NAMES:". Probably should be "VARIABLES" or "VARS" in modern context.

    2. You've got few typos mixing "R" and "P". Should be "R" everywhere.

    3. Instead of "ALL" you should use "DONE".

    4. Instead of "KNC" you should use "END".

    So it would look like this:

        FUNC FACT (N);
          NAMES: R;
          1 -> R;
          FOR I FROM 1 TO N ::
            R * I -> R
          DONE
        RES: R
        END;
    
        FOR N FROM 0 TO 6 ::
          ? "FACT(", N, ") = ", FACT(N)
        DONE;