Appunti sui fondamenti della programmazione: compilatori, sintassi, tipi di dati e concorrenza.
"Nozioni di base sui linguaggi di programmazione" è un manuale di ingegneria gratuito che copre argomenti importanti del corso, appunti, diagrammi, equazioni, formule e materiale di studio. Scarica questo libro digitale e guida di riferimento per corsi di diploma, laurea triennale (BE, BTech, BCA, BSc, MCA) e laurea specialistica.
Apprendi 127 argomenti suddivisi in 5 capitoli, tra cui compilatori, sintassi, semantica, parsing, tipi di dati, funzioni, astrazione e concorrenza. Utile per un rapido ripasso, esami e colloqui di lavoro.
RAMI DELL'INGEGNERIA CORRELATI
Ingegneria Informatica (CSE), Tecnologie dell'Informazione (IT), Ingegneria Informatica, Ingegneria del Software, Intelligenza Artificiale e Scienza dei Dati.
119 ARGOMENTI ELENCATI SU 127
LINGUAGGI, COMPILATORI E SINTASSI
1. Macchine astratte
2. L'interprete
3. Linguaggi di basso e alto livello
4. Esempio di macchina astratta
5. Descrizione di un linguaggio di programmazione
6. Grammatica e sintassi
7. Introduzione alla sintassi e alla semantica
8. Problema della descrizione della sintassi
9. Metodi di descrizione della sintassi
10. BNF estesa
11. Grammatiche ad attributi
12. Definizione di grammatiche ad attributi
13. Esempi di grammatiche ad attributi
14. Calcolo dei valori degli attributi
15. Semantica dinamica
16. Semantica assiomatica
17. Principi di progettazione dei linguaggi
18. Paradigma di programmazione
19. Storia dei linguaggi di programmazione
20. Progettazione dei linguaggi
21. Obiettivi di progettazione dei linguaggi di programmazione
22. Compilatori
23. Macchine virtuali e interpreti
24. Chomsky Gerarchia
TIPI E PARSING
25. Tipi di dati elementari
26. Operazioni sugli interi
27. Operazione di overflow
28. Tipi di enumerazione
29. Tipo carattere
30. Tipo booleano
31. Sottotipi
32. Tipi derivati
33. Espressioni
34. Istruzioni di assegnazione
35. Introduzione all'analisi lessicale e semantica
36. Analisi lessicale
37. Problema di parsing
38. Parsing top-down
39. Parsing bottom-up
40. Complessità del parsing
41. Classe di grammatica LL
42. Problema di parsing per parser bottom-up
43. Algoritmi shift-reduce
44. Parser LR
PUNTATORI ED ESPRESSIONI
45. Tipo di dati
46. Tipi di dati primitivi
47. Tipi di stringa di caratteri
48. Implementazione dei tipi di stringa di caratteri
49. Tipi di array
50. Array Categorie
51. Slice
52. Implementazione dei tipi Array
53. Array associativi
54. Tipi Record
55. Tipi Tuple
56. Tipi List
57. Tipi Union
58. Tipi Puntatore e Riferimento
59. Problemi con i puntatori
60. Puntatori in C e C++
61. Tipi Riferimento
62. Implementazione dei tipi Puntatore e Riferimento
63. Gestione dell'heap
64. Controllo dei tipi
65. Tipizzazione forte
66. Espressioni
67. Espressioni aritmetiche
68. Ordine di valutazione degli operatori
69. Associatività
70. Parentesi
71. Ordine di valutazione degli operandi
72. Trasparenza referenziale
73. Operatori sovraccaricati
74. Conversioni di tipo
75. Coercizione nelle espressioni
76. Conversione di tipo esplicita
77. Espressioni relazionali e booleane
78. Valutazione a corto circuito
79. Istruzioni per l'assegnazione
SOTTOPROGRAMMI E ASTRAZIONE
80. Fondamenti dei sottoprogrammi
81. Procedure e funzioni nei sottoprogrammi
82. Problemi di progettazione per i sottoprogrammi
83. Ambienti di riferimento locali
84. Metodi di passaggio dei parametri
85. Modelli di implementazione del passaggio dei parametri
86. Implementazione dei metodi di passaggio dei parametri
87. Parametri di controllo del tipo
88. Parametri che sono sottoprogrammi
89. Chiamata indiretta di sottoprogrammi
90. Sottoprogrammi sovraccaricati
91. Sottoprogrammi generici
92. Funzioni generiche in C
93. Metodi generici in Java 5.0
94. Problemi di progettazione per le funzioni
95. Operatori sovraccaricati definiti dall'utente
96. Closure
97. Coroutine
98. Il concetto di astrazione
99. Astrazione dei dati
100. Problemi di progettazione per i tipi di dati astratti
101. Tipi di dati astratti in Ada
102. Tipi di dati astratti in C
103. Tipi di dati astratti in C#
104. Tipi di dati astratti parametrizzati
105. Tipi di dati astratti parametrizzati in C
INCAPSULAMENTO E CONCORRENZA
106. Incapsulamento in C
107. Incapsulamento in C
108. Concorrenza
109. Categorie di concorrenza
110. Concorrenza a livello di sottoprogramma
111. Diagramma di flusso degli stati delle attività
112. Semafori
113. Sincronizzazione cooperativa
114. Sincronizzazione competitiva
115. Monitor
116. Passaggio di messaggi
117. Supporto di Ada per la concorrenza
118. Thread Java