Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

197
Vistas
Si se viola el requisito "debe/no debe", entonces ¿importa en qué sección (por ejemplo, Semántica, Restricciones) se encuentra dicho requisito?

Si se viola el requisito "debe/no debe", entonces ¿importa en qué sección (por ejemplo, semántica, restricciones) se encuentra dicho requisito?

Motivo de la pregunta: esta opinión:

Esto se encuentra en una sección de Semántica del estándar, no en Restricciones, por lo que no se requiere diagnóstico.

¿Es cierto que la violación del requisito "debe/no debe" ubicado en la sección Semántica no requiere un diagnóstico?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Las infracciones semánticas no requieren un mensaje de diagnóstico, mientras que las infracciones de restricciones sí.

La sección 5.1.1.3p1 del estándar C11 sobre Diagnósticos establece lo siguiente:

Una implementación conforme producirá al menos un mensaje de diagnóstico (identificado de una manera definida por la implementación) si una unidad de traducción de preprocesamiento o unidad de traducción contiene una violación de cualquier regla o restricción de sintaxis, incluso si el comportamiento también se especifica explícitamente como indefinido o implementación- definido. No es necesario generar mensajes de diagnóstico en otras circunstancias.

over 4 years ago · Santiago Trujillo Denunciar

0

El estándar define muy vagamente lo que realmente significa "semántica". Lo que es más importante, no existe una definición del término en la sección 3 Términos, definiciones y símbolos de la norma.

Lo que el estándar define en esa sección es el significado de "restricción":

3.8

1 restricción

Restricción, ya sea sintáctica o semántica , mediante la cual debe interpretarse la exposición de los elementos del lenguaje.

Se agregó énfasis en "... o semántica".

El estándar continúa:

4. Conformidad

1 En este documento, "deberá" debe interpretarse como un requisito sobre una implementación o sobre un programa; por el contrario, "no deberá" debe interpretarse como una prohibición.

2 Si se viola un requisito de "deberá" o "no deberá" que aparece fuera de una restricción o restricción de tiempo de ejecución, el comportamiento no está definido.

Y luego llegamos a:

5.1.1.3 Diagnósticos

1 Una implementación conforme producirá al menos un mensaje de diagnóstico (identificado de una manera definida por la implementación) si una unidad de traducción de preprocesamiento o una unidad de traducción contiene una violación de cualquier regla o restricción de sintaxis, incluso si el comportamiento también se especifica explícitamente como indefinido o implementación -definido.

Se agregó énfasis en "... o restricción".

Según 3.8, ser "solo" una restricción semántica no descarta que algo sea una restricción .

Según 4. 1), un "deberá" es un requisito, un "no deberá" una prohibición.

Interpreto ambos para indicar una restricción.

Según 5.1.1.3, no solo las reglas de sintaxis violadas, sino también las restricciones violadas requieren un diagnóstico, incluso si (según 4.2)) "[...] el comportamiento también se especifica explícitamente como indefinido o definido por la implementación".


Tenga en cuenta, sin embargo, para evitar malentendidos:

Me refiero aquí a la semántica especificada con un "debe" / "no debe" en el estándar , no a la semántica de ningún programa.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda