Esempio n. 1
0
def p_component_definition(p):
    '''component_definition : COMPONENT IDENTIFIER INPUTS scalar_or_tuple_identifier_comma_list OUTPUTS scalar_or_tuple_identifier_comma_list opt_configuration opt_declarations AS arrow_expression
                            | COMPONENT IDENTIFIER INPUTS scalar_or_tuple_identifier_comma_list OUTPUTS scalar_or_tuple_identifier_comma_list opt_configuration DO do_commands'''
    lineno = p.lineno(1)
    identifier = Identifier(p.parser.filename, p.lineno(2), p[2])
    if len(p) > 10:
        p[0] = Component.getNodeComponent(p.parser.filename,
                                          lineno,
                                          identifier,
                                          p[4],
                                          p[6],
                                          p[7],
                                          p[8],
                                          p[10])
    else:
        p[0] = Component.getLeafComponent(p.parser.filename,
                                          lineno,
                                          identifier,
                                          p[4],
                                          p[6],
                                          p[7],
                                          p[9])