LOLCODE 1.4 Interpretation

534 Views Asked by At

I've been trying to interpret this lolcode written in the 1.4 specification. However, I can't figure it out because there are no available interpreters for this version. I can't seem to find out what SRS means. This is a practice problem for a CTF that is coming up. Can somebody help?

HAI 1.4
CAN HAS STDIO?

OBTW
THIS IS A LOCK
BY SHADY J DAWG
TLDR

O HAI IM TABLE
I HAS A DAWG ITZ A YARN
I HAS A CAT2 ITZ A NUMBR
I HAS A DOG ITZ A NUMBR
I HAS A KAT ITZ A NUMBAR
I HAS A FELINE ITZ A YARN
I HAS A KIT ITZ A NUMBAR

DAWG R "CAT"
DOG R 17
CAT2 R 672
FELINE R "A"
KIT R 92
KAT R 7

HOW IZ I CAT YR NUM
    I HAS A CAT3864 ITZ MAEK QUOSHUNT OF ME'Z CAT2 AN NUM A NUMBR
    I HAS A A59CAT0 ITZ SRS SMOOSH ME'Z DAWG AN MAEK PRODUKT OF ME'Z KIT AN NUM A NUMBR MKAY
    FOUND YR SRS SMOOSH ME'Z FELINE AN MAEK SUM OF NUM AN ME'Z DOG A YARN AN ME'Z DAWG AN MAEK MOD OF NUM AN ME'Z KAT A YARN MKAY
IF U SAY SO
KTHX
I HAS A TABLES ITZ LIEK A TABLE

O HAI IM MATH
HOW IZ I POWERIN YR ABC AN YR DEF
    BOTH SAEM DEF AN MAEK DEF A NUMBR, O RLY?
        YA RLY
        NO WAI
            FOUND YR FAIL
    OIC
    I HAS A INDEX ITZ 0
    I HAS A NUM ITZ ABC
    IM IN YR HOUSE UPPIN YR INDEX TIL BOTH SAEM INDEX AN DEF
        NUM R PRODUKT OF NUM AN SUM OF INDEX AN 1
    IM OUTTA YR HOUSE
    FOUND YR NUM
IF U SAY SO
KTHX
I HAS A MATHS ITZ LIEK A MATH

O HAI IM PILE
I HAS A LENGTH ITZ 0
I HAS A MAX ITZ -1

HOW IZ I PUSHIN YR ITEM

    DIFFRINT ME'Z MAX AN BIGGR OF ME'Z MAX AN ME'Z LENGTH, O RLY?
        YA RLY, ME HAS A SRS ME'Z LENGTH ITZ ITEM, ME'Z MAX R SUM OF   ME'Z MAX AN 1
        NO WAI, ME'Z SRS ME'Z LENGTH R ITEM
    OIC
    ME'Z LENGTH R SUM OF ME'Z LENGTH AN 1
IF U SAY SO

HOW IZ I POPPIN
    DIFFRINT ME'Z LENGTH AN 0, O RLY?
    YA RLY
        ME'Z LENGTH R DIFF OF ME'Z LENGTH AN 1
        I HAS A ITEM ITZ ME'Z SRS ME'Z LENGTH
        ME'Z SRS ME'Z LENGTH R NOOB
        FOUND YR ITEM
    OIC
IF U SAY SO

HOW IZ I GETTIN YR INDEX
    BOTH SAEM INDEX AN SMALLR OF INDEX AN ME'Z LENGTH, O RLY?
        YA RLY
            I HAS A ITEM ITZ ME'Z SRS INDEX
            FOUND YR ITEM
    OIC
IF U SAY SO

HOW IZ I SIZIN
    FOUND YR ME'Z LENGTH
IF U SAY SO
KTHX

HOW IZ I CHECKIN YR P
I HAS A C ITZ WIN
BOTH SAEM P'Z LENGTH AN 3, O RLY?
    YA RLY
        BOTH SAEM SUM OF PRODUKT OF DIFF OF MAEK P IZ GETTIN YR 0  MKAY A NUMBR AN 3 AN 15 AN 43 AN QUOSHUNT OF QUOSHUNT OF 16807 AN 7 AN 7,   O RLY?
            YA RLY
            NO WAI, C R FAIL
        OIC
        BOTH SAEM MATHS IZ POWERIN YR MAEK P IZ GETTIN YR 0 MKAY A NUMBR AN YR QUOSHUNT OF MAEK P IZ GETTIN YR 1 MKAY A NUMBAR AN MAEK P IZ GETTIN YR 0 MKAY A NUMBAR MKAY AN 16560, O RLY?
            YA RLY
            NO WAI, C R FAIL
        OIC
        BOTH SAEM TABLES IZ CAT YR P IZ GETTIN YR 2 MKAY MKAY AN 16, O RLY?
            YA RLY
            NO WAI, C R FAIL
        OIC
OIC
FOUND YR C
IF U SAY SO

I HAS A PIN ITZ LIEK A PILE

I HAS A NUMA ITZ A NUMBR
VISIBLE "GIMMEH THE 1ST NUMBR"
GIMMEH NUMA
PIN IZ PUSHIN YR NUMA MKAY

I HAS A NUMB ITZ A NUMBR
VISIBLE "GIMMEH THE 2ND NUMBR"
GIMMEH NUMB
PIN IZ PUSHIN YR NUMB MKAY

I HAS A NUMC ITZ A NUMBR
VISIBLE "GIMMEH THE 3RD NUMBR"
GIMMEH NUMC
PIN IZ PUSHIN YR NUMC MKAY

I HAS A LOCK ITZ A TROOF
LOCK R I IZ CHECKIN YR PIN MKAY
BOTH SAEM LOCK AN WIN, O RLY?
YA RLY
    VISIBLE "WIN!!!"
    VISIBLE SMOOSH "THE FLAG IS: " AN MAEK PIN IZ GETTIN YR 0 MKAY A    NUMBR AN MAEK PIN IZ GETTIN YR 1 MKAY A NUMBR AN MAEK PIN IZ GETTIN YR 2  MKAY A NUMBR MKAY
OIC

KTHXBYE
1

There are 1 best solutions below

0
On

From the Esolangs' page :

SRS [var] Interprets a YARN variable as an identifier.

The page seems to have been updated for 1.4, although the code samples are in 1.3.

I'm not familiar with LOLCODE but if I'm not mistaken this implements variable indirection, using the content of a YARN (string) variable as an identifier.