def classify_opening_declaration(iToken, lObjects): iCurrent = utils.assign_next_token_required('configuration', token.configuration_keyword, iToken, lObjects) iCurrent = utils.assign_next_token(token.identifier, iCurrent, lObjects) iCurrent = utils.assign_next_token_required('of', token.of_keyword, iCurrent, lObjects) iCurrent = utils.assign_next_token(token.entity_name, iCurrent, lObjects) iCurrent = utils.assign_next_token_required('is', token.is_keyword, iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects): iCurrent = utils.assign_next_token_required('group', token.group_keyword, iToken, lObjects) iCurrent = utils.assign_next_token(token.identifier, iCurrent, lObjects) iCurrent = utils.assign_next_token_required(':', token.colon, iCurrent, lObjects) iCurrent = utils.assign_next_token(token.group_template_name, iCurrent, lObjects) iCurrent = utils.assign_next_token_required('(', token.open_parenthesis, iCurrent, lObjects) iCurrent = group_constituent_list.classify(iCurrent, lObjects) iCurrent = utils.assign_next_token_required(')', token.close_parenthesis, iCurrent, lObjects) iCurrent = utils.assign_next_token_required(';', token.semicolon, iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects): iCurrent = utils.assign_next_token_required('context', token.keyword, iToken, lObjects) iCurrent = utils.assign_next_token(token.selected_name, iCurrent, lObjects) while utils.is_next_token(',', iCurrent, lObjects): iCurrent = utils.assign_next_token_required(',', token.comma, iCurrent, lObjects) iCurrent = utils.assign_next_token(token.selected_name, iCurrent, lObjects) iCurrent = utils.assign_next_token_required(';', token.semicolon, iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects): ''' association_list ::= association_element { , association_element } ''' iCurrent = utils.assign_next_token(token.group_constituent, iToken, lObjects) while utils.is_next_token(',', iCurrent, lObjects): iCurrent = utils.assign_next_token_required(',', token.comma, iCurrent, lObjects) iCurrent = utils.assign_next_token(token.group_constituent, iToken, lObjects) return iCurrent
def classify(iToken, lObjects): iCurrent = utils.assign_next_token_if('pure', token.pure_keyword, iToken, lObjects) iCurrent = utils.assign_next_token_if('impure', token.impure_keyword, iCurrent, lObjects) iCurrent = utils.assign_next_token_required('function', token.function_keyword, iToken, lObjects) iCurrent = utils.assign_next_token(token.designator, iCurrent, lObjects) iCurrent = utils.assign_next_token_if('parameter', token.parameter_keyword, iCurrent, lObjects) if utils.is_next_token('(', iCurrent, lObjects): iCurrent = utils.assign_next_token_required('(', token.open_parenthesis, iCurrent, lObjects) iCurrent = formal_parameter_list.classify(iCurrent, lObjects) iCurrent = utils.assign_next_token_required(')', token.close_parenthesis, iCurrent, lObjects) iCurrent = utils.assign_next_token_required('return', token.return_keyword, iToken, lObjects) iCurrent = type_mark.classify(iToken, lObjects) return iCurrent
def classify(iToken, lObjects): iCurrent = utils.assign_next_token_required('alias', token.alias_keyword, iToken, lObjects) iCurrent = utils.assign_next_token(token.alias_designator, iCurrent, lObjects) if utils.is_next_token(':', iCurrent, lObjects): iCurrent = utils.assign_next_token_required(':', token.colon, iCurrent, lObjects) iCurrent = subtype_indication.classify_until(['is'], iCurrent, lObjects) iCurrent = utils.assign_next_token_required('is', token.is_keyword, iCurrent, lObjects) iCurrent = name.classify_until([';', '['], iCurrent, lObjects) iCurrent = signature.detect(iCurrent, lObjects) iCurrent = utils.assign_next_token_required(';', token.semicolon, iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects, oType=token.identifier): ''' identifier ::= basic_identifier | extended_identifier ''' return utils.assign_next_token(oType, iToken, lObjects)
def classify(iToken, lObjects): ''' type_mark ::= *type*_name | *subtype*_name ''' return utils.assign_next_token(token.name, iToken, lObjects)
def classify_opening_declaration(iToken, lObjects): iCurrent = utils.assign_next_token_required('package', token.package_keyword, iToken, lObjects) iCurrent = utils.assign_next_token(token.identifier, iCurrent, lObjects) iCurrent = utils.assign_next_token_required('is', token.is_keyword, iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects): iCurrent = subprogram_kind.classify(iToken, lObjects) iCurrent = utils.assign_next_token(token.identifier, iCurrent, lObjects) iCurrent = utils.assign_next_token_required('is', token.is_keyword, iCurrent, lObjects) iCurrent = utils.assign_next_token_required('new', token.new_keyword, iCurrent, lObjects) iCurrent = utils.assign_next_token(token.uninstantiated_subprogram_name, iCurrent, lObjects) iCurrent = signature.detect(iCurrent, lObjects) iCurrent = generic_map_aspect.detect(iCurrent, lObjects) iCurrent = utils.assign_next_token_required(';', token.semicolon, iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects): iCurrent = utils.assign_next_token_required('attribute', token.attribute_keyword, iToken, lObjects) iCurrent = utils.assign_next_token(token.identifier, iCurrent, lObjects) iCurrent = utils.assign_next_token_required(':', token.colon, iCurrent, lObjects) iCurrent = type_mark.classify(iCurrent, lObjects) iCurrent = utils.assign_next_token_required(';', token.semicolon, iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects): ''' entity_designator ::= entity_tag [ signature ] ''' iCurrent = utils.assign_next_token(token.entity_tag, iToken, lObjects) iCurrent = signature.detect(iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects): iCurrent = utils.assign_next_token_required('procedure', token.procedure_keyword, iToken, lObjects) iCurrent = utils.assign_next_token(token.designator, iCurrent, lObjects) iCurrent = utils.assign_next_token_if('parameter', token.parameter_keyword, iCurrent, lObjects) if utils.is_next_token('(', iCurrent, lObjects): iCurrent = utils.assign_next_token_required('(', token.open_parenthesis, iCurrent, lObjects) iCurrent = formal_parameter_list.classify(iCurrent, lObjects) iCurrent = utils.assign_next_token_required(')', token.close_parenthesis, iCurrent, lObjects) return iCurrent
def classify_until(lUntils, iToken, lObjects): ''' parameter_specification ::= identifier in discrete_range ''' iCurrent = utils.assign_next_token(token.identifier, iToken, lObjects) iCurrent = utils.assign_next_token_required('in', token.in_keyword, iCurrent, lObjects) iCurrent = discrete_range.classify_until(lUntils, iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects): iCurrent = utils.assign_next_token_required('(', token.open_parenthesis, iToken, lObjects) while not utils.is_next_token(')', iCurrent, lObjects): iCurrent = utils.assign_next_token_if(',', token.comma, iCurrent, lObjects) iCurrent = utils.assign_next_token(token.enumeration_literal, iCurrent, lObjects) iCurrent = utils.assign_next_token_required(')', token.close_parenthesis, iCurrent, lObjects) return iCurrent
def classify_until(lUntils, iToken, lObjects): ''' sensitivity_list ::= *signal*_name { , *signal*_name} ''' iCurrent = iToken iLast = 0 while iLast != iCurrent: iLast = iCurrent if lObjects[utils.find_next_token(iCurrent, lObjects)].get_value().lower() in lUntils: return iCurrent iCurrent = utils.assign_next_token_if(',', token.comma, iCurrent, lObjects) iCurrent = utils.assign_next_token(parser.todo, iCurrent, lObjects)
def classify(iToken, lObjects): ''' entity_specification ::= entity_name_list : entity_class ''' iCurrent = entity_name_list.classify(iToken, lObjects) iCurrent = utils.assign_next_token_required(':', token.colon, iCurrent, lObjects) iCurrent = utils.assign_next_token(token.entity_class, iCurrent, lObjects) return iCurrent
def classify_until(lUntils, iToken, lObjects): ''' choice ::= simple_expression | discrete_range | *element*_simple_name | others ''' for iIndex in range(iToken, len(lObjects)): if not utils.is_item(lObjects, iIndex): continue if utils.is_next_token_in_list(lUntils, iIndex, lObjects): return iIndex else: if utils.is_next_token('others', iIndex, lObjects): utils.assign_next_token_required('others', token.others_keyword, iIndex, lObjects) else: utils.assign_next_token(parser.todo, iIndex, lObjects) return iToken
def classify(iToken, lObjects): iCurrent = utils.tokenize_label(iToken, lObjects, token.label, token.label_colon) iCurrent = utils.assign_next_token_required('next', token.next_keyword, iCurrent, lObjects) if not utils.is_next_token(';', iCurrent, lObjects) and not utils.is_next_token('when', iCurrent, lObjects): iCurrent = utils.assign_next_token(token.loop_label, iCurrent, lObjects) if utils.is_next_token('when', iCurrent, lObjects): iCurrent = utils.assign_next_token_required('when', token.when_keyword, iCurrent, lObjects) iCurrent = condition.classify_until([';'], iCurrent, lObjects) iCurrent = utils.assign_next_token_required(';', token.semicolon, iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects): iCurrent = iToken if utils.is_next_token('component', iCurrent, lObjects): iCurrent = utils.assign_next_token_required('component', token.component_keyword, iCurrent, lObjects) iCurrent = utils.assign_next_token(token.component_name, iCurrent, lObjects) elif utils.is_next_token('configuration', iCurrent, lObjects): iCurrent = utils.assign_next_token_required( 'configuration', token.configuration_keyword, iCurrent, lObjects) iCurrent = utils.assign_next_token(token.configuration_name, iCurrent, lObjects) elif utils.is_next_token('entity', iCurrent, lObjects): iCurrent = utils.assign_next_token_required('entity', token.entity_keyword, iCurrent, lObjects) iCurrent = utils.assign_next_token(token.entity_name, iCurrent, lObjects) if utils.is_next_token('(', iCurrent, lObjects): iCurrent = utils.assign_next_token_required( '(', token.open_parenthesis, iCurrent, lObjects) iCurrent = utils.assign_next_token_if_not( ')', token.architecture_identifier, iCurrent, lObjects) iCurrent = utils.assign_next_token_required( ')', token.close_parenthesis, iCurrent, lObjects) else: iCurrent = utils.assign_next_token(token.component_name, iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects): iCurrent = iToken if utils.is_next_token('open', iCurrent, lObjects): iCurrent = utils.assign_next_token_required('open', token.open_keyword, iCurrent, lObjects) iCurrent = utils.assign_next_token(token.file_open_kind_expression, iCurrent, lObjects) iCurrent = utils.assign_next_token_required('is', token.is_keyword, iCurrent, lObjects) iCurrent = file_logical_name.classify(iCurrent, lObjects) return iCurrent
def classify_until(lUntils, iToken, lObjects): ''' logical_name_list ::= logical_name { , logical_name } ''' iCurrent = iToken iLast = 0 while iLast != iCurrent: iLast = iCurrent if lObjects[utils.find_next_token( iCurrent, lObjects)].get_value().lower() in lUntils: return iCurrent iCurrent = utils.assign_next_token_if(',', token.comma, iCurrent, lObjects) iCurrent = utils.assign_next_token(token.logical_name, iCurrent, lObjects)
def classify(iToken, lObjects): iCurrent = utils.assign_next_token_required('package', token.package_keyword, iToken, lObjects) iCurrent = identifier.classify(iCurrent, lObjects) iCurrent = utils.assign_next_token_required('is', token.is_keyword, iCurrent, lObjects) iCurrent = utils.assign_next_token_required('new', token.new_keyword, iCurrent, lObjects) iCurrent = utils.assign_next_token(token.uninstantiated_package_name, iCurrent, lObjects) iCurrent = interface_package_generic_map_aspect.detect(iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects): ''' procedure_call ::= *procedure*_name [ ( actual_parameter_part ) ] ''' iCurrent = utils.assign_next_token(token.procedure_name, iToken, lObjects) if utils.is_next_token('(', iToken, lObjects): iCurrent = utils.assign_next_token_required('(', token.open_parenthesis, iCurrent, lObjects) iCurrent = actual_parameter_part.classify(iCurrent, lObjects) iCurrent = utils.assign_next_token_required(')', token.close_parenthesis, iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects): iCurrent = utils.assign_next_token_required('context', token.context_keyword, iToken, lObjects) iCurrent = utils.assign_next_token(token.identifier, iCurrent, lObjects) iCurrent = utils.assign_next_token_required('is', token.is_keyword, iCurrent, lObjects) iCurrent = context_clause.detect(iCurrent, lObjects) iCurrent = utils.assign_next_token_required('end', token.end_keyword, iCurrent, lObjects) iCurrent = utils.assign_next_token_if('context', token.end_context_keyword, iCurrent, lObjects) iCurrent = utils.assign_next_token_if_not(';', token.context_simple_name, iCurrent, lObjects) iCurrent = utils.assign_next_token_required(';', token.semicolon, iCurrent, lObjects) return iCurrent
def classify(iToken, lObjects): iCurrent = utils.assign_next_token_required('attribute', token.attribute_keyword, iToken, lObjects) iCurrent = utils.assign_next_token(token.attribute_designator, iCurrent, lObjects) iCurrent = utils.assign_next_token_required('of', token.of_keyword, iCurrent, lObjects) iCurrent = entity_specification.classify(iCurrent, lObjects) iCurrent = utils.assign_next_token_required('is', token.is_keyword, iCurrent, lObjects) iCurrent = expression.classify_until([';'], iCurrent, lObjects) iCurrent = utils.assign_next_token_required(';', token.semicolon, iCurrent, lObjects) return iCurrent