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 almost 9 years ago
В Fortress эта возможность появилась - нужно использовать.
Updated by Alexander Kamkin almost 9 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 about 8 years ago
Вместо int использовать BigInteger.
Updated by Alexander Kamkin about 5 years ago
- Status changed from Open to Resolved
Updated by Alexander Kamkin about 5 years ago
- Status changed from Resolved to Closed
Actions