Skip to content
This repository was archived by the owner on Oct 11, 2020. It is now read-only.
This repository was archived by the owner on Oct 11, 2020. It is now read-only.

Hello World fails #1

@rdebath

Description

@rdebath

I think this program should print "Hello World!" but your interpreter is not interpreting loops as while loops.

aaag gagu gaga gagu gugu uuug gagu guga gaga aaag gagu gaga aaag aaag
aaag gaga gagu aaag aaag aaag aaag aaag aaag aaag aaag aaag aaag aaag
gaga guga gagu gaga guga uuug gagu gugu guga gaga uuug guga guga aaag
aaag aaag aaag aaag aaag aaag aaag aaag aaag gugu guga gaga gaga gaga
gaga gaga gaga uuug uuug uuug uuug guuu gugu gugu aaag aaag aaag guuu
gugu uuug guuu guuu aaag aaag aaag guuu gugu uuug guuu gaga gaga gaga
guuu gugu gugu guuu aaag aaag aaag guuu uuug uuug uuug uuug uuug uuug
guuu gaga uuug guuu gugu gugu aaag guuu gugu guuu

This is a direct translation "interpreter".

#!/usr/bin/ruby
eval 'm=Hash.new(p=0);'+ARGF.read.downcase.gsub(
        /[a-z][a-z0-9]*|./,
        'gaga' => 'p+=1;',
        'gugu' => 'p-=1;',
        'aaag' => 'm[p]+=1;',
        'uuug' => 'm[p]-=1;',
        'unga' => 'm[p]=0;',
        'guuu' => 'putc m[p];',
        'gaaa' => 'm[p]=STDIN.getbyte if !STDIN.eof;',
        'gagu' => '(',
        'guga' => ')while((m[p]&=255)!=0);')

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions