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) para más de 50 lenguajes de programación informática.

Expresiones

Las expresiones del lenguaje de programación se pueden clasificar en cuatro estructuras sintácticas:

notación de prefijo
notación infija
sufijo, posfijo o notación polaca inversa
notación similar a las matemáticas

Declaraciones

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

Un separador de sentencias delimita el límite entre dos sentencias independientes. Un terminador de sentencias define el final de una sentencia individual. Los lenguajes que interpretan el final de una línea como el final de una sentencia se denominan lenguajes "orientados a la línea".

La "continuación de línea" es una convención en los lenguajes orientados a líneas en la que el carácter de nueva línea podría ser malinterpretado como un finalizador de sentencia. En dichos lenguajes, permite que una sola sentencia ocupe más de una 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
Comillas invertidas como último carácter de la línea
Guión como último carácter de la línea
Guión bajo como último carácter de la línea
Puntos suspensivos (tres puntos, no un carácter especial)
Delimitador de coma como último carácter de la línea
Delimitador de corchete izquierdo como último carácter de la línea
Operador como último objeto de la línea
Operador como primer carácter de una línea continua
Barra invertida como primer carácter de una 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 afirmaciones anteriores también se pueden clasificar según sean una conveniencia sintáctica (que permite 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 completamente calificado sin importancia) o según sean realmente necesarias para acceder al código (sin lo cual es imposible acceder al código, incluso con nombres completamente calificados).

Conveniencia sintáctica
Necesario 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 en 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 símbolos que lo rodean son entendidos por los intérpretes/compiladores como los delimitadores.

Ejemplos:

Variantes únicas

Fortran
COBOL
Cobra
Rizo
Lua
Perl
PHP
Pitón
Elixir
Raku
Rubí
Jerga
Esquema y estafa
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 sentencias EXEC SQLy ENDEXECporque SQL nativo tiene otros usos para estos caracteres. En la mayoría de los dialectos SQL, --se puede utilizar el guión doble ( ) en su lugar.

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 en bloque. InlineCommenten cursiva se utiliza aquí para indicar el estilo de comentario en línea.

lt;#code>(* BlockComment *)/code>{{efn| Fortran no admite comentarios de bloque tradicionales, pero algunos compiladores admiten directivas de preprocesador en el estilo de C / C++ , lo que permite a un programador emular comentarios de varias líneas.br/>} lt;#code>(* BlockComment *)/code>{{efn| Fortran no admite comentarios de bloque tradicionales, pero algunos compiladores admiten directivas de preprocesador en el estilo de C / C++ , lo que permite a un programador emular comentarios de varias líneas.br/>}

Véase también

Referencias

  1. ^ ab Para múltiples declaraciones en una línea
  2. ^ Tres tipos diferentes de cláusulas, cada una separa las frases y las unidades de manera diferente:
      1. cláusula serial que utiliza un token continuado (por ejemplo, punto y coma): begin a; b; c end – las unidades se ejecutan en orden.
      2. cláusula colateral que utiliza el token and-also (es decir, ","): begin a, b, c end – el compilador debe optimizar el orden de ejecución.
      3. cláusula paralela que utiliza el token and-also (es decir, ","): par begin a, b, c end – las unidades deben ejecutarse en subprocesos paralelos.
  3. ^ punto y coma: el resultado de la declaración de retroceso está oculto, coma: el resultado se muestra
  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, el evaluador simplemente ignora las nuevas líneas".
  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 explícita de líneas
  7. ^ "Mathworks.com". Archivado desde el original el 7 de febrero de 2010.
  8. ^ "Paréntesis/Corchetes - Windows CMD - SS64.com". ss64.com .
  9. ^ "Scripts - Definición y uso | AutoHotkey".
  10. ^ Para que un archivo M (fuente MATLAB) sea accesible por nombre, su directorio principal debe estar en la ruta de búsqueda (o directorio actual).
  11. ^ abc "Sintaxis detallada - F# | Microsoft Learn". Microsoft Learn . 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 pp. 61–62, documento original pp. 121–122" (PDF) . Consultado el 27 de mayo de 2014 .
  15. ^ "Versión HTML del Informe revisado AB de Algol68". Archivado desde el original el 17 de marzo de 2013. Consultado el 27 de mayo de 2014 .
  16. ^ ab "DLang.org, Lexical" . Consultado el 27 de mayo de 2014 .
  17. ^ "AutoItScript.com Keyword Reference, #comments-start" (Referencia de palabras clave de AutoItScript.com, #comments-start) . 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 Julia".
  20. ^ "Manual de Nim". nim-lang.org .
  21. ^ "Consejo de Python: puedes usar cadenas de varias líneas como comentarios de varias líneas", 11 de septiembre de 2011, Guido van Rossum
  22. ^ "Escribir 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 tal 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 REMde nuevo. Esto se puede hacer hasta 24 veces seguidas.
  4. ^ Fortran no admite comentarios de bloque tradicionales, pero algunos compiladores admiten directivas de preprocesador al estilo de C / C++ , lo que permite a un programador emular comentarios de varias líneas. [24]