view test/expression.x @ 405:f381cea07fec

merge
author Windel Bouwman
date Thu, 19 Feb 2015 14:10:52 +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};