Name Spaces And Exceptions

  • Uploaded by: Patrick Johnston
  • 0
  • 0
  • July 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Name Spaces And Exceptions as PDF for free.

More details

  • Words: 334
  • Pages: 2
Namespaces and Exceptions Modularization and Interfaces Un program real consistă dintr-un număr de părţi separate. De exemplu, chiar şi simplul program “Hello, world!” implică cel puţin două părţi: solicitările codului utilizator de a printa Hello, world! şi sistemul I/O care face printarea. Un program de calculator (ex. §6.1) poate fi compus din 5 părţi:

1. analizorul (parser), care face analiza sintactică 2. vocabularul (lexer), care compune simboluri (tokens) din caractere 3. tabla de simboluri (simbol table), care reţine (string, value) perechi (pairs) 4. 5.

driver-ul main manipulatorul de erori (error handling)

Aceasta poate fi reprezentată grafic:

driver

parser

lexer

symbol table

error handler Săgeţile reprezintă “folosind”. Pentru a simplifica figura nu au fost reprezentate legăturile cu partea de error handling. De fapt, calculatorul a fost conceput din trei părţi, driver-ul şi error handling-ul fiind adăugate pentru completitudine. Când un modul îl foloseşte pe altul, nu are nevoie să ştie totul despre modulul folosit. În circumstanţe ideale, cele mai multe detalii ale unui modul sunt necunoscute modulelor care îl folosesc. În concluzie, facem o distincţie între un modul şi o interfaţă. De exemplu, parser-ul se sprijină direct (doar) pe interfaţa lexer-ului, mai degrabă decât pe tot lexer-ul. Lexer-ul doar implementează serviciile anunţate în interfaţa sa. Aceasta poate fi prezentată grafic astfel:

driver parser interface

parser implementation

lexer interface

lexer implementation

symbol table interface

symbol table implementation

error handler

Liniile punctate înseamnă “implementează”. Considerăm aceasta ca fiind adevărata structură a programului iar sarcina noastră ca programatori este de a reprezenta aceasta cu fidelitate în cod. Făcând aceasta, codul va fi simplu, eficient, comprehensibil, uşor de menţinut etc., deoarece el va reflecta în mod fidel design-ul nostru fundamental. Vezi continuarea în “The C++ Programming Language” by Bjarne Stroustrup. Namespaces Un namespace este un mecanism pentru a exprima gruparea logică. Aceasta înseamnă că dacă câteva declarţii pot fi adunate împreună în acord cu un anumit criteriu, ele pot fi puse într-un namespace comun pentru a exprima acest fapt. Vezi continuarea în “The C++ Programming Language” by Bjarne Stroustrup.

Related Documents

Exceptions
November 2019 24
Exceptions
May 2020 19
Notes And Exceptions
July 2020 4
Spaces
November 2019 61
Spaces
May 2020 28

More Documents from ""