Pregunta sobre terminology – ¿Qué significa 'lenguaje de construcción'?

27

Estoy aprendiendo C de 'Programación en C 'por Stephen Kochan.

Aunque el autor tiene cuidado desde el principio de no confundir a los estudiantes con la jerga, pero ocasionalmente ha usado pocos términos sin explicar su significado. He descubierto el significado de muchos de estos términos con la ayuda de Internet.

Sin embargo, no pude entender el significado exacto de la frase "construcción de lenguaje", y desafortunadamente la web no proporciona una buena explicación.

Teniendo en cuenta que soy un principiante, ¿qué significa "construcción de lenguaje"?

Sí, lo intenté ... no pude entender el concepto. Eso sí, soy un principiante adulto, lento en el aprendizaje. KawaiKx
Tenga en cuenta que el término tiende a usarse de manera bastante flexible, para referirse a algún subconjunto de la sintaxis / semántica del lenguaje. Hot Licks
Has probadowikipedia? Carl Norum

Tu respuesta

8   la respuesta
32

lenguaje construido es. Todos los lenguajes de programación son lenguajes construidos (lea la referencia). Entonces puedes leer un poco sobreconstrucción del compiladorincluyendo estereferencia también.

Volviendo a su pregunta, considere esto: el idioma inglés (un idioma natural) tiene tokens'A-Z / 0-9 / ,; "...' que usamos para construir"PALABRAS" y usamosreglas de idiomas para construir oraciones con palabras. Por lo tanto, en el idioma inglés, una construcción es lo que construimos con tokens.

Considere este ejemplo de ladrillo y mortero: imagínese si se propone construir una casa, los materiales básicos que podría usar son: arena, hierro, madera, cemento, agua (solo cuatro para simplificar). Cualquier cosa que construyas de estos 4 o 5 elementos sería un "CONSTRUIR", que a su vez te ayudará a construir tu casa.

He omitido intencionalmente los detalles para simplificar aún más la respuesta; Espero que esto sea de ayuda.

Escribí una edición hace algunas semanas, no se reflejó, asumí que no te gustó. Ok, publiqué mis ediciones de nuevo. Gracias, lifebalance
@sakhunzai es un ejemplo absurdo solo para fines educativos: así que definitivamente estox += y Es un constructo de lenguaje. Pero, ¿sería correcto decir que esa construcción en sí contiene 4 construcciones de lenguaje? ¿O trazamos la línea solo en lo que construimos con más de 1 token? Así que podría decir que a partir de las reglas gramaticales de la construcción de un identificador que tengoconstruido la una letraidentificador y y la una letraidentificador x respectivamente, cediendo2 constructos. Entonces hago eladición que es otroconstruir y finalmente unasignación, que es otraconstruir George
@sakhunzai así desde tokens individuales, hasta combinar tokens y formar declaraciones más complejas, como estructuras de control (if - else bloquesfors, while, function definitions, class definitions) básicamente son todas las construcciones, ¿correcto? tomándolo semánticamente, aconstruir significa crear / construir, yidioma es un sistema complejo de comunicación, es decir, una construcción de lenguaje es cualquier cosa que se pueda construir dentro de un lenguaje, por lo que todo lo anterior coincide con la definición. George
@sakhunzai tomando su analogía del inglés al CS, ¿es correcto decir que cualquier cosa que pueda construir utilizando una gramática particular, como EBNF, por ejemplo, es unaconstrucción del lenguaje? Wikipedia Dice que es básicamente cualquier cosa válida de la que puedas.uno oMás fichas léxicas. Así que lo tomo de los símbolos individuales, comodígitos (1, 2, ..) aoperadores (+, -, *,..) a combinar esos (1 + 2), todo aquí es unconstrucción del lenguaje? Lógicamente es algo que puedes construir gramaticalmente dentro de ese lenguaje. George
1

así que:

Construir es una arquitectura de una clase que estás a punto de crear. La arquitectura de la clase consta de métodos y propiedades creadas por usted mediante el uso de utilidades predefinidas (como: 'if', 'else', 'switch', 'break', etc.)

Esa es mi opinión sobre la construcción.

3

no puedo estar seguro, pero en general la frase "construcción de lenguaje" solo significa la combinación de palabras clave, gramática y estructura de un lenguaje de codificación. Básicamente, cómo formatear / escribir / construir una pieza de código.

"El uso adecuado de la sangría se vuelve aún más crítico cuando se trata de construcciones de programas más sofisticados, como anidado para declaraciones". "naturalmente, el lenguaje C proporciona una construcción de lenguaje especial para manejar tal situación (hablando de hacer una declaración)". "ahora que está familiarizado con todas las construcciones de bucle básicas proporcionadas por el lenguaje C". KawaiKx
Sí, en esta oración se usa exactamente como pensé. Se trata de elementos 'más sofisticados' del lenguaje de codificación C (en este caso, una 'declaración-for' anidada. 'Las-declaraciones' son solo uno de los muchos elementos del lenguaje de codificación que se utilizan para construir una pieza de código. Idioma más común las construcciones son for-loops, if-statement, while-loops etc. hofnarwillie
0

por lo que al compilar su código, todo va de una declaración a otra. Por lo tanto, se hace necesario colocar su declaración correctamente. Esta colocación, es decir, la colocación correcta de su declaración es la construcción de su idioma, de lo contrario puede haber un error de sintaxis o un error lógico.

4

No se pueden utilizar como una función de reversión. Son llamados directamente por el analizador. Incluye todos los estilos de sintaxis, semántica y codificación de un idioma. Para más aclaración puede referirse aesta pregunta.

1

En referencia a un lenguaje de programación.

<code>    Language Constructs mean the basic constructs of a programming languge e.g
1. Conditions (if, else, switch)
2. Loops (For, While, Do-while) etc
</code>
3

Wikipedia definición:

Un constructo de lenguaje es una parte sintácticamente permisible de un programa que puede formarse a partir de una o más fichas léxicas de acuerdo con las reglas de un lenguaje de programación. El término Construcciones lingüísticas se usa a menudo como sinónimo de estructura de control y no debe confundirse con una función.

10

ejemplo, la siguiente es una construcción de lenguaje en C que le permite controlar el flujo de un programa:

<code>if ( condition ) {
  /* when condition is true */
} else {
  /* when condition is false */
}
</code>

Suelen utilizar el término.construcción del lenguaje Porque son partes de la mayoría de los lenguajes de programación, pero pueden escribirse de manera diferente, dependiendo del lenguaje. Por ejemplo, una construcción de lenguaje similar enconcha de bourne sería:

<code>if COMMAND; then
  # when command returns 0
else
  # when command returns anything else
fi
</code>

La función de esta construcción es la misma, sin embargo, la forma en que está escrita es un poco diferente.

Espero que esto ayude. Si necesita más detalles, puede hacer un poco más de investigación. Como sugiere uno de los comentarios, Wikipedia puede ser útil.

Preguntas relacionadas