Definition Literale C++

OP #4513359
Lesenswert?
• ▲
▼
Hallo,
ich habe gerade ein Studium in Elektrotechnik begonnen und stehe kurz 
vor einer Informatik-Klausur. Jetzt haben sich kurz vor der Klausur noch 
Unklarheiten ergeben und ich wollte fragen, ob mir jemand helfen kann.

Es geht um Definitionen von Literale. Ich habe folgende Definitionen:
1
nondigit: one of           
2
  a b c x y z           
3
  A B C X Y Z 
4
 
5
 
6
digit: one of 
7
  0 1 2 3 4 5 6 7 8 9 
8
 
9
decimal-literal: 
10
  digit 
11
  decimal-literal digit 
12
 
13
 
14
identifier:       
15
  nondigit     
16
  identifier nondigit   
17
 
18
 
19
expression: 
20
  decimal-literal 
21
  (expression) 
22
  Identifier

Vor allem den expression verstehe ich noch nicht ganz, deshalb folgende 
Fragen:
1) Darf der expression aus einer willkührlichen Kombination aus 
nondigits und digit bestehen?
2) Werden Zeichenketten durch die Vorrausstellung von dem literal selbst 
gekennzeichnet? Z.B. ACX -> A ist ein indentifier -> idendifier CX.
Somit dürfte expression nur aus decimal-literal ODER idendifier 
bestehen, oder?

Ist somit zb. 71a bzw. a71 gar nicht definiert? Oder ist das ein 
expression?
Gast #4513442
Lesenswert?
• ▲
▼
Christian R. schrieb:
> Vor allem den expression verstehe ich noch nicht ganz, deshalb folgende
> Fragen:
> 1) Darf der expression aus einer willkührlichen Kombination aus
> nondigits und digit bestehen?

Nein.

> 2) Werden Zeichenketten durch die Vorrausstellung von dem literal selbst
> gekennzeichnet? Z.B. ACX -> A ist ein indentifier -> idendifier CX.
> Somit dürfte expression nur aus decimal-literal ODER idendifier
> bestehen, oder?

Ja und dies kann aber geklammert werden.

>
> Ist somit zb. 71a bzw. a71 gar nicht definiert? Oder ist das ein
> expression?

71a, a71 kann man aus den Regeln nicht herleiten.
Gast #4513469
Lesenswert?
• ▲
▼
Christian R. schrieb:
> 1) Darf der expression aus einer willkührlichen Kombination aus
> nondigits und digit bestehen?

Nein. Entweder das eine, oder das andere, aber nicht beides.

> 2) Werden Zeichenketten durch die Vorrausstellung von dem literal selbst
> gekennzeichnet?

In BNF typischerweise ja. Es ergibt sich eine Rekursion.

> Z.B. ACX -> A ist ein indentifier -> idendifier CX.

Ja.

> Somit dürfte expression nur aus decimal-literal ODER idendifier
> bestehen, oder?

Optional mit beiliebig vielen Klammern außen rum.

> Ist somit zb. 71a bzw. a71 gar nicht definiert? Oder ist das ein
> expression?

Es sind jeweils zwei Expressions. 71a ist ein decimal-literal gefolgt 
von einem identifier. Beides ist jeweils wieder eine Expresssion, also 
besteht 71a aus den beiden Expressions "71" und "a".

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren