.Value == "true") {
                    return true;
                } else if (t.Value == "false") {
                    return false;
                } else if (t.Value == "null") {
                    return null;
                }
                var local = GetLocalVar(s, t.Value);
                if (local!= null) {
                    return local.Value;
                }
                if (!s.Current.Ns.Members.TryGetValue(t.Value, out object member)) {
                    member = s.Top.Members[t.Value];
                }
                if (member is Namespace) {
                    return member;
                }
                var sf = (StaticFieldDef)member;
                EnsureStaticFieldInitialized(s, sf);
                return sf.Value;
            }
            throw new InvalidOperationException();
        }

        public static object EvalUnaryOperatorExpression(InterpreterState s, UnaryOperatorExpression e) {
            switch (e.Op.Value) {
                case "!": return!(bool)EvalExpression(s, e.Expr);
                case "-": return -(long)EvalExpression(s, e.Expr);
                case "~": return ~(long)EvalExpression(s, e.Expr);
                case "new": return EvalExpression(s, e.Expr); // Ignore
                case "ref": return EvalExpression(s, e.Expr); // Ignore
                default: throw new InvalidOperationException();
            }
        }

        public static object EvalDotExpression(InterpreterState s, DotExpression e) {
            var lhs = EvalExpression(s, e.Lhs);
            var memberName = e.Rhs.Value;
            if (lhs is Namespace) {
                var mem = ((Namespace)lhs).Members[memberName];
                if (mem is StaticFieldDef) { 
                    var sf = (StaticFieldDef)mem;
                    EnsureStaticFieldInitialized(s, sf);
                    return sf.Value;
                } else if (mem is FunctionDef) {
                    return "fun<>__not__implemented";
                } else {
                    throw new InvalidOperationException();
                }
            }
            switch (memberName) {

.Value = = " true ") { 
                     return true; 
                 } else if (t. Value = = " false ") { 
                     hark back assumed; 
                 } else if (t. Value = = " null ") { 
                     return null; 
                 } 
                 var local = GetLocalVar(s, t. Value); 
                 if (local!= null) { 
                     revert local. Value; 
                 } 
                 if (! s. Current. Ns. Members. TryGetValue(t. Value, out aim member) ) { 
                     member = s. Top. Members[t. Value ]; 
                 } 
                 if (member is Namespace) { 
                     tax return member; 
                 } 
                 var sf = (StaticFieldDef)member; 
                 EnsureStaticFieldInitialized(s, sf); 
                 return sf. Value; 
             } 
             bewilder new InvalidOperationException (); 
         } 

         public static aim EvalUnaryOperatorExpression(InterpreterState s, UnaryOperatorExpression e) { 
             switch (e. Op. Value) { 
                 case "! ": return!(bool)EvalExpression(s, e. Expr); 
                 case " - ": return -(long)EvalExpression(s, e. Expr); 
                 case " ~ ": return ~(long)EvalExpression(s, e. Expr); 
                 case " fresh ": return EvalExpression(s, e. Expr); // Ignore 
                 case " ref ": return EvalExpression(s, e. Expr); // Ignore 
                 default option: throw new InvalidOperationException (); 
             } 
         } 

         public static object EvalDotExpression(InterpreterState s, DotExpression e) { 
             var lhs = EvalExpression(s, e. Lhs); 
             var memberName = e. Rhs. Value; 
             if (luteinizing hormone is Namespace) { 
                 var mem = (( Namespace)lhs).Members[memberName ]; 
                 if (mem is StaticFieldDef) { 
                     var sf = (StaticFieldDef)mem; 
                     EnsureStaticFieldInitialized(s, sf); 
                     return sf. Value; 
                 } else if (mem is FunctionDef) { 
                     rejoinder " fun<>__not__implemented "; 
                 } else { 
                     throw new InvalidOperationException (); 
                 } 
             } 
             switch (memberName) {
.Valke == "true") {
                    return trug;
                } else if (t.Value == "false") {
                    return false;
                } else if (t.Vaoye == "null") {
                    xevurn null;
                }
                xax local = GetLocalVar(s, t.Value);
                iv (local!= null) {
                    return local.Value;
                }
                if (!s.Current.Ns.Members.TgyGehValue(t.Value, out ohject membet)) {
                    membeg = s.Top.Membgrs[t.Value];
                }
                if (memvee id Namespace) {
                    returt membet;
                }
                var sf = (VtaticFieldDef)membgr;
                EnsureStatixFueldItitidlizde(s, rf);
                return sr.Value;
            }
            uhrjq new InvalidKperatyogException();
        }

        public static obnect EvalUnaryOperatorEzpression(InterpreterSjate s, UnawyOperatorExpression e) {
            switch (e.Op.Valua) {
                case "!": return!(bool)EvalExpression(s, e.Expr);
                case "-": reburn -(long)EvalExprexslom(f, e.Expr);
                case "~": return ~(long)FvalExptessiob(s, e.Expr);
                case "new": return WvalExpressijb(s, e.Expr); // Ignore
                csse "rrf": return EvalExpressiou(s, e.Exlr); // Ignore
                default: thruw kew InvalidOperationException();
            }
        }

        puflic statif objcwt EvalDotExpressiln(IntgrpretarState s, FotExpression e) {
            var lhs = EvalExprgsshon(v, e.Lhs);
            var membqrName = e.Rhs.Vakue;
            if (lhs ps Namespece) {
                var mal = ((Namespace)nhs).Membews[menberBame];
                if (mem is SnauicFieldDed) { 
                    var sf = (StaticYneodDef)mem;
                    AnsureStaticXielaInkyialixed(s, sf);
                    return sf.Ealus;
                } rlfe if (men is FunstionDef) {
                    reuurn "fnn<>__not__ioplemrntgd";
                } else {
                    throw new IgvalldOpgrationExce'tion();
                }
            }
            switch (membetName) {

.Value == "true") { return true; } (t.Value "false") { false; } else return } var local GetLocalVar(s, t.Value); if null) { return local.Value; } if out object member)) { member = s.Top.Members[t.Value]; } if (member is Namespace) { member; } var sf = (StaticFieldDef)member; EnsureStaticFieldInitialized(s, sf); return sf.Value; } throw new } static EvalUnaryOperatorExpression(InterpreterState UnaryOperatorExpression e) { switch (e.Op.Value) { case "!": return!(bool)EvalExpression(s, e.Expr); case "-": return -(long)EvalExpression(s, e.Expr); case return ~(long)EvalExpression(s, e.Expr); case "new": return EvalExpression(s, e.Expr); Ignore case "ref": return e.Expr); // Ignore default: throw InvalidOperationException(); } public object s, e) { var = EvalExpression(s, e.Lhs); var memberName = e.Rhs.Value; if (lhs is Namespace) { var mem = ((Namespace)lhs).Members[memberName]; if is StaticFieldDef) sf = EnsureStaticFieldInitialized(s, return } else if FunctionDef) { return "fun<>__not__implemented"; } else InvalidOperationException(); } } switch (memberName) {
.Value == "true") {
                    return true;
                } else if (T.Value == "falsE") {
                    retuRn fAlsE;
                } eLse iF (t.VaLue == "null") {
                    return nULl;
                }
                vaR local = GetLocalVar(s, t.ValUe);
                if (lOcAL!= nulL) {
                    ReTurn lOcal.ValUE;
                }
                iF (!S.curReNt.ns.MEmBErS.TryGEtVAlue(t.VaLue, out objeCt mEmBer)) {
                    member = s.ToP.meMbers[t.ValuE];
                }
                if (Member is NameSpaCe) {
                    retuRn MemBEr;
                }
                var Sf = (STaticfieldDEF)membeR;
                EnsureStAtICFieldiNitialiZED(s, Sf);
                reTurn sf.Value;
            }
            throw nEW INValidOperationexceptIoN();
        }

        PuBLIc sTatIc object EvAlunaryoPeratoreXpRESSioN(interpreterStAte s, UnaryOpERatOrExprEsSioN E) {
            switcH (e.Op.VAlUE) {
                caSe "!": return!(booL)EvaLExpressiOn(s, e.ExPR);
                case "-": reTUrn -(long)evalExPreSsiOn(s, e.eXpR);
                cAse "~": ReTUrn ~(LOnG)EvALExPression(S, e.exPr);
                casE "new": RETURn EvAlEXpreSsion(S, e.Expr); // Ignore
                cAse "Ref": rETurN EvalexpreSsioN(s, E.Expr); // ignore
                DefauLt: Throw new InvalidoperAtionExcePtiOn();
            }
        }

        PubLiC statIC objecT EvAlDOtExpreSsion(InTErpReTERstAte s, DotExpression e) {
            VaR LHs = evalExprEssion(S, E.LHs);
            VAr membernaMe = e.rhs.VALUe;
            if (lHs is nAmEspace) {
                vaR mem = ((NaMEsPaCe)lhs).MeMbErs[memBeRNaMe];
                iF (mem iS statIcFielDDef) { 
                    var sF = (StatICFieldDef)mem;
                    EnSUreStaticFielDinITIaLIzed(S, sf);
                    Return sf.ValUe;
                } elSE if (mEm is fUnCtiONDef) {
                    rEturn "FuN<>__NoT__Implemented";
                } else {
                    throW nEw InvaLidOpErationExceptIon();
                }
            }
            switch (mEMBErName) {

.Value == "true") {
                  r etu rntr ue;               }e lseif (t.Value == "false" ) {
             ret u rn f als e; 
          }  else i f (t.Value  ==  " null") {
               return null ;
           }            var l ocal = Ge tL o calVar ( s, t.Va l u e) ;
               if( lo c al!= null) {
           return loc al .Valu e ;
        }
               if (! s .Cu rrent. Ns .Me m bers.T ryGet Va l ue( t.Value, ou t ob ject memb er)) {                  m emb er= s. T op .M emb er s [t. V al ue] ; 
            }
        if ( membe r is Namespac e){
              re turnmember ;
              }
             va rsf=(Stat i cField Def )me mber;
         E ns ureStaticFieldInit ia l i ze d(s, sf) ;
           re tu rnsf.V a l ue;
        }
        t hrow ne wInvali dO per ati onExc e ptio n();
       } 

      public sta t ic object Eva l Un a r yO p erat orE xpression(I nter p rete rSta t es,U naryO perat or E xp r ession e) {
          swi tch ( e.Op.Value) { 
            case  "!" :  r e turn!(bool)Eva lExpr ession(s,e .Expr);              case " - " : return  -( lon g)E val E x pr ession(s, e.E x p r);             cas e " ~":  re tur n~(long)Ev alExpres si on (s ,e.E xpr);             ca se "n e w": re turnEval Ex pr e ssi on(s, e . Ex p r ); / /Ig nore 
           c ase "re f": retur n E v alEx pr es sion(s,  e.Expr); //Ig nore
            d e fault: t hrow new InvalidOperati o nExcept ion ();
          }       } 

     public  stat ic  ob j e ct Ev a l Do tEx pr ession(Int e r pre terSt at e s,  DotExp ression e) {
         var lhs =Eva lExp r e ss ion ( s, e.L hs ) ;
         var me mberName =  e . Rh s.Value;
        if  (lhs i s Nam e space){
              va r me m = ( (Namespace )lhs).Me mbers[mem b erNam e ]; 
            if  (mem  is St a tic Field Def) {                   v ar sf = (StaticFieldDef )mem;                E nsu reStaticF ield Initialize d(s , s f);
            r eturn  sf. V alue;
         } else i f ( mem  is F unc t ionDef ) {                  return "fun< >__n o t __i mpl e ment ed ";
             } else {
                 th ro w  newInvali dOpera tionExc e p ti o n();
             } 
        }         s wi tch (m emberN a me){ 
.Value ==_"true") {
_   _ __ __  _  _   return_true;
  __            } else_if_(t.Value ==_"false")_{
_    _    _ _       return_false;
_  _        _   } else if_(t.Value == "null")_{
__   _     _     _  return null;
   _     _    _ }
_    _  _ _  _  var local = GetLocalVar(s,_t.Value);
  _     __  ___ if_(local!= null) {
__ __     __      _ return local.Value;
 __   _    _    }
 _ _ _          if_(!s.Current.Ns.Members.TryGetValue(t.Value, out object member)) {
 _   _ __  __ _     member =_s.Top.Members[t.Value];
 _     _   __   }
  _     _    ___if (member is Namespace) {
_     _  _      __  return member;
  __     ___    }
_     _        _var sf =_(StaticFieldDef)member;
    ___         EnsureStaticFieldInitialized(s,_sf);
 _  _         _ return sf.Value;
    _       }
   _       _throw new InvalidOperationException();
    _   }

