¿Hay una gramática estándar de C++?
¿Especifica el estándar la gramática oficial de C++?
Busqué, pero no lo encontré en ninguna parte.
Además, quiero leer un poco sobre la gramática de C++ en detalle, como en qué categoría de gramáticas cae, etc. Cualquier enlace que me apunte en la dirección correcta sería útil.
Por categoría, quiero decir
tomado de aquí.
5 answers
Sí, lo hace.
La gramática se describe en detalle en todo el estándar y se resume en el Apéndice A: Resumen Gramatical (es el Apéndice A tanto en el estándar C++03 como en el borrador final del comité C++0x).
Puede comprar el estándar C++03 o puede descargar el C++0x FCD (es el documento n3092 en esa página).
Para responder al "¿en qué categoría está?"pregunta, la gramática de C++ es no libre de contexto (véase también preguntas vinculadas en las respuestas a esa pregunta; tienen ejemplos adicionales de problemas relacionados con la gramática de C++ y el análisis de C++).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:02:14
Alessio Marchetti puso una gramática BNF hipervinculada para C++ en http://www.nongnu.org/hcb/.
Tener todo vinculado y en una sola página hace que sea fácil navegar entre las reglas.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-23 03:24:10
Andrew Birkett tiene una visión completa del análisis de C++ en su sitio web . Cubre algunas de las dificultades para crear una gramática de C++ (mezcla de análisis léxico, sintáctico y semántico) e incluye enlaces a varias gramáticas de C++.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-17 14:32:45
Bjarne Stroustrup, el creador de C++, escribió un libro llamado El Lenguaje de programación C++ que se ha actualizado muchas veces (leí la 3a edición hace unos 10 años). Recuerdo que tenía detalles muy técnicos con respecto a la gramática (pre-procesador y compilador).
Probablemente pueda encontrar este libro en una de sus librerías locales, puede ofrecerle más disfrute que un documento estándar de ANSI, dependiendo de lo específico que necesite ser.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-17 14:28:56
No estoy seguro, pero por lo que veo, el enlace de James McNellis (al pdf) contiene una nota en la primera página:
Advertencia
Este documento no es una ISO Estándar Internacional. Es distribuido para su revisión y comentario. Se está sujeto a cambios sin previo aviso y no puede ser referido como un Estándar Internacional.
Por lo tanto, buscado y creo que este es el enlace correcto a la oficial ISO: http://www-d0.fnal.gov / ~dladams / cxx_standard. pdf
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-17 14:59:03