public void read_main_variable (SimpleNode declarations, Symbol_table symbol_table, Variable_table variable_table, Type_table type_table) throws SemanticErr{

            int declaration_num = declarations.jjtGetNumChildren();
            for (int i = 0; i < declaration_num; i++) {
                SimpleNode var_declaration = (SimpleNode) declarations.jjtGetChild(i).jjtGetChild(0);
                String var_name = var_declaration.jjtGetFirstToken().next.toString();
                String var_type = var_declaration.jjtGetFirstToken().next.next.next.toString();
                if (!check_repeat_symbol(symbol_table, var_name)) {
                    throw new SemanticErr("Line: "+var_declaration.jjtGetFirstToken().beginLine+"  variable " + var_name + " declaration name repeat");
                }
                if (!check_type_exist(type_table, var_type)) {
                    throw new SemanticErr("Line: "+var_declaration.jjtGetFirstToken().beginLine+"  variable " + var_type + " declaration type not exist");
                }
                symbol_table.symbol_name.add(var_name);
                symbol_table.symbol_type.add(Symbol_table.Symbol_type.VARIABLE_NAME);
                variable_table.variable_name.add(var_name);
                variable_table.variable_type.add(var_type);
                variable_table.variable_value.add(0);

            }

    }