Skip to content

Instantly share code, notes, and snippets.

@dyama
Created April 7, 2015 02:46
Show Gist options
  • Save dyama/393778590d787bec0ae3 to your computer and use it in GitHub Desktop.
Save dyama/393778590d787bec0ae3 to your computer and use it in GitHub Desktop.
7 lines VTL interpretor
#include <stdio.h>
#include <stdlib.h>
char c[80];int v[25];int G(char*p){char*q=p;int n=(int)strtol(p,&p,0);return q-
p?n:v[*p++-65];}int E(char*p){int n=G(p);for(;*p;){char o=*p++;int m=G(p);if(o
==43)n+=m;if(o==45)n-=m;if(o==42)n*=m;if(o==47)n/=m;if(o==60)n=n<=m;if(o==61)n=
n==m;if(o==62)n=n>=m;}return n;}P(){printf("OK\n* ");}int main(){P();for(;gets(
c);){c[1]-61||*c-63?v[*c-65]=E(c+2):printf("%d\n",E(c+2));P();}return 0;}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment