Kactus2
Kactus2 reference guide
Loading...
Searching...
No Matches
SystemVerilogSyntax.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// File: SystemVerilogSyntax.h
3//-----------------------------------------------------------------------------
4// Project: Kactus2
5// Author: Esko Pekkarinen
6// Date: 11.12.2014
7//
8// Description:
9// Common elements of SystemVerilog.
10//-----------------------------------------------------------------------------
11
12#include <QString>
13
15{
16 const QString SIZE = QStringLiteral("[1-9]?[0-9]*");
17 const QString SIGNED = QStringLiteral("[sS]?");
18
19 const QString BOOLEAN_VALUE = QStringLiteral("(?i)true|(?i)false");
20 const QString REAL_NUMBER = QStringLiteral("[-+]?[0-9_]+[.][0-9_]+");
21 const QString DECIMAL_NUMBER = QStringLiteral("(?:") + SIZE + QStringLiteral("'") + SIGNED + QStringLiteral("[dD]?)?[0-9_]{1,18}");
22 const QString HEXADECIMAL_NUMBER = SIZE + QStringLiteral("'") + SIGNED + QStringLiteral("[hH][0-9a-fA-F_]{1,15}");
23 const QString OCTAL_NUMBER = SIZE + QStringLiteral("'") + SIGNED + QStringLiteral("[oO][0-7_]{1,20}");
24 const QString BINARY_NUMBER = SIZE + QStringLiteral("'") + SIGNED + QStringLiteral("[bB][01_]{1,62}");
25
26 const QString INTEGRAL_NUMBER = QStringLiteral("[+-]?(?:") + HEXADECIMAL_NUMBER + QStringLiteral("|") +
27 OCTAL_NUMBER + QStringLiteral("|") + BINARY_NUMBER + QStringLiteral("|") + DECIMAL_NUMBER + QStringLiteral(")");
28
29 const QString STRING_LITERAL = QStringLiteral("\"[^\"]*\"");
30
31 inline const QString MATH_FUNCTION = QStringLiteral("[$]pow|[$]clog2|[$]exp|[$]sqrt");
32}
const QString INTEGRAL_NUMBER
const QString HEXADECIMAL_NUMBER