# Default table used in automatic mode, that is, when the users trusts AutoTeach # to do the job. Implements a (hopefully) reasonable default, general-purpose policy, # revealing the code gradually. The user can still override whatever he wishes with annotations. # # DO NOT EDIT THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING. # This file should only be edited by a developer who is modifying AutoTeach and wants to # change its default policies. Users of AutoTeach willing to use a different policy from # AutoTeach's default should load a custom table instead of modifying this file. # # ------------------------- Complex blocks ------------------------- # Hint level: 0 1 2 3 4 5 6 7 feature T content feature U arguments T content arguments F T precondition T content precondition F F T locals T content locals F F F T routine_body T content routine_body F F F F F F T if F F F F T content if U if_condition F F F F F T if_branch T content if_branch F F F F F F F T inspect F F F F T content inspect U inspect_branch T content inspect_branch F F F F F F F T loop F F F F T content loop U loop_initialization T content loop_initialization F F F F F T loop_termination T content loop_termination F F F F F T # See below for loop_termination_expression loop_invariant T content loop_invariant F F F F F T loop_body T content loop_body F F F F F F F T loop_variant T content loop_variant F F F F F T # See below for loop_variant_expression postcondition T content postcondition F F T class_invariant T content class_invariant F F T # ------------------------- Atomic blocks ------------------------- # The visibility of atomic blocks should in general not be fixed. # Instead, it should be determined by the content visibility of # the location where they appear. # Hint level: 0 argument_declaration U local_declaration U assertion U instruction U loop_termination_expression U loop_variant_expression U