fix #557: use path parser for array index access