anchor.diff:          action_statements
           "endrule" [ ":"  rule_name ]
   
  -    rule variable_assignment:
  -        VAR  "=" expression ';'
  -
  -    rule variable_declaration:
  -        Type_item VAR [ "=" expression ] ';'
  -
  -    rule variable_declaration_and_initializations:
  -        variable_declaration
  -        | let_statement
  -
       rule rules_statement:
           "rules" [ ":"  rules_name]
           rule_satements
  -        (variable_declaration | variable_assignment)*
  -        #variable_declaration
  +        (variable_declaration_or_call ';')*
           "endrules" [ ":"  rules_name]
   
       rule action_statement:
  
positive.code:     rule Type_name: VAR
  
      rule Type_item:
          ( "Bit#" | "Int#" | "Uint#" | "ComplexF#" ) "\\(" expression "\\)"
          | "Integer" | "Bool" | "String" | "Action" | "ActionValue#" "\\(" VAR "\\)"
          | "Nat"
  
  
negative.code: globalvars = {}       # We will store the calculator's variables here
  def lookup(map, name):
      print "lookup", map, name
      for x, v in map:
          if x == name: return v
      if not globalvars.has_key(name):
  