def unknown_directive(directive_name, line, column):
    return {
        'message': KnownDirectives.unknown_directive_message(directive_name),
        'locations': [SourceLocation(line, column)]
    }
def misplaced_directive(directive_name, placement, line, column):
    return {
        'message': KnownDirectives.misplaced_directive_message(directive_name, placement),
        'locations': [SourceLocation(line, column)]
    }