Simple filter parser (no AST)