Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

179
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!