Я хочу, чтобы иметь возможность написать вложенное выражение как это:Вложенные макросы в Ракетка
(AND/OR expr1 op1 expr2 AND/OR expr3 op2 expr4 and so on)
Где И/ИЛИ, по существу, И или ИЛИ. Но я хочу иметь возможность писать бесконечное количество из них. Я использую define-syntax
, чтобы попытаться это сделать, но я не уверен, как принимать бесконечное количество вложенных выражений.
Не возражайте против expr и op в моем примере, эту часть я могу справиться сам. Я только хочу знать, как принимать бесконечное гнездование.
Пример:
(SELECT somecolumns
FROM sometable
WHERE something
AND/OR something
AND/OR (something AND/OR something)
AND/OR ...)
У Вас есть несколько входов образцов и образец ожидаемых результатов? –
Я отредактировал сообщение с примером, который может сделать все более ясным. – Mathias
Кажется, вам понравится писать ваши выражения типа '(AND/OR expr1 op1 expr2 (AND/OR expr3 op2 ...))'. Тогда ваши макросы, естественно, составят. В противном случае вы будете работать против синтаксиса s-expression, что усложнит ситуацию. –