From d768adb86b6c21223493aae945d194e7d13cceaa Mon Sep 17 00:00:00 2001 From: cryptogopher Date: Sun, 10 Nov 2019 23:37:11 +0100 Subject: [PATCH] Formula parsing extensions --- lib/body_tracking/formula.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/body_tracking/formula.rb b/lib/body_tracking/formula.rb index 95b1108..cc7bd66 100644 --- a/lib/body_tracking/formula.rb +++ b/lib/body_tracking/formula.rb @@ -83,7 +83,8 @@ module BodyTracking # failing test vectors: # - fcall disallowed: "abs(Fats)+Energy < 10" # working test vectors: - # a.abs(Fats)+Energy < 10 + # Fats.abs+Energy < 10 + # (Energy-Calculated).abs > 10 identifiers = [] disallowed_functions = Set.new @@ -93,7 +94,7 @@ module BodyTracking while stree.first ttype, token, *rest = stree.shift case ttype - when :program, :args_add_block + when :program, :args_add_block, :paren stree.unshift(*token) when :binary operator, token2 = rest @@ -116,7 +117,7 @@ module BodyTracking when :var_ref vtype, vname, vloc = token identifiers << vname - when :@int + when :@int, :@float else errors << [:disallowed_token, {token: token, ttype: ttype}] end