Esempio n. 1
0
def block_if(deep_act,
             n_statements_min=10,
             n_statements_max=20,
             n_guard_statements_min=1,
             n_guard_statements_max=5,
             n_else_if_min=1,
             n_else_if_max=5,
             deep_max=5,
             case_values_min=-1000,
             case_values_max=1000):
    res = Utils.low_up_string("If ")
    declarations = ""
    n_guard_statements = randint(
        min(n_guard_statements_min, n_guard_statements_max),
        max(n_guard_statements_min, n_guard_statements_max))
    log_statements = logical_statements(
        n_guard_statements) + Utils.low_up_string(" Then") + "\n"
    logic_variables = ExtractKeywords.extract_variables(log_statements)
    for i in logic_variables:
        declarations += Utils.generate_random_declarator(
        ) + assign_by_var_name(i) + "\n"
    res += log_statements
    res += block(deep_act + 1, n_statements_min, n_statements_max,
                 n_guard_statements_min, n_guard_statements_max, n_else_if_min,
                 n_else_if_max, deep_max, case_values_min,
                 case_values_max) + "\n"
    else_type = randint(0, 1)  # 0 -> Else if, 1 -> Else #
    if else_type == 0:
        n_else_if = randint(min(n_else_if_min, n_else_if_max),
                            max(n_else_if_min, n_else_if_max))
        for i in xrange(n_else_if):
            log_statements = logical_statements(
                randint(min(n_guard_statements_min, n_guard_statements_max),
                        max(n_guard_statements_min, n_guard_statements_max)))
            logic_variables = ExtractKeywords.extract_variables(log_statements)
            for i in logic_variables:
                declarations += Utils.generate_random_declarator(
                ) + assign_by_var_name(i) + "\n"
            res += Utils.low_up_string(
                "ElseIf ") + log_statements + Utils.low_up_string(
                    " Then\n") + block(
                        deep_act + 1, n_statements_min, n_statements_max,
                        n_guard_statements_min, n_guard_statements_max,
                        n_else_if_min, n_else_if_max, deep_max,
                        case_values_min, case_values_max) + "\n"
    res += Utils.low_up_string("Else ") + "\n" + block(
        deep_act + 1, n_statements_min, n_statements_max,
        n_guard_statements_min, n_guard_statements_max, n_else_if_min,
        n_else_if_max, deep_max, case_values_min, case_values_max) + "\n"
    res += Utils.low_up_string("EndIf") + "\n"
    return declarations + res
Esempio n. 2
0
def block_if(deep_act,n_statements_min=10,n_statements_max=20,n_guard_statements_min=1,n_guard_statements_max=5,n_else_if_min=1,n_else_if_max=5,deep_max=5,case_values_min=-1000,case_values_max=1000): 
    res = Utils.low_up_string("If ")
    declarations = ""
    n_guard_statements = randint(min(n_guard_statements_min,n_guard_statements_max),max(n_guard_statements_min,n_guard_statements_max))
    log_statements = logical_statements(n_guard_statements) + Utils.low_up_string(" Then")+"\n"
    logic_variables = ExtractKeywords.extract_variables(log_statements)
    for i in logic_variables: declarations += Utils.generate_random_declarator()+assign_by_var_name(i)+"\n"
    res += log_statements
    res += block(deep_act+1,n_statements_min,n_statements_max,n_guard_statements_min,n_guard_statements_max,n_else_if_min,n_else_if_max,deep_max,case_values_min,case_values_max)+"\n"
    else_type = randint(0,1) # 0 -> Else if, 1 -> Else #
    if else_type==0: 
	n_else_if = randint(min(n_else_if_min,n_else_if_max),max(n_else_if_min,n_else_if_max))
	for i in xrange(n_else_if):	    
	    log_statements = logical_statements(randint(min(n_guard_statements_min,n_guard_statements_max),max(n_guard_statements_min,n_guard_statements_max)))
	    logic_variables = ExtractKeywords.extract_variables(log_statements)
	    for i in logic_variables: declarations += Utils.generate_random_declarator()+assign_by_var_name(i)+"\n"
	    res += Utils.low_up_string("ElseIf ")+log_statements+Utils.low_up_string(" Then\n")+block(deep_act+1,n_statements_min,n_statements_max,n_guard_statements_min,n_guard_statements_max,n_else_if_min,n_else_if_max,deep_max,case_values_min,case_values_max)+"\n"
    res += Utils.low_up_string("Else ")+"\n"+block(deep_act+1,n_statements_min,n_statements_max,n_guard_statements_min,n_guard_statements_max,n_else_if_min,n_else_if_max,deep_max,case_values_min,case_values_max)+"\n"
    res += Utils.low_up_string("EndIf")+"\n"
    return declarations+res
Esempio n. 3
0
def ternary_operation(n_guard_statements_min=1,n_guard_statements_max=3):
    res          = ""
    declarations = ""
    var          = variable()
    n_guard_statements = randint(min(n_guard_statements_min,n_guard_statements_max),
				 min(n_guard_statements_min,n_guard_statements_max))
    log_statements = logical_statements(n_guard_statements)
    logic_variables = ExtractKeywords.extract_variables(log_statements)
    res += Utils.generate_random_declarator()+var+"\n"
    for i in logic_variables: declarations += Utils.generate_random_declarator()+assign_by_var_name(i)+"\n"
    res         += var+" = (" + log_statements + ") ? " + value() + " : " + value()
    return declarations+res+"\n"
Esempio n. 4
0
def ternary_operation(n_guard_statements_min=1, n_guard_statements_max=3):
    res = ""
    declarations = ""
    var = variable()
    n_guard_statements = randint(
        min(n_guard_statements_min, n_guard_statements_max),
        min(n_guard_statements_min, n_guard_statements_max))
    log_statements = logical_statements(n_guard_statements)
    logic_variables = ExtractKeywords.extract_variables(log_statements)
    res += Utils.generate_random_declarator() + var + "\n"
    for i in logic_variables:
        declarations += Utils.generate_random_declarator(
        ) + assign_by_var_name(i) + "\n"
    res += var + " = (" + log_statements + ") ? " + value() + " : " + value()
    return declarations + res + "\n"
Esempio n. 5
0
def block_while(deep_act,
                n_statements_min=10,
                n_statements_max=20,
                n_guard_statements_min=1,
                n_guard_statements_max=5,
                n_else_if_min=1,
                n_else_if_max=5,
                deep_max=5,
                case_values_min=-1000,
                case_values_max=1000):
    n_guard_statements = randint(
        min(n_guard_statements_min, n_guard_statements_max),
        max(n_guard_statements_min, n_guard_statements_max))
    log_statements, declarations = logical_statements(n_guard_statements), ""
    logic_variables = ExtractKeywords.extract_variables(log_statements)
    relational_operators = ExtractKeywords.extract_relational_operators(
        log_statements)
    const_values = ExtractKeywords.extract_integer(log_statements)
    for i in logic_variables:
        declarations += Utils.generate_random_declarator(
        ) + assign_by_var_name(i) + "\n"
    res = declarations + Utils.low_up_string("\nWhile ") + log_statements
    return res  # Acabar #