Završni i nezavršni znakovi

razdvojba na Wikimediji

U računarstvu, završni i nezavršni znakovi (još i završni i nezavršni simboli, završne i nezavršne oznake, terminali i neterminali[1]) su oni znakovi (simboli) koji su korišteni za konstruiranje pravila produkcija u formalnoj gramatici. Dok završni znakovi oblikuju dijelove nizova znakova koje gramatika generira, nezavršni znakovi preslikavaju imena produkcija gramatike i na taj način generiraju nizove znakova supstitucijom bilo drugih nezavršnih znakova, bilo završnih znakova (ili nekom njihovom kombinacijom).

Na primjer, za predstavljanje cijelog broja (engl. integer) se može zadati sljedeći opis u BNF notaciji:

<cijeli_broj> ::= ['-'] <znamenka> {<znamenka>}
<znamenka> ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'

Ovdje su znakovi (-,0,1,2,3,4,5,6,7,8,9) završni, dok su <znamenka> i <cijeli_broj> nezavršni znakovi.

Oznake

uredi

U formalnoj se gramatici dogovorno koriste sljedeće oznake:

  1. Velika slova A, B, C, D, E i S su nezavršni znakovi gramatike. Uobičajeno je da se znak S koristi za početni nezavršni znak.
  2. Mala slova a, b, c, d, e, brojke i podebljani nizovi znakova su završni znakovi gramatike.
  3. Velika slova X, Y i Z su završni ili nezavršni znakovi.
  4. Mala slova u, v, w, x, y i z označavaju nizove završnih znakova.
  5. Mala grčka slova  ,   i   označavaju nizove završnih i nezavršnih znakova.

Izvori

uredi
  1. Kiš Miroslav, Englesko-hrvatski i hrvatsko-engleski informatički rječnik, Zagreb, Naklada Ljevak, 2000., str. 903
  • Aho, Sethi, & Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, 1986.
  • Siniša Srbljić. 2003. Jezični procesori 1. Element. ISBN 953-197-129-3