stringtranslate.com

Comparación de lenguajes de programación (sintaxis)

Esta comparación de lenguajes de programación compara las características de la sintaxis del lenguaje (formato) de más de 50 lenguajes de programación de computadoras.

Expresiones

Las expresiones del lenguaje de programación se pueden clasificar en términos generales en cuatro estructuras de sintaxis:

notación de prefijo
notación infija
notación de sufijo, postfijo o polaca inversa
notación matemática

Declaraciones

Cuando un lenguaje de programación tiene declaraciones , normalmente tienen convenciones para:

Un separador de declaraciones demarca el límite entre dos declaraciones separadas. Un terminador de declaración define el final de una declaración individual. Los lenguajes que interpretan el final de una línea como el final de una declaración se denominan lenguajes "orientados a líneas".

La "continuación de línea" es una convención en lenguajes orientados a líneas donde el carácter de nueva línea podría malinterpretarse como un terminador de declaración. En dichos lenguajes, permite que una sola declaración abarque más de una sola línea.

Continuación de línea

La continuación de línea generalmente se realiza como parte del análisis léxico : una nueva línea normalmente da como resultado que se agregue un token al flujo de tokens, a menos que se detecte una continuación de línea.

Espacios en blanco : idiomas que no necesitan continuaciones
Ampersand como último carácter de la línea
Barra invertida como último carácter de la línea
Comilla invertida como último carácter de la línea.
Guión como último carácter de la línea
Subrayado como último carácter de la línea.
Elipsis (como tres puntos, ni un carácter especial)
Delimitador de coma como último carácter de línea
Delimitador de corchete izquierdo como último carácter de la línea
Operador como último objeto de línea.
Operador como primer carácter de la línea continua
Barra invertida como primer carácter de la línea continua
Alguna forma de comentario en línea sirve como continuación de línea
Posición del personaje
[Fin y comienzo] usando comillas normales

Bibliotecas

Importar una biblioteca es una forma de leer rutinas, programas o paquetes externos, posiblemente compilados . Las importaciones se pueden clasificar por nivel (módulo, paquete, clase, procedimiento,...) y por sintaxis (nombre de directiva, atributos,...)

Importación de archivos
Importación de paquetes
Importación de clase
Importación de procedimiento/función
Importación constante

Las declaraciones anteriores también se pueden clasificar según sean una conveniencia sintáctica (permitiendo hacer referencia a las cosas con un nombre más corto, pero aún así se puede hacer referencia a ellas con algún nombre completo sin importancia), o si realmente son necesarias para acceder. el código (sin el cual es imposible acceder al código, incluso con nombres completos).

Conveniencia sintáctica
Requerido para acceder al código

Bloques

Un bloque es una notación para un grupo de dos o más declaraciones, expresiones u otras unidades de código que están relacionadas de tal manera que forman un todo.

Llaves (también conocidas como llaves) {...}
Paréntesis (...)
Corchetes [...]
begin...end
do...end
do...done
do...end
X... end(por ejemplo if... end):
( begin...)
(pronóstico...)
( do...)
Sangría
Otros

Comentarios

Los comentarios se pueden clasificar por:

Comentarios en línea

Los comentarios en línea son generalmente aquellos que utilizan un carácter de nueva línea para indicar el final de un comentario y un delimitador arbitrario o una secuencia de tokens para indicar el comienzo de un comentario.

Ejemplos:

Bloquear comentarios

Los comentarios de bloque son generalmente aquellos que utilizan un delimitador para indicar el comienzo de un comentario y otro delimitador para indicar el final de un comentario. En este contexto, los espacios en blanco y los caracteres de nueva línea no se cuentan como delimitadores. En los ejemplos, el símbolo ~ representa el comentario; y los intérpretes/compiladores entienden los símbolos que lo rodean como delimitadores.

Ejemplos:

Variantes únicas

fortran
COBOL
Cobra
Rizo
lua
perla
PHP
Pitón
Elixir
rakú
Rubí
Jerga
Esquema y raqueta
ABAP

