| I don't think that = suffixes will be an issue… with a LR(1) parser you should be able to distinguish since facts.endswithequals= "foo" is invalid, facts.endswithequals= = "foo" works. If you have another fact named “endswithequals” it's exactly the opposite. So, you should be able to distinguish them. You're going to have problems with facts with spaces in the name anyway (I think those are allowed). Even if you couldn't distinguish them, it would be a lot clearer to allow syntax like facts["endswithequals="] or facts.endswithequals\=. |