hdlConvertorAst.to.systemc package

Submodules

hdlConvertorAst.to.systemc.expr module

class hdlConvertorAst.to.systemc.expr.ToSystemcExpr(out_stream)[source]

Bases: hdlConvertorAst.to.common.ToHdlCommon

GENERIC_BIN_OPS = {<HdlOpType.DOUBLE_COLON: 56>: '::', <HdlOpType.AND: 18>: ' & ', <HdlOpType.OR: 19>: ' | ', <HdlOpType.XOR: 22>: ' ^ ', <HdlOpType.EQ: 36>: ' == ', <HdlOpType.NE: 37>: ' != ', <HdlOpType.MUL: 5>: ' * ', <HdlOpType.DIV: 4>: ' / ', <HdlOpType.POW: 8>: ' ** ', <HdlOpType.MOD: 6>: ' % ', <HdlOpType.SLL: 30>: ' << ', <HdlOpType.SRL: 31>: ' >> ', <HdlOpType.ADD: 3>: ' + ', <HdlOpType.SUB: 2>: ' - ', <HdlOpType.LT: 40>: ' < ', <HdlOpType.LE: 41>: ' <= ', <HdlOpType.GT: 42>: ' > ', <HdlOpType.GE: 43>: ' >= ', <HdlOpType.DOT: 55>: '.', <HdlOpType.ASSIGN: 61>: ' = ', <HdlOpType.PLUS_ASSIGN: 62>: ' += ', <HdlOpType.MINUS_ASSIGN: 63>: ' -= ', <HdlOpType.MUL_ASSIGN: 64>: ' *= ', <HdlOpType.DIV_ASSIGN: 65>: ' /= ', <HdlOpType.MOD_ASSIGN: 66>: ' %= ', <HdlOpType.AND_ASSIGN: 67>: ' &= ', <HdlOpType.OR_ASSIGN: 68>: ' |= ', <HdlOpType.XOR_ASSIGN: 69>: ' ^= ', <HdlOpType.SHIFT_LEFT_ASSIGN: 70>: ' <<= ', <HdlOpType.SHIFT_RIGHT_ASSIGN: 71>: ' >>= '}
GENERIC_UNARY_OPS = {<HdlOpType.NEG_LOG: 14>: '!', <HdlOpType.NEG: 15>: '~', <HdlOpType.MINUS_UNARY: 0>: '-', <HdlOpType.PLUS_UNARY: 1>: '+', <HdlOpType.INCR_PRE: 10>: '++', <HdlOpType.DECR_PRE: 11>: '--'}
GENERIC_UNARY_OPS_POSTFIX = {<HdlOpType.INCR_POST: 12>: '++', <HdlOpType.DECR_POST: 13>: '--'}
OP_PRECEDENCE = {<HdlOpType.DOUBLE_COLON: 56>: (1, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.INCR_POST: 12>: (2, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.DECR_POST: 13>: (2, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.TYPE_OF: 85>: (2, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.CALL: 75>: (2, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.INDEX: 50>: (3, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.DOT: 55>: (2, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.ARROW: 58>: (2, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.PARAMETRIZATION: 80>: (2, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.INCR_PRE: 10>: (3, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.DECR_PRE: 11>: (3, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.MINUS_UNARY: 0>: (3, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.PLUS_UNARY: 1>: (3, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.NEG_LOG: 14>: (3, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.NEG: 15>: (3, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.REFERENCE: 59>: (3, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.DIV: 4>: (5, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.MUL: 5>: (5, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.MOD: 6>: (5, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.ADD: 3>: (6, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.SUB: 2>: (6, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.SLL: 30>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.SRL: 31>: (7, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.GT: 42>: (9, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.LT: 40>: (9, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.GE: 43>: (9, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.LE: 41>: (9, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.NE: 37>: (10, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.EQ: 36>: (10, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.AND: 18>: (11, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.XOR: 22>: (12, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.OR: 19>: (13, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.AND_LOG: 16>: (14, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.OR_LOG: 17>: (15, <ASSOCIATIVITY.L_TO_R: 'L_TO_R'>), <HdlOpType.TERNARY: 74>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.ASSIGN: 61>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.PLUS_ASSIGN: 62>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.MINUS_ASSIGN: 63>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.MUL_ASSIGN: 64>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.DIV_ASSIGN: 65>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.MOD_ASSIGN: 66>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.AND_ASSIGN: 67>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.OR_ASSIGN: 68>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.XOR_ASSIGN: 69>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.SHIFT_LEFT_ASSIGN: 70>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.SHIFT_RIGHT_ASSIGN: 71>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.ARITH_SHIFT_LEFT_ASSIGN: 72>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>), <HdlOpType.ARITH_SHIFT_RIGHT_ASSIGN: 73>: (16, <ASSOCIATIVITY.R_TO_L: 'R_TO_L'>)}
visit_HdlOp(op)[source]
visit_HdlValueInt(o)[source]
visit_iHdlExpr(o)[source]

hdlConvertorAst.to.systemc.keywords module

hdlConvertorAst.to.systemc.stm module

class hdlConvertorAst.to.systemc.stm.ToSystemcStm(out_stream)[source]

Bases: hdlConvertorAst.to.systemc.expr.ToSystemcExpr

visit_HdlStmAssign(o)[source]
Returns:True if requires ;n after end
visit_HdlStmBlock(o)[source]
visit_HdlStmBreak(o)[source]
visit_HdlStmCase(o)[source]
Returns:True if requires ;n after end
visit_HdlStmContinue(o)[source]
visit_HdlStmIf(o)[source]
visit_HdlStmProcess(o)[source]
visit_HdlStmReturn(o)[source]
visit_HdlStmThrow(o)[source]
visit_iHdlStatement(o)[source]
visit_iHdlStatement_in_statement(stm)[source]