easier context usage.
added rule_context which points to the enclosing rule's attribute (and later locals and rule arguments)