Sunday, November 12, 2017

Cuvintele cheie în limbajele de programare

Cuvintele cheie în limbajele de programare formează un vocabular și este obligatoriu ca programatorii să nu le folosească în alt scop decât cel care a fost stabilit în sintaxa limbajului. Sunt și limbaje care nu impun acestă restricție, dar mi se pare civilizat ca programatorii să nu le amestece printre numele lor de variabile sau de etichete pentru a nu crea confuzii în procesul de depanare sau de mentenanță, căci 99% dintre programatori nu schimbă semnificația nici a lui DO nici a lui IF nici a lui READ, nici a lui REAL, nici a lui INTEGER și nici a lui WRITE din FORTRAN.
Lista cuvintelor rezervate în limbajul COBOL este:
ACCEPT
ACCESS
ADD
ADDRESS
ADVANCING
AFTER
ALL
ALPHABET
ALPHABETIC
ALPHABETIC-LOWER
ALPHABETIC-UPPER
ALPHANUMERIC
ALPHANUMERIC-EDITED
ALSO
ALTER
ALTERNATE
AND
ANY
APPLY
ARE
AREA
AREAS
ASCENDING
ASSIGN
AT
AUTHOR
BASIS
BEFORE
BEGINNING
BINARY
BLANK
BLOCK
BOTTOM
BY
CALL
CANCEL
CBL
CD
CF
CH
CHARACTER
CHARACTERS
CLASS
CLASS-ID
CLOCK-UNITS
CLOSE
COBOL
CODE
CODE-SET
COLLATING
COLUMN
COM-REG
COMMA
COMMON
COMMUNICATION
COMP
COMP-1
COMP-2
COMP-3
COMP-4
COMP-5
COMPUTATIONAL
COMPUTATIONAL-1
COMPUTATIONAL-2
COMPUTATIONAL-3
COMPUTATIONAL-4
COMPUTATIONAL-5
COMPUTE
CONFIGURATION
CONTAINS
CONTENT
CONTINUE
CONTROL
CONTROLS
CONVERTING
COPY
CORR
CORRESPONDING
COUNT
CURRENCY
DATA
DATE-COMPILED
DATE-WRITTEN
DAY
DAY-OF-WEEK
DBCS
DE
DEBUG-CONTENTS
DEBUG-ITEM
DEBUG-LINE
DEBUG-NAME
DEBUG-SUB-1
DEBUG-SUB-2
DEBUG-SUB-3
DEBUGGING
DECIMAL-POINT
DECLARATIVES
DELETE
DELIMITED
DELIMITER
DEPENDING
DESCENDING
DESTINATION
DETAIL
DISPLAY
DISPLAY-1
DIVIDE
DIVISION
DOWN
DUPLICATES
DYNAMIC
EGCS
EGI
EJECT
ELSE
EMI
ENABLE
END
END-ADD
END-CALL
END-COMPUTE
END-DELETE
END-DIVIDE
END-EVALUATE
END-IF
END-INVOKE
END-MULTIPLY
END-OF-PAGE
END-PERFORM
END-READ
END-RECEIVE
END-RETURN
END-REWRITE
END-SEARCH
END-START
END-STRING
END-SUBTRACT
END-UNSTRING
END-WRITE
ENDING
ENTER
ENTRY
ENVIRONMENT
EOP
EQUAL
ERROR
ESI
EVALUATE
EVERY
EXCEPTION
EXIT
EXTEND
EXTERNAL
FALSE
FD
FILE
FILE-CONTROL
FILLER
FINAL
FIRST
FOOTING
FOR
FROM
FUNCTION
GENERATE
GIVING
GLOBAL
GO
GOBACK
GREATER
GROUP
HEADING
HIGH-VALUE
HIGH-VALUES
-O
I-O-CONTROL
ID
IDENTIFICATION
IF
IN
INDEX
INDEXED
INDICATE
INHERITS
INITIAL
INITIALIZE
INITIATE
INPUT
INPUT-OUTPUT
INSERT
INSPECT
INSTALLATION
INTO
INVALID
INVOKE
IS
UST
JUSTIFIED  
KANJI
KEY  
LABEL
LAST
LEADING
LEFT
LENGTH
LESS
LIMIT
LIMITS
LINAGE
LINAGE-COUNTER
LINE
LINE-COUNTER
LINES
LINKAGE
LOCAL-STORAGE
LOCK
LOW-VALUE
LOW-VALUES
MEMORY
MERGE
MESSAGE
METACLASS
METHOD
METHOD-ID
MODE
MODULES
MORE-LABELS
MOVE
MULTIPLE
MULTIPLY
NATIVE
NATIVE_BINARY
NEGATIVE
NEXT
NO
NOT
NULL
NULLS
NUMBER
NUMERIC
NUMERIC-EDITED
OBJECT
OBJECT-COMPUTER
OCCURS
OF
OFF
OMITTED
ON
OPEN
OPTIONAL
OR
ORDER
ORGANIZATION
OTHER
OUTPUT
OVERFLOW
OVERRIDE
PACKED-DECIMAL
PADDING
PAGE
PAGE-COUNTER
PASSWORD
PERFORM
PF
PH
PIC
PICTURE
PLUS
POINTER
POSITION
POSITIVE
PRINTING
PROCEDURE
PROCEDURE-POINTER
PROCEDURES
PROCEED
PROCESSING
PROGRAM
PROGRAM-ID
PURGE
QUEUE
QUOTE
QUOTES
RANDOM
RD
READ
READY
RECEIVE
RECORD
RECORDING
RECORDS
RECURSIVE
REDEFINES
REEL
REFERENCE
REFERENCES
RELATIVE
RELEASE
RELOAD
REMAINDER
REMOVAL
RENAMES
REPLACE
REPLACING
REPORT
REPORTING
REPORTS
REPOSITORY
RERUN
RESERVE
RESET
RETURN
RETURN-CODE
RETURNING
REVERSED
REWIND
REWRITE
RF
RH
RIGHT
ROUNDED
RUN
SAME
SD
SEARCH
SECTION
SECURITY
SEGMENT
SEGMENT-LIMIT
SELECT
SELF
SEND
SENTENCE
SEPARATE
SEQUENCE
SEQUENTIAL
SERVICE
SET
SHIFT-IN
SHIFT-OUT
SIGN
SIZE
SKIP1
SKIP2
SKIP3
SORT
SORT-CONTROL
SORT-CORE-SIZE
SORT-FILE-SIZE
SORT-MERGE
SORT-MESSAGE
SORT-MODE-SIZE
SORT-RETURN
SOURCE
SOURCE-COMPUTER
SPACE
SPACES
SPECIAL-NAMES
STANDARD
STANDARD-1
STANDARD-2
START
STATUS
STOP
STRING
SUB-QUEUE-1
SUB-QUEUE-2
SUB-QUEUE-3
SUBTRACT
SUM
SUPER
SUPPRESS
SYMBOLIC
SYNC
SYNCHRONIZED
TABLE
TALLY
TALLYING
TAPE
TERMINAL
TERMINATE
TEST
TEXT
THAN
THEN
THROUGH
THRU
TIME
TIMES
TITLE
TO
TOP
TRACE
TRAILING
TRUE
TYPE
UNIT
UNSTRING
UNTIL
UP
UPON
USAGE
USE
USING
VALUE
VALUES
VARYING
WHEN
WHEN-COMPILED
WITH
WORDS
WORKING-STORAGE
WRITE
WRITE-ONLY
ZERO
ZEROES
ZEROS
Este obligatoriu de a studia și actualiza această listă atunci când se scriu programe căci și limbajul COBOL a evoluat în ultimele decenii acceptând inclusiv abordarea obiectuală cu cuvinte cheie noi.
Lista cuvintelor rezervate în limbajul PASCAL este:
true, false
 +, -, *, /, 
