Beispiel #1
0
        public IByteElement GetByteElement(NovFile file, ClassesContainer container, IByteElement parent)
        {
            ByteClass byteClass = new ByteClass(file, this.ClassName, Type);

            foreach (var method in this.Methods)
            {
                byteClass.Methods.Add((ByteMethod)method.Value.GetByteElement(container, byteClass));
            }


            foreach (var field in this.Fields)
            {
                byteClass.Fields.Add((ByteField)field.Value.GetByteElement(container, byteClass));
            }

            return(byteClass);
        }
Beispiel #2
0
        public double ConvertBytes(double bytes, ByteClass typ)
        {
            switch (typ)
            {
            case ByteClass.Kilobyte:
                return(bytes / bytesInKB);

            case ByteClass.Megabyte:
                return(bytes / bytesInMB);

            case ByteClass.Gigabyte:
                return(bytes / bytesInGB);

            case ByteClass.Terabyte:
                return(bytes / bytesInTB);

            default:
                return(bytes);
            }
        }
Beispiel #3
0
        private void BuildNovFile()
        {
            Method mainEntryPoint = Container.ComputeEntryPoint();

            if (mainEntryPoint != null)
            {
                this.Result = new NovFile();

                this.Result.MainPointEntry = new MainPointEntry(Container.GetClassId(mainEntryPoint.ParentClass), mainEntryPoint.Id);

                foreach (var @class in Container)
                {
                    ByteClass byteClass = (ByteClass)@class.Value.GetByteElement(Result, Container, null);
                    Result.ByteClasses.Add(byteClass);
                }
            }
            else
            {
                Logger.Write("Invalid or multiple program entry point.", LogType.Error);
            }
        }
Beispiel #4
0
 public ByteBlock(ByteClass parentClass)
 {
     this.SymbolTable  = new SymbolTable();
     this.Instructions = new List <ICode>();
     this.ParentClass  = parentClass;
 }
Beispiel #5
0
 public void LoadBuiltinClasses()
 {
     classes["Int"]               = new IntClass();
     classes["Float"]             = new FloatClass();
     classes["Boolean"]           = new BooleanClass();
     classes["String"]            = new StringClass();
     classes["Char"]              = new CharClass();
     classes["Byte"]              = new ByteClass();
     classes["Message"]           = new MessageClass();
     classes["Unassigned"]        = new UnassignedClass();
     classes["Tuple"]             = new TupleClass();
     classes["NameValue"]         = new NameValueClass();
     classes["Lambda"]            = new LambdaClass();
     classes["Void"]              = new VoidClass();
     classes["Some"]              = new SomeClass();
     classes["None"]              = new NoneClass();
     classes["Array"]             = new ArrayClass();
     classes["Iterator"]          = new IteratorClass();
     classes["LazyIterator"]      = new LazyIteratorClass();
     classes["StreamIterator"]    = new StreamIteratorClass();
     classes["Any"]               = new AnyClass();
     classes["Placeholder"]       = new PlaceholderClass();
     classes["Range"]             = new RangeClass();
     classes["Dictionary"]        = new DictionaryClass();
     classes["Container"]         = new ContainerClass();
     classes["Unmatched"]         = new UnmatchedClass();
     classes["Complex"]           = new ComplexClass();
     classes["Rational"]          = new RationalClass();
     classes["Long"]              = new LongClass();
     classes["Lazy"]              = new LazyClass();
     classes["YieldingInvokable"] = new YieldingInvokableClass();
     classes["Del"]               = new DelClass();
     classes["Slice"]             = new SliceClass();
     classes["End"]               = new EndClass();
     classes["List"]              = new ListClass();
     classes["Arguments"]         = new ArgumentsClass();
     classes["Symbol"]            = new SymbolClass();
     classes["Infinity"]          = new InfinityClass();
     classes["OpenRange"]         = new OpenRangeClass();
     classes["KeyValue"]          = new KeyValueClass();
     classes["Regex"]             = new RegexClass();
     classes["Pattern"]           = new PatternClass();
     classes["PackageFunction"]   = new PackageFunctionClass();
     classes["Sys"]               = new SysClass();
     classes["Math"]              = new MathClass();
     classes["RuntimeFunction"]   = new RuntimeFunctionClass();
     classes["Reference"]         = new ReferenceClass();
     classes["Group"]             = new RegexGroupClass();
     classes["Match"]             = new RegexMatchClass();
     classes["Date"]              = new DateClass();
     classes["Interval"]          = new IntervalClass();
     classes["TypeConstraint"]    = new TypeConstraintClass();
     classes["ByteArray"]         = new ByteArrayClass();
     classes["Selector"]          = new SelectorClass();
     classes["Number"]            = new NumberClass();
     classes["Collection"]        = new CollectionClass();
     classes["TextFinding"]       = new TextFindingClass();
     classes["SkipTake"]          = new SkipTakeClass();
     classes["Constructor"]       = new ConstructorClass();
     classes["MutString"]         = new MutStringClass();
     classes["Error"]             = new ErrorClass();
     classes["Success"]           = new SuccessClass();
     classes["Failure"]           = new FailureClass();
     classes["Optional"]          = new OptionalClass();
     classes["Result"]            = new ResultClass();
     classes["Monad"]             = new MonadClass();
     classes["Unit"]              = new UnitClass();
     classes["YieldReturn"]       = new YieldReturnClass();
     classes["Index"]             = new IndexClass();
     classes["Cycle"]             = new CycleClass();
     classes["Set"]               = new SetClass();
 }
 /// <summary>
 /// Method to receive, decode and check client connection type and  color depth.
 /// </summary>
 public void ReceiveAndCheckClientCoreData()
 {
     this.networkConnectionType = rdpbcgrSessionContext.ClientNetworkConnectionType;
     this.supportedColorDepths  = rdpbcgrSessionContext.supportedColorDepths;
     VerifyColorDepths();
 }