Пример #1
0
        static void Main(string[] args)
        {
            string line, archivo, input, estructura;

            while (true)
            {
                line       = null;
                archivo    = null;
                input      = null;
                estructura = null;
                Console.WriteLine("Escriba la estructura a continuación y al finalizar escriba end." + System.Environment.NewLine +
                                  "Si quiere importar desde un archivo guardelo en la misma carpeta del trabajo" + System.Environment.NewLine +
                                  "y escriba por consola \"importar nombrearchivo.txt\"");
                while ((line = Console.ReadLine()) != "end")
                {
                    if (line.Contains("importar"))
                    {
                        archivo = line.Replace("importar", "").Trim();
                        break;
                    }
                    estructura += line + System.Environment.NewLine;
                }
                if (archivo != null)
                {
                    if (File.Exists(archivo))
                    {
                        input = File.ReadAllText(archivo);
                    }
                }
                else
                {
                    input = estructura;
                }
                if (input != null)
                {
                    Console.WriteLine("Generando el JSON...");
                    try
                    {
                        Lexer lexer        = new Lexer();
                        var   resultTokens = lexer.Tokenize(input);

                        GoParser parser = new GoParser();

                        GoInstance instance = parser.SetAndValidateInput(resultTokens);

                        object jsonResult = instance.GetRandomMainObject();
                        Console.WriteLine(jsonResult.ToString());
                    }catch (Exception ex)
                    {
                        Console.WriteLine("ERROR AL GENERAR EL JSON:" +
                                          System.Environment.NewLine + ex.Message +
                                          System.Environment.NewLine);
                    }
                }
                else
                {
                    Console.WriteLine("Error al procesar el input.");
                }
            }
        }
Пример #2
0
 public abstract void NavigateDependenciesTo(Stack <GoObject> pathTaken, GoParser parser);
Пример #3
0
 public abstract void AddToTypeNavigationQueue(Queue <GoObject> queue, GoParser parser);
Пример #4
0
 public abstract void FailIfUndefinedInParser(GoParser parser);
Пример #5
0
 public override void NavigateDependenciesTo(Stack <GoObject> pathTaken, GoParser parser)
 {
     parser.NavigateDependenciesInto(this, pathTaken);
 }
Пример #6
0
 public override void AddToTypeNavigationQueue(Queue <GoObject> queue, GoParser parser)
 {
     parser.AddGoPropertyToNavigationQueue(this, queue);
 }
Пример #7
0
 public override void FailIfUndefinedInParser(GoParser parser)
 {
     parser.IsPropertyDefined(this);
 }