![]()  | 
  
    Tensor Comprehensions
    
   | 
 
#include <sema.h>

Public Attributes | |
| std::unordered_map< TreeRef,  TreeRef >  | expr_to_type | 
Private Types | |
| using | Env = std::unordered_map< std::string, TreeRef > | 
Private Member Functions | |
| void | insert (Env &the_env, Ident ident, TreeRef value, bool must_be_undefined) | 
| TreeRef | lookup (Ident ident, bool required) | 
| TreeRef | lookup (Env &the_env, Ident ident, bool required) | 
| TreeRef | c (int kind, const SourceRange &range, TreeList &&trees) | 
| TreeRef | s (const std::string &s) | 
Private Attributes | |
| std::vector< TreeRef > | reduction_variables | 
| Env | index_env | 
| Env | let_env | 
| Env | env | 
| Env | annotated_output_types | 
| std::unordered_set< std::string > | live_input_names | 
| std::unordered_set< std::string > | nonTemporaries | 
Semantic analysis transforms the raw AST into a typed and semantically correct tree. Currently it:
      
  | 
  private | 
      
  | 
  inlineprivate | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inlineprivate | 
      
  | 
  inline | 
      
  | 
  inlineprivate | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private |