Author Topic: Formálne jazyky a preklada?e  (Read 144988 times)

Mike

  • Hero Member
  • *****
  • Posts: 634
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #625 on: 16.01.2011, 20:48:06 »
Napíšte gramatiku lexikálnych jednotiek pre identifikátory, ktoré majú prvé dva znaky veľké
písmená, potom môže nasledovať ľubovoľný počet číslic a ukončené môžu byť jedným apostrofom

riesenie:   G -> ("A"|...|"Z") ("A"|...|"Z"){"0"..."9"}[']

Napíšte, do akej konfigurácie sa dostane automat pri konfigurácii  .a { b | a }, ak na vstup pride znak b

riesenie: a { .b | .a } .  
« Last Edit: 16.01.2011, 21:32:13 by Mike »

antil kiprest

  • Full Member
  • ***
  • Posts: 159
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #626 on: 16.01.2011, 20:54:48 »
A-> X [ a Y ] {Z}

malo by to byt spravne

super:) tak este by som skusil jednu, nech si vyjasnim vsetky moznosti...

A-> B {d E} (c | F)

void A(symbolset K){

B(d | HE | c | HF | K );
check (d | HE | c | HF | K );

while (sym & (d | HE)){
  if(sym == d)
     getsymbol();
  else
     error(d | HE | c | HF | K);
  
  E(d | HE | c | HF | K);
  check(d | HE);
 
}

check(c | HF | K);

   switch(sym){
     case c : getsymbol();
              break;
     case HF: F(K);
              break;
     default: error(c | HF | K);
  }

}

Mike ? ;)
bravčové krídielka a náhradu sóje poprosím!!

Mike

  • Hero Member
  • *****
  • Posts: 634
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #627 on: 16.01.2011, 21:02:31 »
A-> B {d E} (c | F)

void A(symbolset K){

B(d | HE | c | HF | K );
check (d | HE | c | HF | K );

while (sym & (d | HE)){
  if(sym == d)
     getsymbol();
  else
     error(d | HE | c | HF | K);
  
  E(d | HE | c | HF | K);
  check(d | HE);     // tu by malo byt check(d | HE | c | HF | K);
 
}

check(c | HF | K);

   switch(sym){
     case c : getsymbol();
              break;
     case HF: F(K);
              break;
     default: error(c | HF | K);
  }
}

antil kiprest

  • Full Member
  • ***
  • Posts: 159
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #628 on: 16.01.2011, 21:03:12 »
link na prednasky najdete v threade fjap  prezentacie   :)
bravčové krídielka a náhradu sóje poprosím!!

ludko

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #629 on: 16.01.2011, 21:06:16 »

Napíšte, do akej konfigurácie sa dostane automat pri konfigurácii  a { . b | a }, ak na vstup pride znak b

riesenie: a . { b | c } .   ???

Tak ten gulickovy priklad podla mna a {b|a . }

antil kiprest

  • Full Member
  • ***
  • Posts: 159
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #630 on: 16.01.2011, 21:10:07 »


Napíšte, do akej konfigurácie sa dostane automat pri konfigurácii  a { . b | a }, ak na vstup pride znak b

riesenie: a . { b | c } .   ???

no neviem.. je to zadanie vobec spravne?? ved predsa ked je  '.'   pred 'b' mala by byt aj pred  'a' nie??  a tusim aj na konci

mozno sa mylim ale prvy stav je  . a { b | a }
a potom po zadani 'a' nasleduje  a { .b | .a }.   ci nie?
a nasledne po zadani 'b' by to ostalo tak isto...  opravte ma ak sa mylim


Quote
check(d | HE);     // tu by malo byt check(d | HE | c | HF | K);

isto?? isiel som podla prezentacii a podla nich by v tom checku malo byt to iste co sa kontroluje ako podmienka vo while...  ved nakoniec ked opustime cyklus while mame tam dalsi check ktory poriesi zvysok
bravčové krídielka a náhradu sóje poprosím!!

