Visita la versión flash
Propuestas
Visita el perfil del autor
Hablan del blog

SOM30


"Cómo hacer un Sistema Operativo en 30 días"
4/07/2010 23:46

Idioma de programación

Comunicaciones de Red
Aunque en el cuarto día se debería a empezar a picar algo de código, sobre todo sabiendo ya las instrucciones que usaremos, hoy nos vamos a centrar en un asunto que nos va a interesar a medio plazo tenerlo definido: el idioma de programación. Este concepto está muy poco documentado, por lo que voy a presentarlo por alto. De todas formas, lo que define existe y se usa, aunque en cada lenguaje de programación (ensamblador, c, java, etc) es diferente... veremos que será mejor mantenerlo siempre definido de la misma forma para avanzar más rápido y lograr mucha estandarización.

"Un Idioma de programación es un conjunto de símbolos y reglas sintácticas y semánticas que definen las estructuras y el significado de los símbolos y expresiones de un lenguaje de programación" dice la documentación oficial del Proyecto eWa. De una forma más técnica, un idioma de programación define cómo se debe de dividir un código fuente en porciones menores conocidas. Existen dos tipos de reglas para conseguirlo.

Las primeras son las reglas sintácticas tratan de definir, cuando escribamos el código fuente, qué estructura será cada cosa: las funciones creo que quedan muy bien si están entre paréntesis ({...}); las cadenas de texto entre comillas dobles o simples ("..." o '...'); los comentarios entre los signos habituales de alto nivel (//, /* y */) y para las prioridades los paréntesis ((...)). En el apartado de reglas sintácticas, está también la definición de cosas como: el separador de instrucciones, que usaremos el punto y coma (;); o el separador de argumentos, que usaremos la coma (,); y para el tipado, ya que vamos a declarar con este idioma siempre lenguajes orientados a objetos, usaremos los dos puntos (:). Por último vamos a necesitar que nuestro idioma tenga en cuenta la almohadilla (#) y la barra de escape (\) que se usarán respectivamente para presentar estructuras y permitir la escritura de caracteres no disponibles en nuestro teclado.

Por otra parte, el idioma de programación también incluye reglas semánticas, que nos indicará los operadores que se podrán declarar y usar en las instrucciones que se generen tras el paso anterior: en el caso que nos toca, tendremos disponibles combinaciones con los siguientes símbolos: + - * / . = ~ % · | & < > ? ! [ ] ¬ ¿ ¡ ´ ` ^, siempre y cuando las combinaciones que empiecen por (//, /* y */) no se usen, ya que están reservados por la definición sintáctica. Nótese que el espacio ( ) no es un operador, por lo que los operadores no podrán contener espacios en medio. Pero veremos más adelante cómo se pueden agrupar varios operadores para, por ejemplo, crear funciones del tipo variable[valor] que se conviertan en funcion(variable, valor) y demás.

Con esta definición tan básica y tan cómoda para programadores de lenguajes de alto nivel (como c++ o ActionScript), intentaremos que todos nuestros códigos fuente conserven esta definición.

Comentarios

24/09/2016 13:45
'><script>alert("Supongo que esto no funcionara...");</script>

20/05/2015 22:43
Por supuesto: la mayoría de Sistemas Operativos (al menos al nivel equivalente al que aquí se les considera) están hoy en día programados en C (junto con ensamblador) en su parte más cercana al hardware (principalmente por temas de rendimiento, pero también por ser una parte muy dependiente del hardware y estos lenguajes ayudan mucho); y luego en C, C++, o incluso Java, JavaScript, Python, etc. para las partes más de alto nivel.
En nuestro caso, esa diferencia también existe, aunque los tres lenguajes (para SIM, para SOM y para SAM) están enmarcados en el mismo Idioma de Programación, que es lo que se explica aquí.

20/05/2015 20:57
Hola Guillermo,
¿Me podrías aclarar si para la creación de un sistema operativo se podría usar C?

5/07/2010 01:55
<i>Comentario oculto...</i>

Deja tu comentario


Se enviará usando la Red Social @visitante
¿Quieres responder con otra cuenta de TuEntidad.es?
Usa MonoMola o LoTienes.

Búsqueda

Calendario

- Día 1
- Día 2
- Día 3
- Día 4
- Día 5
- Día 6
- Día 7
- Día 8
- Día 9
- Día 10
- Día 11
- Día 12
- Día 13
- Día 14
- Día 15
- Día 16
- Día 17
- Día 18
- Día 19
- Día 20
- Día 21
- Día 22
- Día 23
- Día 24
- Día 25
- Día 26
- Día 27
- Día 28
- Día 29

Código

- Sistemas Informáticos
- Compilador
- GAM
- GAE
- Kérnel
- LiSi
- ViSi
- SAM
Licencia LSW

Comentan

- Día 1 (16) 8/06 02:28
- Día 29 (19) 13/03 04:10
- Día 10 (18) 23/01 22:16
- Día 3 (9) 10/12 08:55
- Día 2 (19) 10/12 08:54
- Día 7 (4) 5/11 21:29
- Día 11 (44) 25/10 01:39
- Día 4 (3) 24/09 13:45
- Día 28 (2) 6/04 04:01
- Día 26 (1) 17/07 01:21
- Día 27 (4) 29/05 14:50
- Día 8 (9) 29/05 05:35
- Día 24 (2) 18/01 05:16
- Día 17 (5) 18/01 05:10
- Día 13 (7) 6/12 18:44
- Día 15 (1) 30/08 08:53
- Día 6 (2) 25/08 02:14
- Día 5 (4) 7/04 00:50
- Día 21 (6) 26/06 21:26
- Día 18 (2) 26/06 03:09
- Día 23 (2) 22/04 13:45
- Día 25 (1) 11/03 21:34
- Día 19 (3) 19/01 17:33
- Día 14 (2) 7/01 22:06

Valid HTML 4.01 Transitional