UTNianos

Versión completa: [Sintaxis] Consulta lexemas -> tokens
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Tengo una duda con sizeof

En el volumen 1..


Pág 55 - Renglon 3/4:
palabraReservada: una de (...) sizeof (...)

Nos define sizeof como palabra reservada... sin embargo:

Pág 58 - Renglon 3:
Operador: una de (...) sizeof (...)


Que problemon, un lexema pertenece a 2 categorias lexicas (o tokens) distintos.

La gran pregunta es: en un final, encontramos el lexema sizeof y nos pide indicar a que token pertenece, ¿ponemos palabraReservada u Operador?
Segun el BNF: http://www.cs.man.ac.uk/~pjj/bnf/c_syntax.bnf

unary_exp : postfix_exp
| '++' unary_exp
| '--' unary_exp
| unary_operator cast_exp
| 'sizeof' unary_exp
| 'sizeof' '(' type_name ')'


Tendria que tener el libro para opinar =P.... de todas formas, en el BNF no encuentro un lugar donde diga "reservede keywords" o algo asi... pero a simple vista: Si, es ambas. ¿Porqué no podrian serlo? "if" tambien pertenece a dos categorias, al igual que todas las palabras reservadas que existen =P
Todo aquel que programo en C sabe que sizeof es una palabra reservada.

El tema es que el libro (que es lo que vale en el final) no solo te dice palabra reservada sino tambien operador

Capaz en las cursadas algun profesor lo menciono.

Por suerte no lo vi en ningun final.... pero mejor no arriesgarse =P

Gracias por la pronta respuesta
Cita:Todo aquel que programo en C sabe que sizeof es una palabra reservada.

Ya se. Solo digo que no encuentro una categoria en el BNF donde diga todas las palabras reservadas.
Cuando pones sizeof te cambia el colorcito al mismo que en las otras palabras reservadas.


Aca encontre un pdf tirado en mi DD que dice sizeof -> operador
Lo adjunto, tiene cosas copadas

[attachment=2291]
El volumen 1 no es el único que dice eso, al final del K&R también figura como palabra reservada y operador, por lo que no se trata de un error. Podés intentar preguntarselo a un profesor antes del final (Adamoli nos contestaba preguntas hasta que nos repartieron las hojas). Sin embargo si no mal recuerdo no te aparece nunca la categoría léxica operador en los finales(te ponen otro en vez), supongo que para evitar este problema(y el de los paréntesis). Yo lo pondría como palabra reservada, y si apareciera la categoría operador pondría ambas.
Si, el ultimo recurso era preguntarle a un profesor, pasa que no queria olvidarme Carucha


Gracias a ambos
cuando yo rendi el final, un pibe le pregunto al profesor (sola) justamente esta cuestion

La respuesta fue masomenos asi: "Todos los operadores son tambien palabras reservadas. Si llega a aparecer en algun final un ejercicio puntual donde pueda haber confusion, se puede preguntar en el momento, pero dudo que pase"

Con el tema de la categoria "otros", abarca lo que serian "caracteres de puntuacion" y "operadores" y decidieron unirlas en una sola porque la mayoria de los alumnos se confundian al momento de indicar el token
(24-01-2012 22:22)tenchology escribió: [ -> ]cuando yo rendi el final, un pibe le pregunto al profesor (sola) justamente esta cuestion

La respuesta fue masomenos asi: "Todos los operadores son tambien palabras reservadas. Si llega a aparecer en algun final un ejercicio puntual donde pueda haber confusion, se puede preguntar en el momento, pero dudo que pase"

Con el tema de la categoria "otros", abarca lo que serian "caracteres de puntuacion" y "operadores" y decidieron unirlas en una sola porque la mayoria de los alumnos se confundian al momento de indicar el token


Barbaro thumbup3
URLs de referencia