ABAP admite dos tipos diferentes de comentarios. Si el primer carácter de una línea, incluida la sangría, es un asterisco ( *), toda la línea se considera un comentario, mientras que una comilla doble simple ( ") comienza un comentario en línea que actúa hasta el final de la línea. Los comentarios ABAP no son posibles entre las declaraciones EXEC SQLy ENDEXECporque SQL nativo tiene otros usos para estos caracteres. En la mayoría de los dialectos SQL, --se puede utilizar el doble guión ( ).

Lenguajes esotéricos

Comparación de comentarios

Existe una amplia variedad de estilos de sintaxis para declarar comentarios en el código fuente. BlockCommenten cursiva se utiliza aquí para indicar el estilo de comentario de bloque. InlineCommenten cursiva se utiliza aquí para indicar el estilo de comentario en línea.

Ver también

Referencias

  1. ^ ab Para declaraciones múltiples en una línea
  2. ^ Tres tipos diferentes de cláusulas, cada una separa frases y unidades de manera diferente:
      1. cláusula serial que usa el token go-on (es decir, punto y coma): comienza a; b; c final : las unidades se ejecutan en orden.
      2. cláusula colateral que utiliza and-also-token (a saber, ","): comienzo a, b, c final : el compilador debe optimizar el orden de ejecución.
      3. cláusula paralela usando and-also-token (a saber, ","): par comenzar a, b, c final : las unidades deben ejecutarse en subprocesos paralelos.
  3. ^ punto y coma: resultado de la declaración que retrocede oculto, coma: resultado mostrado
  4. ^ ab De la definición del lenguaje R , sección 3.2 Estructuras de control: "Un punto y coma siempre indica el final de una declaración, mientras que una nueva línea puede indicar el final de una declaración. Si la declaración actual no está sintácticamente completa, las nuevas líneas simplemente son ignoradas por el evaluador."
  5. ^ Manual de referencia de Bash, 3.1.2.1 Carácter de escape
  6. ^ Documentación de Python, 2. Análisis léxico: 2.1.5. Unión de líneas explícitas
  7. ^ "Mathworks.com". Archivado desde el original el 7 de febrero de 2010.
  8. ^ "Paréntesis/corchetes - CMD de Windows - SS64.com". ss64.com .
  9. ^ "Scripts: definición y uso | AutoHotkey".
  10. ^ Para que se pueda acceder a un archivo M (fuente MATLAB) por nombre, su directorio principal debe estar en la ruta de búsqueda (o directorio actual).
  11. ^ abc "Sintaxis detallada: F# | Microsoft Learn". Microsoft aprende . 5 de noviembre de 2021 . Consultado el 17 de noviembre de 2022 .
  12. ^ "Manual de Nim". nim-lang.org .
  13. ^ ab "Mathworks.com". Archivado desde el original el 21 de noviembre de 2013 . Consultado el 25 de junio de 2013 .
  14. ^ "Algol68_revised_report-AB.pdf en PDF págs. 61–62, documento original págs. 121–122" (PDF) . Consultado el 27 de mayo de 2014 .
  15. ^ "Versión HTML del informe AB revisado de Algol68". Archivado desde el original el 17 de marzo de 2013 . Consultado el 27 de mayo de 2014 .
  16. ^ ab "DLang.org, léxico" . Consultado el 27 de mayo de 2014 .
  17. ^ "Referencia de palabras clave de AutoItScript.com, #comentarios-inicio" . Consultado el 27 de mayo de 2014 .
  18. ^ "slang-2.2.4/src/slprepr.c - línea 43 a 113" . Consultado el 28 de mayo de 2014 .
  19. ^ "Puntuación · El lenguaje de Julia".
  20. ^ "Manual de Nim". nim-lang.org .
  21. ^ "Consejo de Python: puede utilizar cadenas de varias líneas como comentarios de varias líneas", 11 de septiembre de 2011, Guido van Rossum
  22. ^ "Redacción de documentación: Elixir v1.12.3" . Consultado el 28 de julio de 2023 .
  23. ^ "Documentación de Perl 6 (sintaxis)". docs.perl6.org. Comentarios . Consultado el 5 de abril de 2017 .
  24. ^ "Uso del preprocesador FPP". Archivado desde el original el 18 de noviembre de 2022 . Consultado el 18 de noviembre de 2022 .
  25. ^ "Comentarios de Perl 6 POD". 25 de mayo de 2023.
  26. ^ "Perl 6 POD (bloques abreviados)". 25 de mayo de 2023.

Notas

  1. ^ Visual Basic .NET no admite comentarios tradicionales de varias líneas, pero se pueden emular mediante directivas del compilador.
  2. ^ ab Si bien C# admite comentarios de bloque tradicionales /* ... */, se pueden usar directivas del compilador para imitarlos como en VB.NET.
  3. ^ ab El carácter de continuación de línea _se puede utilizar para extender un comentario de una sola línea a la siguiente línea sin necesidad de escribir 'o REMnuevamente. Esto se puede hacer hasta 24 veces seguidas.
  4. ^ Fortran no admite comentarios de bloques tradicionales, pero algunos compiladores admiten directivas de preprocesador al estilo de C / C++ , lo que permite al programador emular comentarios de varias líneas. [24]