๐Ÿš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #10311

Re: Gramatica LL1 de un interprete

#10311
From: Angel Ivan Castell Rovira
Date: Fri, 15 Mar 2002 08:53
50 lines
2575 bytes
> Ahora que me doy cuenta. No deber๏ฟฝa ser:?

> <Sentencia> -> <DeclVar> tkEOL|
>  	       <Asignacion> tkEOL |
>  	       <Llamada a funcion> tkEOL

El lenguaje para el que estoy haciendo el interprete es un
lenguaje que no admite llamadas a funcion. Tansolo expresiones
aritmeticas, logicas, y de comparacion, declaracion de variables
y asignaciones, es algo "sencillito" para hacer algo que me
motive. Pretendo que resuelva expresiones (con sintaxis C) del
tipo:

	integer i
	i:=0
	i && 2  -> devuelve 0 (false)
	float j
	i:=2
	j := i*5 -> devuelve 10.0 (typecast)
	(i&&j)+4 -> devuelve 5 (1 del true + 4)

	k :=5 -> error: variable no definida

	...

De hecho el problema de la gramatica (creo) que lo he resuelto
ya. Se trataba de eliminar los prefijos comunes de la izquierda
usando esta regla sintactica:

	<S> -> 	id := <E> | 
		<E>
	<E> -> 	id|
		...lootro...

Que se puede convertir en:

	<S> -> 	id := <E> |
		<E>	
	<E> ->	id|
		<E'>
	<E'> ->	...lootro...

Y a partir de aqui sustituir la definicion de <E> en la
segunda regla de <S> y sacar factor comun al id en <S>. 
Creo que el problema lo tengo resuelto, aunque estoy 
implementando el analizador sintactico y hasta que no 
vea que me reconoce las cadenas de mi lenguaje, seguire 
con la mosca detras de la oreja. Ya que he molestado al
grupo con mi pregunta, prometo explicar la solucion
al grupo cuando lo tenga claro. Un saludo wena hente ;)
Technical Details
Message-ID: <a6scqe$nju$1@marti.uji.es>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!news.rediris.es!news.uv.es!marti.uji.es!not-for-mail
References: <a6koob$s6p$1@marti.uji.es> <74eb6167.0203142306.2015a985@posting.google.com>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,c7891475e16a4222
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-03-15 01:08:06 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!news.rediris.es!news.uv.es!marti.uji.es!not-for-mail
From: Angel Ivan Castell Rovira <al004140@alumail.uji.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Gramatica LL1 de un interprete
Date: Fri, 15 Mar 2002 08:53:34 +0000 (UTC)
Organization: Universitat Jaume I
Lines: 56
Sender: Angel Ivan Castell Rovira <al004140@anubis.uji.es>
Message-ID: <a6scqe$nju$1@marti.uji.es>
References: <a6koob$s6p$1@marti.uji.es> <74eb6167.0203142306.2015a985@posting.google.com>
NNTP-Posting-Host: anubis.uji.es
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: marti.uji.es 1016182414 24190 150.128.40.100 (15 Mar 2002 08:53:34 GMT)
X-Complaints-To: news@mati.uji.es
NNTP-Posting-Date: Fri, 15 Mar 2002 08:53:34 +0000 (UTC)
User-Agent: tin/1.4.5-20010409 ("One More Nightmare") (UNIX) (AIX/4-3)