Нет конкретного ограничения на число, переменные или ограничения.
Но вы работали с большими, сгенерированными исходными файлами, где в предложениях были тысячи подцелей. Поскольку ECLiPSe использует анализатор рекурсивного спуска, такие файлы могут вызвать переполнение стека ОС, в частности в Windows. Вы можете либо увеличить ограничение стека Windows , либо разбить сгенерированный код на более мелкие предложения и вызывать их вместе.
Однако, как правило, генерация текстового исходного кода не такая уж хорошая идея: его нужно создавать, писать, читать, анализировать, компилировать и затем выполнять только один раз. Вместо этого рассмотрим генерацию файла чистых данных , который содержит только такие вещи, как массивы / списки чисел, но без переменных . После этого вы можете иметь общую программу ECLiPSe, которая читает эти данные и использует их для создания переменных и ограничений, обычно в несколько циклов.
Для очень простого примера сравните https://eclipseclp.org/examples/transport1.pl.txt (где все данные явно указаны в плоской модели) с
https://eclipseclp.org/examples/transport_arr.pl.txt, где модель является общей, и все данные поступают из факта data / 3 в конце (это будет соответствовать сгенерированному файлу данных).