ondrej0071

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #631 on: 16.01.2011, 21:14:16 »
bol by som niekomu vazne velmi vdacny ak by mi vysvetlil ten sntakticky analizator na konkretnom pripade aby som to uz konecne vedel spravit dnes som od rana cital skripta velkeho bossa a cekoval jeho prednasky ale mam pocit ze som asi radsej nemusel robit nic pretoze si s toho nic nepametam tak ak by mi to niekto vedel vysvetlit budem vdacny :'( :'( :'( :'( :'( :'(

so syntaktickym analyzatorom som bol na tom rovnako...vela som vsak pochopil z diskusie v archive..myslim ze to bol rok 2009/2010..tam je to pekne vysvetlene a plus,velmi dobra pomocka je prezentacia p. Plocicu
http://hornad.fei.tuke.sk/~plocica/ppj/p5.pdf

antil kiprest

  • Full Member
  • ***
  • Posts: 159
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #632 on: 16.01.2011, 21:17:33 »
ok idem si kupit boty a mozme pokracovat  ;D
bravčové krídielka a náhradu sóje poprosím!!

ondrej0071

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #633 on: 16.01.2011, 21:43:53 »
3. napíšte gramatiku v EBNF pre zátvorkové výrazy a operácie +, - , *, /, pričom + a – neasociujú, * asociuje doľava a / doprava a priorita je takáto:
   p(*) > p (/) > p(+) = p(-)

                   
        Expr -> Plus  [("+" / " - " )  Plus]
        Plus -> Div  [ " / " Plus ]
        Div -> Mul { " * "Mul }
       Mul ->  "value" | "(" Expr ")"

spravne?

ludko

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #634 on: 16.01.2011, 21:47:06 »
1. Napíšte gramatiku lexikálnych jednotiek pre identifikátory, ktoré majú prvé dva znaky veľké písmená, potom môže nasledovať ľubovoľný počet číslic a ukončené môžu byť jedným apostrofom


 G -> ("A"|...|"Z") ("A"|...|"Z"){"0"..."9"}[']

ludko

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #635 on: 16.01.2011, 21:52:58 »
1. Napíšte gramatiku lexikálnych jednotiek pre identifikátory, ktoré majú prvý znak "$" alebo veľké písmeno, potom môže nasledovať ľubovoľný nenulový počet číslic a malých písmen

($ | A | B | … | Z) ((a | b | … | z ) | (0 | 1 | … | 9))
{(a | b | … | z ) | (0 | 1 | … | 9)}

ludko

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #636 on: 16.01.2011, 22:01:30 »
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.

{ab}   ??



ondrej0071

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #637 on: 16.01.2011, 22:01:51 »
 Expr -> Plus  [("+" / " - " )  Plus]
        Plus -> Div  [ " / " Plus ]
        Div -> Mul { " * "Mul }
       Mul ->  "value" | "(" Expr ")"


4. nakreslite syntakticky strom pre vyraz 10 – 3 * 4 * (3 / 2 – 7), pricom gramatika je z prikladu 3


ondrej0071

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #638 on: 16.01.2011, 22:02:37 »
1. Napíšte gramatiku lexikálnych jednotiek pre identifikátory, ktoré majú prvé dva znaky veľké písmená, potom môže nasledovať ľubovoľný počet číslic a ukončené môžu byť jedným apostrofom


 G -> ("A"|...|"Z") ("A"|...|"Z"){"0"..."9"}[']

suhlasim

ondrej0071

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #639 on: 16.01.2011, 22:04:05 »
1. Napíšte gramatiku lexikálnych jednotiek pre identifikátory, ktoré majú prvý znak "$" alebo veľké písmeno, potom môže nasledovať ľubovoľný nenulový počet číslic a malých písmen

($ | A | B | … | Z) ((a | b | … | z ) | (0 | 1 | … | 9))
{(a | b | … | z ) | (0 | 1 | … | 9)}


 :buttrock:

ondrej0071

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #640 on: 16.01.2011, 22:06:29 »
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
 
{ab}   ??

tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom  >:(  lebo by to mohlo byt aj (ab) {ab}


ondrej0071

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #641 on: 16.01.2011, 22:10:35 »
okej, takze otazky... mna by zaujmala tato:
5. napiste syntakticky analyzator so zotavenim pre A -> X [aY] {Z}, pouzite procedury check a error

myslim ze chceck a error vieme vsetci takze void A(symbolset K);

nejake navrhy?


A-> X [ a Y ] {Z}

predpokladam ze HX HY a HZ pozname.. takze

A(symbolset K){

X(a | HY | HZ | K);

check(a| HY | HZ | K);

if(sym == a ) {
   getsymbol();
   Y(HZ | K);        // nemal tu byt este else error( a | HY |HZ | K) ???
   check(HY | HZ | K);
}

check(HZ | K);
while (sym & (HZ)){
   Z(K);
   check(HZ | K);
}


}


hm??

ludko

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #642 on: 16.01.2011, 22:15:11 »
2.Napíšte, do akej konfigurácie sa dostane automat pri konfigurácii
 . a {b | c }, ak na vstup pride znak a


a. {b|c}

OsamelyVlk

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #643 on: 16.01.2011, 22:19:13 »
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
 
{ab}   ??

tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom  >:(  lebo by to mohlo byt aj (ab) {ab}


{ab} == ze vyraz ab moze byt nula az n-krat
ak vsak pred tento vyraz das (ab) , zabezpecis  , ze vyraz ab minimalne 1x bude
cize (ab) {ab} == ze ab je vzdy raz az nekonecno.
tak nejak to vidim ja.

tibike262

  • Newbie
  • *
  • Posts: 27
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #644 on: 16.01.2011, 22:22:20 »
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
 
{ab}   ??

tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom  >:(  lebo by to mohlo byt aj (ab) {ab}


{ab} == ze vyraz ab moze byt nula az n-krat
ak vsak pred tento vyraz das (ab) , zabezpecis  , ze vyraz ab minimalne 1x bude
cize (ab) {ab} == ze ab je vzdy raz az nekonecno.
tak nejak to vidim ja.
:metal: tak tak
« Last Edit: 16.01.2011, 22:27:11 by tibike262 »

ludko

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #645 on: 16.01.2011, 22:39:27 »
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
 
{ab}   ??

tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom  >:(  lebo by to mohlo byt aj (ab) {ab}


{ab} == ze vyraz ab moze byt nula az n-krat
ak vsak pred tento vyraz das (ab) , zabezpecis  , ze vyraz ab minimalne 1x bude
cize (ab) {ab} == ze ab je vzdy raz az nekonecno.
tak nejak to vidim ja.
:metal: tak tak


Prechodovy diagram potom bude len takto vyzerat??


ondrej0071

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #646 on: 16.01.2011, 22:44:10 »
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
 
{ab}   ??

tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom  >:(  lebo by to mohlo byt aj (ab) {ab}


{ab} == ze vyraz ab moze byt nula az n-krat
ak vsak pred tento vyraz das (ab) , zabezpecis  , ze vyraz ab minimalne 1x bude
cize (ab) {ab} == ze ab je vzdy raz az nekonecno.
tak nejak to vidim ja.


cize ab {ab} je spravne,kedze podmienkou je, aby prazdny retazec nepatril do jazyka

OsamelyVlk

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #647 on: 16.01.2011, 22:46:58 »
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
 
{ab}   ??

tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom  >:(  lebo by to mohlo byt aj (ab) {ab}


{ab} == ze vyraz ab moze byt nula az n-krat
ak vsak pred tento vyraz das (ab) , zabezpecis  , ze vyraz ab minimalne 1x bude
cize (ab) {ab} == ze ab je vzdy raz az nekonecno.
tak nejak to vidim ja.
:metal: tak tak


Prechodovy diagram potom bude len takto vyzerat??



ano.

ondrej0071

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #648 on: 16.01.2011, 22:47:19 »
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
 
{ab}   ??

tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom  >:(  lebo by to mohlo byt aj (ab) {ab}


{ab} == ze vyraz ab moze byt nula az n-krat
ak vsak pred tento vyraz das (ab) , zabezpecis  , ze vyraz ab minimalne 1x bude
cize (ab) {ab} == ze ab je vzdy raz az nekonecno.
tak nejak to vidim ja.
:metal: tak tak


Prechodovy diagram potom bude len takto vyzerat??



suhlasim s diagramom

ondrej0071

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
Re: Formálne jazyky a preklada?e
« Reply #649 on: 16.01.2011, 22:49:19 »
2.Napíšte, do akej konfigurácie sa dostane automat pri konfigurácii
 . a {b | c }, ak na vstup pride znak a


a. {b|c}

toto nie je spravne...ak pride a,tak to bude vyzerat takto,ak sa nemylim

a { . b| . c} .