def not_followed_by(parser):
@tri<EOL>def not_followed_by_block():<EOL><INDENT>failed = object()<EOL>result = optional(tri(parser), failed)<EOL>if result != failed:<EOL><INDENT>fail(["<STR_LIT>" + _fun_to_str(parser)])<EOL><DEDENT><DEDENT>choice(not_followed_by_block)<EOL>
Succeeds if the given parser cannot consume input