Está en la página 1de 8

ANALISIS LEXICO Cuando el programa es compilado el primer paso es realizar el

preprocesado.Las unidades lgicas que genera el analizador lxico se le denomina Tokens. Los Tokens son las palabras de un lenguaje natural o los elementos lxicos del programa. Cada Tokens es una secuencia de carateres que representan una unidad de informacin en el programa fuente. El analizador lxico lee la secuencia de caracteres del programa fuente , carcter a carcter , y los agrupa para formar unidades con significado propio (los componentes lxicos Tokens).

Los componentes lxicos representan: Identificadores: Los identificadores (IDs) son smbolos lxicos que nombran entidades. El concepto es anlogo al de "nombre". Los identificadores se usan ampliamente en prcticamente todos los sistemas de procesamiento de la informacin. Nombrar las entidades hace posible referirse a las mismas, lo cual es esencial para cualquier tipo de procesamiento simblico. Solo hay dos restricciones en cuanto a la composicin:

El primer carcter debe ser una letra o el guin bajo. El Estndar establece que los identificadores comenzando con guin bajo y mayscula no deben ser utilizados. Este tipo de nombres se reserva para los compiladores y las Libreras Estndar. Tampoco se permite la utilizacin de nombres que contengan dos guiones bajos seguidos.

El estndar ANSI establece que como mnimo sern significativos los 31 primeros caracteres, aunque pueden ser ms, segn la

implementacin. Es decir, para que un compilador se adhiera al

estndar ANSI, debe considerar como significativos, al menos, los 31 primeros caracteres. letras a a z y A a Z los dgitos 0 a 9
Operadores: Los operadores son un tipo de tokens que indican una evaluacin o computacin para ser realizada en objetos o datos, y en definitiva sobre identificadores o constantes. Adems de realizar la operacin, un operador devuelve un valor, ya que son parte fundamental de las expresiones. Operadores aritmticos : Son anlogas a las formulas matemticas .Las variables y constantes son numricas (reales o enteras) y las operaciones son las aritmticas . Operadores Relacionales: Permiten realizar comparaciones de valor de tipo numrico o carcter . Sirven para expresar las condiciones en los algoritmos .

Delimitadores: Simbolos utilizados como separadores de las distintas construcciones de un lenguaje de programacin . ( )Parntesis: Listas de parmetros en la definicin y llamada a mtodos , precedencia en expresiones , expresiones para el control de flujo y conversiones de tipo. { }Llaves : Inicializacion de arrays , bloques de cdigo , clases , mtodos y mbitos locales. [ ] Corchetes : Arrays. ; Punto y coma; Separador de sentencias.

, Coma : Identificadores consecutivos en una declaracin de variables y sentencias encadenadas dentro de una sentencia for. . Punto : Separador de paquetes , subpaquetes y clases ; separador entre variables y mtodos/mtodos.

Constantes numricas: Literales que representan valores enteros , en coma flotante , etc , 982 , -83,..

Constantes de caracteres: Literales que representan cadenas concretas de caracteres , hola mundo

Separadores : Son algunos caracteres que no son imprimibles atraves de un smbolo.

ESPACIO EN BLANCO TUBULACION RETORNOS DE CARROS AVANCE DE LINEAS

Comentarios: Los comentarios se encierran entre /* y */ . Pueden extenderse a lo largo de varias lneas. Ejemplo: /* Promedio de notas del Alumno */

Signos de puntuacin: Toda sentencia debe acabar con un punto y coma ;

% {

^ }

& [

* ]

( ~

) /

+ ;

= |

<

>

Componentes lxicos , patrones , lexemas:

Patron: Es una regla que

genera la secuencia de caracteres que

pueden representar a un determinado componente lxico ( una expresin regular). Cada patrn concuerda con una serie de cadenas.

Lexema : Cadena de caracteres que concuerda con un patron que describe un componente lxico . Un componente lxico puede tener uno o infinitos lexemas .Por ejemplo: palabras reservadas tienen un nico lexema , los nmeros y los identificadores tienen infinitos lexemas.

Los componentes lxicos se tratan como terminales de gramatica del lenguaje maquina. La devolucin de un componente lxico se hace atraves de un numero entero.

Componente Lxico Const If Relacin Identificador Numero Literal

Lexemas de ejemplo Const If <,<=,=,<>,>=,> Pi, cuenta, D2 3.1416, 0 el resultado:

Descripcin patrn Const If < O <= o = o <> o >= o > [a-zA-z]+ [0-9]?\.[0-9]+ Cualquier carcter entre menos

del

Indicacin de rango de carateres [] (clase) [a-z ] Indica cualquier carcter entra la a y la z minsculas. [a-z A-Z] Indica cualquier letra del abecedario minscula o mayscula. [0-9] Indica cualquier digito del 0 al 9. [abc] Indica a|b|c Cualquier carcter a excepcin de un conjunto dado ~ (a|b) Indica cualquier carcter que no sea una a o una b. Opcionalidad r? Indica que la expresin r puede aparecer o no. En el caso de que aparezca solo lo ara una vez.

INSTITUTO TECNOLOGICO SUPERIOR DE COATZACOALCOS

MATERIA: PROGRAMACION DE SISTEMAS

DOCENTE: NELLY JANETH VELASCO ESCOBEDO

TAREA: REPORTE DE ANALISIS LEXICO

CARRERA: INGENIERIA EN SISTEMAS COMPUTACIONALES

INTERGRANTES:

CIGARROA ACUA LUIS ARMANDO DOMINGUEZ FRANCISCO RIGOBERTO MASTRANZO CASANOVA ROSA IVETH SANTIAGO AGUIRRE KARLA

GRADO Y GRUPO 5 A

import java.io.*;

class FileRead{ public static void main(String args[]) { try{

FileInputStream FileInputStream("I:\\aa.txt");

fstream

new

DataInputStream in = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String strLine;

while ((strLine = br.readLine()) != null) {

System.out.println (strLine); }

in.close(); } catch (Exception e){ System.err.println("Error: " + e.getMessage()); } } }