The PHP parser has encountered an attempt to use an object operator on something that does not look like an object variable at the parsing level. This is usually caused by a missing $ sign in front of the variable:
// BAD
print person->name;
// GOOD
print $person->name;
print person->name;
// GOOD
print $person->name;