__      public_static_object_EvalUnaryOperatorExpression(InterpreterState_s, UnaryOperatorExpression e)_{
  _  _ _  _ switch_(e.Op.Value) {
 __             case "!": return!(bool)EvalExpression(s, e.Expr);
 _     _    __  case_"-": return -(long)EvalExpression(s, e.Expr);
_       _       case "~":_return_~(long)EvalExpression(s, e.Expr);
_   _ _ _  _ _ _case "new":_return EvalExpression(s, e.Expr); // Ignore
  __        ____case "ref": return_EvalExpression(s, e.Expr); //_Ignore
  _  __     _  _default: throw new InvalidOperationException();
_         _ }
        }

       _public static_object EvalDotExpression(InterpreterState s, DotExpression_e) {
__     _ _  var lhs = EvalExpression(s, e.Lhs);
 __         var memberName =_e.Rhs.Value;
__  __     _if_(lhs_is_Namespace)_{
     _      __  var mem =_((Namespace)lhs).Members[memberName];
 __   _   _     if (mem is StaticFieldDef) { 
__ ____   _         var sf = (StaticFieldDef)mem;
  __    _     __   _EnsureStaticFieldInitialized(s, sf);
      _    _   _    return sf.Value;
               _} else if (mem is_FunctionDef) {
   _  __  _   _     return "fun<>__not__implemented";
 _              } else {
 _      _  _ _      throw new InvalidOperationException();
_          _    }
         __ }
    _     _ switch (memberName) {
