2011-09-15から1日間の記事一覧

逆ポーランド記法的配列を出力する計算機

class Calcp prechigh nonassoc UMINUS left '*' '/' left '+' '-' preclow options no_result_var rule target: exp | { result = [] } exp: exp '+' exp { val[0] + val[2] + ['+'] } | exp '-' exp { val[0] + val[2] + ['-'] } | exp '*' exp { val[0] +…

逆ポーランド記法配列出力計算機: 演算子を関数に変えてパース後に計算する

class Calcp prechigh nonassoc UMINUS left '*' '/' left '+' '-' preclow options no_result_var rule target: exp | { result = [] } exp: exp '+' exp { val[0] + val[2] + [lambda {|a, b| a + b }] } | exp '-' exp { val[0] + val[2] + [lambda {|a, …