Actions
Task #4128
closedВычисление константных выражений
Start date:
04/19/2013
Due date:
% Done:
0%
Estimated time:
Detected in build:
svn
Published in build:
Description
Реализовать вычислитель константных выражений:
- Подстановка значений параметров.
- Вычисление константных выражений (подвыражений).
- Замена константных выражений на константы.
- Простейшие трансформации выражений (replication -> concatenation).
Updated by Alexander Kamkin over 10 years ago
В Fortress эта возможность появилась - нужно использовать.
Updated by Alexander Kamkin over 10 years ago
Подставлять параметры нельзя, они могут быть изменены при инстанциации. Можно подставлять localparam (это нужно проверить).
Константные выражения можно разделить на два типа:- чистое константное выражение;
- выражение, зависящее от параметра.
Выполняется схлопывание константных выражений. После этого константные выражения становятся константами.
expression.isConstant()
- проверка, является ли выражение константным.expression.evaluate()
- получение значения выражения (null
, если выражение не является константным).expression.evaluateInteger()
- результат типаint
(-1
, если выражение не является константным).expression.evaluate(parameters)
- получение значения выражения для заданных значений параметров (null
, если не все параметры заданы).expression.evaluateInteger(parameters)
- результат типаint
(-1
, если выражение не является константным).
Updated by Alexander Kamkin almost 10 years ago
Вместо int использовать BigInteger.
Updated by Alexander Kamkin almost 7 years ago
- Status changed from Open to Resolved
Updated by Alexander Kamkin almost 7 years ago
- Status changed from Resolved to Closed
Actions