#!/bin/sh

# Copyright (c) 2020-2023 by the Zeek Project. See LICENSE for details.

if [ $# != 2 ]; then
    echo "usage: $(basename $0) <namespace> /path/to/hilti/include/ast/operators"
    exit 1
fi

find $2 -type f | grep -v common.h | while read i; do
    cat $i | \
        grep -v '#define' | \
        awk '/(BEGIN_|STANDARD|OPERATOR_DECLARE_ONLY).*\($/ { getline x; printf "%s %s", $0, x; next} {print}' | \
        grep -E 'BEGIN_|STANDARD|OPERATOR_DECLARE_ONLY' | \
        awk -v ns=$1 -F '[(), ]+' '{ printf "%s::operator_::%s::%s : isResolvedOperator\n", ns, $2, $3 }' | \
        grep -v ns::op;
done | sort
