Task #4128
closed
Вычисление константных выражений
Added by Alexander Kamkin over 11 years ago.
Updated over 6 years ago.
Description
Реализовать вычислитель константных выражений:
- Подстановка значений параметров.
- Вычисление константных выражений (подвыражений).
- Замена константных выражений на константы.
- Простейшие трансформации выражений (replication -> concatenation).
- Target version set to 0.1
В Fortress эта возможность появилась - нужно использовать.
Подставлять параметры нельзя, они могут быть изменены при инстанциации. Можно подставлять localparam (это нужно проверить).
Константные выражения можно разделить на два типа:
- чистое константное выражение;
- выражение, зависящее от параметра.
Выполняется схлопывание константных выражений. После этого константные выражения становятся константами.
expression.isConstant()
- проверка, является ли выражение константным.
expression.evaluate()
- получение значения выражения (null
, если выражение не является константным).
expression.evaluateInteger()
- результат типа int
(-1
, если выражение не является константным).
expression.evaluate(parameters)
- получение значения выражения для заданных значений параметров (null
, если не все параметры заданы).
expression.evaluateInteger(parameters)
- результат типа int
(-1
, если выражение не является константным).
- Status changed from New to Open
Вместо int использовать BigInteger.
- Status changed from Open to Resolved
- Status changed from Resolved to Closed
Also available in: Atom
PDF