div
mod
>=    <=  =, >  =  > <   <>
and
or
not
sqrt 
trunc
round
random
abs
length
ord
chr
val
str
copy
const
procedure
var
integer
real
char
string
Boolean
text
array..of
program
input
output
begin...end
 :=
for...to
downto...do, (*...*)
if...then...else
while...do,
repeat...until
case...of...end
write
writeln
read
readln
assign
reset
rewrite
eof
close
Lista cuvintelor rezervate în limbajul C++ este:
alignas
alignof
and
and_eq
asm
atomic_cancel
atomic_commit
atomic_noexcept
auto(1)
bitand
bitor
bool
break
case
catch
char
char16_t
char32_t
class
compl
concept
const
constexpr
const_cast
continue
co_await
co_return
co_yield
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
export
extern
false
float
for
friend
goto
if
import
inline
int
long
module
mutable(1)
namespace
new
noexcept
not
not_eq
nullptr
operator
or
or_eq
private
protected
public
register
reinterpret_cast
requires
return
short
signed
sizeof
static_assert
static_cast
struct(1)
switch
synchronized
template
this
thread_local
throw
true
try
typedef
typeid
typename
union
unsigned
using
virtual
void
volatile
wchar_t
while
xor
xor_eq
Limbajul C++ evoluează dramatic și o dată cu el lista cuvintelor rezervate și de aceea este important ca la fiecare versiune a limbajului această listă să se actualizeze ăentru a nu apare situații care scapă de sub control.
Lista cuvintelor rezervate în limbajul C este:
auto
break
case
char
const
continue
default
do
else
enum
extern
float
for
if
int
long
register
return
short
signed
goto
static
struct
switch
typedef
union
unsigned
void
sizeof
volatile
while.
Limbajul C a impresionat printr-o putere fantastică bazată pe un vocabular restrâns ca o chintesență a tot ceea ce cunoscuseră limbajele de dinaintea lui, forma fiind foarte concentrată.
Cuvintele rezervate ale limbajului PYTHON sunt:
and
as
assert
break
class
continue
def
del
elif
else
except
False
finally
for
from
global
if
import
in
is
lambda
None
not
nonlocal
or
pass
raise
return
True
try
while
with
yield.
Deși limbajul este foarte frecventat de programatori, o explicație se găsește în faptul că lungimea vocabularului de cuvinte rezervate este scurtă.

Cuvintele cheie în limbajele de programare arat[ cât de bogat este limbajul de programare sau din contră, dac[ este o listă foarte extinsă arată că acel limbaj are foarte multe constrângeri, așa cum este limbajul COBOL.



(12 noiembrie 2017)





(12 noiembrie 2017)

No comments:

Post a Comment