示例#1
0
        public static Graphic LoadSvg(TextReader reader)
        {
            var valuesParser = new ValuesParser();
            var svgr         = new SvgReader(reader, new StylesParser(valuesParser), valuesParser);

            return(svgr.Graphic);
        }
示例#2
0
        Graphic Read(string path)
        {
            using (var s = OpenResource(path))
            {
                var valuesParser = new ValuesParser();

                var r = new Custom.Parsers.SvgReader(new StreamReader(s), new StylesParser(valuesParser), valuesParser);
                Assert.GreaterOrEqual(r.Graphic.Children.Count, 0);
                Assert.Greater(r.Graphic.Size.Width, 1);
                Assert.Greater(r.Graphic.Size.Height, 1);
                return(r.Graphic);
            }
        }
 internal static string ReplaceParameter(string parameter)
 {
     if (parameter == null)
     {
         return(null);
     }
     foreach (var stream in ValuesParser.GetParams(parameter))
     {
         var streamValue = string.Format("instance.parameters.{0}", stream.Substring(1, stream.Length - 2));
         parameter = parameter.Replace(stream, streamValue);
     }
     return(parameter);
 }
        private static string FormatParameterValue(IParameter param)
        {
            switch (param)
            {
            case BoolParameter boolParam:
                return(boolParam.Value ? "true" : "false");

            case IntParameter intParam:
                return(intParam.Value.ToString());

            case StringParameter stringParam:
                return($"\"{stringParam.Value}\"");

            case ExternalParameter externalParam:
                IEnumerable <string> parameterValues = ValuesParser.GetParams(externalParam.Value);
                return(ValueFormatter.ReplaceValues(externalParam.Value, parameterValues, "instance.parameters.{0}"));
            }
            throw new NotSupportedException();
        }
        static void Main(string[] args)
        {
            const string SOURCEFILE = @"D:\prj\ANTLR_File_To_Arrray\ANTLR_File_To_Arrray\source1.txt";

            using (StreamReader fileStream = new StreamReader(SOURCEFILE))
            {
                AntlrInputStream          inputStream = new AntlrInputStream(fileStream);
                ValuesLexer               lexer       = new ValuesLexer(inputStream);
                CommonTokenStream         tokenStream = new CommonTokenStream(lexer);
                ValuesParser              parser      = new ValuesParser(tokenStream);
                ValuesParser.ParseContext context     = parser.parse();
                ValuesListener            listener    = new ValuesListener();
                ParseTreeWalker           walker      = new ParseTreeWalker();
                bool built = parser.BuildParseTree;
                walker.Walk(listener, context);
                foreach (double d in listener.doubles)
                {
                    Console.WriteLine(d);
                }
                Console.ReadKey();
            }
        }