• Sábado 18 de Mayo de 2024, 23:15

Autor Tema:  Crear Compilador De Un Archivo Txt  (Leído 942 veces)

enriqueweb

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Crear Compilador De Un Archivo Txt
« en: Martes 3 de Junio de 2008, 23:51 »
0
Hola amigos, pues resulta que necesito que me ayuden a realizar un proyecto de la Universidad, la problematica es la siguiente;
Crear un compilador de archivos txt el cual valide palabras reservadas pueden ser 10 entre ellas "if" que la cambio a "si" que tenga que tener un "FinSi", sino esta sentencia daria error, nose que tan claro soy ejemplo:

#a = 1;

Si ( #a = 1 )
Message("Hola Mundo");
FinSi

Este no tendria que generar error, caso contrario este otro;

Si()
Message(Hola Mundo)

Notese que no tiene la condicion esta mala, la palabra reservada message no se usa correctamente y no finaliza con el FinSi




Esto es todo lo que he podido hacer, ayudenme por favor:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;

namespace Complilador
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //Funcion Leer Archivo de Texto
        private void leer()
        {
            ArrayList Reservadas = new ArrayList();
            ArrayList Variables = new ArrayList();
            Reservadas.Add("Si");
            Reservadas.Add("FinSi");

            StreamReader myStreamReader = null;
            myStreamReader = File.OpenText(this.Text);
            txtFileText.Text = myStreamReader.ReadToEnd();
            int error = 0;
            foreach (string Linea in txtFileText.Lines)
            {
                if (Linea.Equals(""))
                {
                   
                }else
                {
                    if (Linea.EndsWith(";"))
                    {

                    }
                    else
                    {
                        MessageBox.Show("Error en Linea Falta ;");
                    }
                }
               
                foreach (string Palabra in Todo.Split(' '))
                {
                    //Almacenando Variables
                    if (Palabra.StartsWith("#"))
                    {
                        Variables.Add(Palabra);
                       
                       
                    }
                    //Buscando Palabras Resevadas
                    foreach (string ext in Reservadas)
                    {
                        if(Palabra.Equals(ext))
                        {

                        }
                    }
                }
            }
        }
        private void abrirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog myOpenFileDialog = new OpenFileDialog();
            myOpenFileDialog.DefaultExt = ".LPT";
            myOpenFileDialog.Filter = "Compiler (*.LPT)|*.txt|All files (*.*)|*.*";
            myOpenFileDialog.InitialDirectory = @"C:\";
            if (myOpenFileDialog.ShowDialog() == DialogResult.OK)
            {
                this.Text = myOpenFileDialog.FileName;
                leer();
            }
        }
    }
}




Espero me puedan ayudar amigos, Gracias y Salu2.....