public static PartialSignal Parse(AssignmentSide parent, string text)
        {
            var signalStr = Regex.Match(text, PC.VHDLName + PC.MFS + PC.Enumeration).Value;

            if (String.IsNullOrEmpty(signalStr))
            {
                return(null);
            }

            var name           = Regex.Match(signalStr, PC.VHDLName).Value;
            var enumerationStr = Regex.Match(signalStr, PC.Enumeration).Value;

            if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(enumerationStr))
            {
                return(null);
            }

            var signalDefenition = parent.Document.Signals.GetSignalDefenition(name);
            var enumeration      = EnumerationParser.Parse(enumerationStr);


            if (enumeration == null || signalDefenition == null)
            {
                return(null);
            }

            return(new PartialSignal(parent, signalDefenition, enumeration));
        }
        public static AssignmentSignal Parse(AssignmentSide parent, string text)
        {
            AssignmentSignal signal = null;//PartialSignal.Parse(parent, text);

            if (signal == null)
            {
                signal = AssignmentSignal.Parse(parent, text);
            }
            return(signal);
        }
Example #3
0
        public static ConstValue Parse(AssignmentSide parent, string text)
        {
            var resultStr = Regex.Match(text, PC.DefaultValueA).Value;

            if (!string.IsNullOrEmpty(resultStr))
            {
                return(new ConstValue(parent, text));
            }
            return(null);
        }
Example #4
0
        public static Assignment Create(Map map, Port left, SignalDefenition right, EnumerationBase enumeration = null)
        {
            var result = new Assignment()
            {
                Map  = map,
                Text = left + " => " + right + ","
            };

            result._left = AssignmentSide.Create(result, left);
            result._rigt = AssignmentSide.Create(result, right, enumeration);

            if (!result.Validation())
            {
                throw new Exception("Inncorect bits");
            }
            return(result);
        }
Example #5
0
        public static Assignment Create(Map map, string text, string left, string right)
        {
            var result = new Assignment()
            {
                Map  = map,
                Text = text
            };
            var leftAs  = AssignmentSide.Parse(result, left);
            var rightAs = AssignmentSide.Parse(result, right);

            if (rightAs.Signal != null)
            {
                rightAs.Signal.IsSource = !leftAs.Signal.IsSource;
            }
            result._left = leftAs;
            result._rigt = rightAs;
            if (!result.Validation())
            {
                throw new Exception("Inncorect bits");
            }
            return(result);
        }
 public PartialSignal(AssignmentSide parent, SignalDefenition defenition, EnumerationBase enumeration) : base(defenition, parent)
 {
     Name        = defenition.Name;
     Enumeration = enumeration;
 }
Example #7
0
 private ConstValue(AssignmentSide assignmentSide, string text)
 {
     AssignmentSide = assignmentSide;
     Text           = text;
 }