view test/expression.x @ 323:e9fe6988497c

Used burg for generating expressions
author Windel Bouwman
date Thu, 30 Jan 2014 19:03:24 +0100
parents e84047f29c78
children
line wrap: on
line source


%tokens '+' number '(' ')' '*'
%%

input: expression {return $1};

expression: term { return $1 }
          | expression '+' term {};

term: factor { return $1 }
    | term '*' factor { return $1 * $3 };

factor: '(' expression ')'
      | number {return $1.val};