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.....