Creo que llamar a este post compilador me parece un poco presumido de mi parte por lo que la palabra compilador significa y lo que conlleva pero la historia es esta, se nos pidió crear un sistema simulador de un compilador que interpretara un lenguaje de programación en español con esta estructura:
[inicio]
[entradas]
[variables] [constantes] [ingresos]
[calculos]
[variable]=[variable/termino] [ + - * / ] [variable]
[decisiones]
si [condicion] entonces [calculos] sino [calculos]
[salidas]
mostrar [variable/termino]
[fin]
A dicho lenguaje se le podía aplicar las reglas que nosotros consideráramos necesarias (reglas están en la portada del proyecto) y se dio libertad de escoger el lenguaje en el cual debía ser programado este compilador, obviamente yo escogí PHP porque PHP? pues por tiempo, por experiencia en el lenguaje, por que me gusta y porque todos obviamente lo harían en JAVA o C, debo aclarar si el proyecto fuera hacer un compilador real que llegue al nivel más bajo escogería C.
Que etapas consideramos en el proyecto:
1. Análisis Léxico
2. Análisis Sintáctico
3. Análisis Semántico
4. Generación de código intermedio
5. Código objeto
Acá les dejo un diagrama de flujo que un compañero realizo de cómo funciona este compilador y más abajo les dejo el link de acceso a un hosting temporal que tengo mientras recaudo fondos para reactivar mi host personal.
Cualquier duda con gusto escriban un post, el código fuente no puedo subirlo pero si ayudarles con alguna duda.
Link de acceso al proyecto http://bit.ly/jzaugE
Colaboradores de este proyecto ( Jose Jonfe, Erick Mencu)
martes, 21 de junio de 2011
viernes, 3 de junio de 2011
Envio de correos desde PHP
El envió de correos desde php puede ser una de las tareas mas fáciles hasta una de las más complicadas, todo depende de la configuración y donde este corriendo nuestro código.
Problemas: Si estamos en un ambiente de desarrollo y pruebas como nuestra PC personal, lo más probable es que nos de un error al tratar de enviar un correo con esta función. Porque? pues porque necesitaríamos montar nuestra PC como un Mail Server con los puertos de salida abiertos para que funcione.
Ahora montar un Mail Server son otros 20 centavos que necesitaría varios post y lo cual no hago desde hace mucho tiempo pero si se animan les recomiendo leer este articulo que muestra un SMTP gratuito http://www.desarrolloweb.com/articulos/1624.php
Si por ejemplo estamos trabajando en una red interna donde tenemos acceso a un servidor que si funciona como Mail Server y no requiere autenticación podemos cambiar la configuración de php en el archivo php.ini de la siguiente forma:
Tienes que abrir php.ini luego localizar estas líneas:
[mail function]
; For Win32 only.
SMTP = localhost
En SMTP tienes que indicar el servidor SMTP que vas a utilizar para enviar el mensaje. Si la maquina donde corre el código tiene un servidor SMTP, se deja como "localhost", si no tiene que poner la dirección del servidor a utilizar como smtp.loscorreos.com o 200.35.36.7
Normalmente cuando se compra un servicio de hosting o según me han contado no me consta en algunos casos en hosting gratuitos ya viene incluido el servidor SMTP por lo que se dejaría como localhost.
Existe otra opción que es utilizar PEAR http://pear.php.net/ tiene unas funciones para enviar correo especificando servidor con las credenciales necesarias, usuario, clave, etc. pero si se requiere un poco de experiencia utilizando librerías.
Ahora un ejemplo de cómo sería el código para enviar el correo en php es el siguiente:
<?
$destinatario = "elingeniero@yahoo.com"; //quien lo envia
$asunto = "Mensaje es de prueba"; // asunto del mensaje
$cuerpo = "
<html>
<head>
<title>Prueba de envio de Correo desde PHP</title>
</head>
<body>
<p>
Aca podria incluirse todo el mensaje que quieran poner con variables de php si fuera necesario ejemplo $nombre $clave
</p>
</body>
</html>
";
//para el envío en formato HTML se define lo que yo llamo cabecera (en español me gusta mas) con todo los datos de envio y configuracion
$cabecera = "MIME-Version: 1.0\r\n";
$cabecera .= "Content-type: text/html; charset=iso-8859-1\r\n";
$cabecera .= "From: Edsson Noe Gonzalez <edssongonzalez@gmail.com>\r\n"; //dirección del remitente
$cabecera .= "Reply-To: edsson_kln@hotmail.com\r\n"; //dirección de respuesta, si queremos que sea distinta que la del remitente
$cabecera .= "Cc: mijefe@concuidado.com\r\n"; //esto se pone si queremos copiar el correo a otra direccion
//Con esta funcion enviamos el correo
mail($destinatario,$asunto,$cuerpo,$cabecera);
?>
Una vez mas lo digo yo no soy experto no me considero para nada experto y puedo tener uno o muchos errores en esto, si alguien encuentra uno y me lo dice en hora buena, asi se aprende mas.
Problemas: Si estamos en un ambiente de desarrollo y pruebas como nuestra PC personal, lo más probable es que nos de un error al tratar de enviar un correo con esta función. Porque? pues porque necesitaríamos montar nuestra PC como un Mail Server con los puertos de salida abiertos para que funcione.
Ahora montar un Mail Server son otros 20 centavos que necesitaría varios post y lo cual no hago desde hace mucho tiempo pero si se animan les recomiendo leer este articulo que muestra un SMTP gratuito http://www.desarrolloweb.com/articulos/1624.php
Si por ejemplo estamos trabajando en una red interna donde tenemos acceso a un servidor que si funciona como Mail Server y no requiere autenticación podemos cambiar la configuración de php en el archivo php.ini de la siguiente forma:
Tienes que abrir php.ini luego localizar estas líneas:
[mail function]
; For Win32 only.
SMTP = localhost
En SMTP tienes que indicar el servidor SMTP que vas a utilizar para enviar el mensaje. Si la maquina donde corre el código tiene un servidor SMTP, se deja como "localhost", si no tiene que poner la dirección del servidor a utilizar como smtp.loscorreos.com o 200.35.36.7
Normalmente cuando se compra un servicio de hosting o según me han contado no me consta en algunos casos en hosting gratuitos ya viene incluido el servidor SMTP por lo que se dejaría como localhost.
Existe otra opción que es utilizar PEAR http://pear.php.net/ tiene unas funciones para enviar correo especificando servidor con las credenciales necesarias, usuario, clave, etc. pero si se requiere un poco de experiencia utilizando librerías.
Ahora un ejemplo de cómo sería el código para enviar el correo en php es el siguiente:
<?
$destinatario = "elingeniero@yahoo.com"; //quien lo envia
$asunto = "Mensaje es de prueba"; // asunto del mensaje
$cuerpo = "
<html>
<head>
<title>Prueba de envio de Correo desde PHP</title>
</head>
<body>
<p>
Aca podria incluirse todo el mensaje que quieran poner con variables de php si fuera necesario ejemplo $nombre $clave
</p>
</body>
</html>
";
//para el envío en formato HTML se define lo que yo llamo cabecera (en español me gusta mas) con todo los datos de envio y configuracion
$cabecera = "MIME-Version: 1.0\r\n";
$cabecera .= "Content-type: text/html; charset=iso-8859-1\r\n";
$cabecera .= "From: Edsson Noe Gonzalez <edssongonzalez@gmail.com>\r\n"; //dirección del remitente
$cabecera .= "Reply-To: edsson_kln@hotmail.com\r\n"; //dirección de respuesta, si queremos que sea distinta que la del remitente
$cabecera .= "Cc: mijefe@concuidado.com\r\n"; //esto se pone si queremos copiar el correo a otra direccion
//Con esta funcion enviamos el correo
mail($destinatario,$asunto,$cuerpo,$cabecera);
?>
Una vez mas lo digo yo no soy experto no me considero para nada experto y puedo tener uno o muchos errores en esto, si alguien encuentra uno y me lo dice en hora buena, asi se aprende mas.
Suscribirse a:
Entradas (Atom)