Professional Documents
Culture Documents
Facultad de Ingeniería
Escuela de Ciencias y Sistemas
Organización de Lenguajes y Compiladores 1
2do. semestre del 2010
PRIMERA PRÁCTICA
1. DESCRIPCIÓN GENERAL
1.3 DESCRIPCIÓN
Archivo Ayuda
Guardar Como
Compilar
Errores
Salir
• Menú
o Nuevo: Crea un nuevo documento.
o Abrir: Permite abrir un programa para poder seguir editándolo
o Guardar: Permite guardar el programa que está siendo editado.
o Guardar Como: Permite guardar el programa con un nombre nuevo.
o Errores Muestra los errores al cargar el programa-
o Salir: Con esta opción se cerrara la aplicación.
• Ayuda
o Manual de Usuario: Se deberá mostrar el manual de usuario realizado por
el estudiante para guiar a la persona en la utilización de la aplicación.
o Manual Técnico: Se deberá demostrar el manual técnico realizado por el
estudiante para entender como se ha realizado la aplicación.
o Temas de Ayuda: Permite mostrar información de la persona que ha
creado la aplicación.
En cualquier parte del código y en cualquier orden podrán venir etiquetas de php o de
HTML.
<?
//área de php
if($true) { echo "true"; }
else { echo "false"; }
?>
<!—Área HTML-->
<html>
<head><title>Pagina prueba</title><head>
<body>
<%php
//área de php
if($true) { echo "true"; }
else { echo "false"; }
%>
<!—Área html-->
</body>
</html>
<?php
//área de php
echo (“mensaje”);
?>
Operadores (aritméticos, + , - , *, / , % , =, !, and, or, xor, &&, ||, ==, !=, Anaranjado
relacionales, lógicos, >, <, >=, <=
asignación)
Estructuras de control If, else, switch, case, break, default, for, while, Verde claro
do, BREAK, CONTINUE
Palabras reservadas class, const, declare, var, echo, extends, Café claro
function new, static, interface, implements,
public, private, protected, abstract, clone, try,
catch, throw, this, include, require, return,
printf, print, require_once
Todos los parámetros de etiquetas, otras etiquetas y texto serán de color negro.
<div></div><hr></hr><Blockquote></Blockquote>
<pre></pre>
Etiquetas para dar <b></b> <i></i> <u></u> <tt></tt> <sub></sub> Azul oscuro
formato al texto <Big></big><small></small><blink></blink><s></s>
2.3.4 RESUMEN
La aplicación funcionara como un editor de texto resaltando las palabras reservadas detectadas:
PHP
Identificadores Celeste
Operadores Anaranjado
Comentarios Gris
Constantes Rojo
HTML
En el reporte de errores se debe indicar la posición donde ocurrió (fila columna) y qué
provoco el error. Se evaluará la respuesta de la aplicación a los errores, esto quiere
decir que se subrayaran los errores encontrados con algún color que los resalte.
2.5 DOCUMENTACIÓN
• Manual técnico
• Manual de usuario
• Archivos de prueba
3 NOTAS IMPORTANTES
• La práctica se deberá realizar en forma individual.
• La práctica deberá implementarse en lenguaje JAVA, en caso contrario este no será
calificado.
• Para leer los archivos de entrada se deberá utilizar la herramienta JLex(ó JFlex) .
• Es opcional utilizar la herramienta CUP dado que solo se reconocerá la identificación
de expresiones regulares, y no la sintaxis de PHP y HTML.
• Se recomienda el uso de estados en la librería JLex(ó JFlex) para el cambio del
lenguaje PHP al lenguaje HTML o viceversa.
• Se valorará la calidad de la información proporcionada por el compilador cuando se
produzcan errores así como la presentación de la interfaz gráfica y amigabilidad de
la aplicación.
• Copias de proyectos tendrán una nota de 0 puntos y las sanciones por parte de la
Escuela de Sistemas.
• Fecha de entrega miércoles 16 de febrero del 2011.
3.1 ENLACES RECOMENDADOS:
Página 5 http://www.scribd.com/doc/40360179/2-3
Página 9 http://www.scribd.com/doc/35399933/Analisis-lexico
Manual de jflex:
http://muytux.blogspot.com/2010/08/manual-de-jflex-sin-cup.html
http://muytux.blogspot.com/2010/07/manual-de-jflex.html
http://jflex.de/manual.html
Java:
http://www.chuidiang.com/java/ejemplos/JEditorPane-JTextPane/JEditorPane-JTextPane.php
4 ANEXO
<?php
/* * *** Comentario ***** */
class Calculadora {
function sumar($a, $b) {
return $a + $b;
}
function MayorEdad($edad) {
if ($edad >= 18) {
echo 'Mayor de edad';
} else {
echo 'Menor de edad';
}
}
}
?>
<html>
<head>
<title>Pagina</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php
$calculadora = new Calculadora();
$resultado = $calculadora->sumar(6, 4);
echo ($resultado);
?>
<div id="wrapper">
<a href="#">Home</a>
<a href="#">Sitemap</a>
<a href="#">Contact</a>
<div class="name">
<h1 align="left" class="top">Uno</h1>
<h1 align="left" class="top">Dos</h1>
<h1 align="left" class="top">Tres</h1>
<h3 class="top">Fin</h3>
</div>
<div id="menu">
<ul>
<li><a href="#">Free One</a></li>
<li><a href="#">Link Two</a></li>
<li><a href="#">Link Three</a></li>
<li><a href="#">Link Four</a></li>
<li><a href="#">Link Five</a></li>
</ul>
</div>
<div id="leftcolumn">
<h3>User Login</h3>
<form action="a" method="get" >
<p>
Username: <br><input name="a" type="text" size="16" /><br />
Password: <br><input name="a" type="password" size="16" /><br /><br />
<input name="a" type="submit" class="login" value="Login" />
</p>
</form>
<?php
$resultado = $calculadora->MayorEdad(18);
echo ($resultado);
?>
<div class ="lefttext">
<img src="images/sl1.jpg" class="floatTL" alt="5th Eye Avenue center" />
<p>Imagen</p>
</div>
</div>
<div id="rightcolumn">
<blockquote>
<p> Mensaje</p>
</blockquote>
</div>
</div>
</body>
</html>