Proessing
Stefan ANDREI
Faulty of Computer Siene, \Al.I.Cuza" University
Str. Berthelot,nr. 16,6600, Iasi,Rom^ania.
E-mail: stefaninfoiasi.ro
Abstrat
The paper emphasizes some sublasses of ontext free grammars for whih there exists a parallel
approah useful for solving the membership problem. We ombine the lassial style of LR parsers
attahedtoagrammarGwitha\mirror"proessforG.Theinputwordwillbeanalysedfrombothsides
usingtwoproessors. Wepresent thegeneralbidiretionalparser(foranyontext freelanguage)using
anondeterministidevie. AgeneralMIMDmodelfordesribingthebidiretionalparsingispresented.
Ourgeneral bidiretional parser anbe also usedas a deterministi modelfor the knownLR (k) and
R L(k) parsers. Aordingly, the membership problem may be solved in linear time omplexity with
a parallel algorithm. Finally, we present anexample of a ontext free grammaruseful for desribing
syntatidependeniesfor Englishlanguage.
1 Introdution
Inreentyears,reognitionalgorithms,bothsequentialandparallel,forontextfreegrammars(with
appliationstoparsingprogramminglanguages)orfornonontextfreelanguages(withappliations
to omputational linguisti) havebeen the subjet of study by many omputer sientists ([7, 11℄).
In([11℄) wasdesribed aformal framework forbidiretional tabularparsingof general ontext free
languages,andsomeappliationstonaturallanguageproessingwerestudied. Moreover,analgorithm
forhead-drivenparsingandageneralalgorithmforisland-drivenparsingwerestudied.
Themainpurposeofthispaperistoprovideparallelparsingfor(sublassesof)ontextfree
gram-marsusingtwoproessors. Similarideasonerningparsingof theinputwordfrombothsideswere
presentedin[9,8℄. However,thementionpapersdonotonstruteetivelyanyparsersanddonot
mentionanyparallel modelofomputersforsuhomputation.
Inthis paper, wedene anew parser for the lass of ontext freelanguages. Theinput word is
analysedfrombothsides,buttheparsestrategyisinup-to-upsense(LRandR Lstylesareombined
forthisparallelstrategy). Someofthetheoretialresultsusedinthispaperwerereportedpreviously
in[3,4℄.
Theassoiatedderivationtreeorrespondingto theinputwordwisdownto uptraversedbyboth
3
ST
1
ST
2
Figure1. Up-to-up bidiretionalparsing
The\derivation forests"ST
1
andST
2
will beparsedin parallel,and, nally, thesubtreeST
3 will
beparsedin asequentialway.
Theseond setion ontainsthe denition of thegeneral up-to-up bidiretionalparser. The
or-retnessof thisparser isproven asthe main resultofthis setion (Theorem2.1). The third setion
presentsaveryonvenientparallelapproahfordesribingthegeneralup-to-upbidiretionalparsing
strategy. ThehosenmodelisaMIMDomputer. TwoproessorsP1andP2analysetheinputword
frombothsides. Theorems3.1and3.2ensurethenitenessandorretnessofourparallelalgorithm.
Thenextsetionpointsoutthedenitionofsomenewsublassesofontextfreegrammars. Wealled
them LR R Lgrammars. These grammars anbe viewed assomeombinations betweenlassial
LRgrammars and themirror ones. The fth setion presents an exampleof asimple ontext free
grammarusefulfordesribingsyntatidependeniesforEnglishlanguage. Someopenproblemsare
emphasizedin Conlusions.
2 The General Bidiretional Parser
We suppose the reader familiar with the notions as ontext free grammars, words ([5, 10℄). Let
=
otherwise
and
otherwise.
Notation2.1 Let G =(V
: Thisfuntion an beeasily extendedtoan homomorphism h:(V [V 0
beingthe atenationoperation).
TheourreneofA
b;e
signiesthatAisthelabelofthederivationsubtreeofrootv intheforests
ST
1 orST
2
(Figure 1), andthefrontierhastheorrespondingrightmostderivation [r
b
In the following denition, we shall desribe our up-to-up bidiretional parser whih ontains 14
Denition2.1 LetG=(V
ongurations,where#isaspeialharater(anewterminalsymbol). Thegeneralup-to-up
bidi-retional parser (denotedby G
u
gC isalledthesetof initialongurations. The rstomponent isthe state,the seond
(orderedfromright toleft)andthelastbutone(orderedfromlefttoright)omponentsofa
ongura-tionareforstoringthepartialsyntatianalysis. Thelastomponentisforstoringthenalsyntati
analysis. The third andthe fthomponents arethe work- staks. Thefourth omponent represents
the urrent ontent of the input word. The transition relation(`CC, sometimesdenoted by
GuBP(G)
) between ongurationsisgiven by:
1 0
Shift-Shift: (s
1
Redue-Shift: (s
1
Shift-Redue: (s
1
Redue-Redue: (s
1
Shift-Stay: (s
1
Redue-Stay: (s
1
Stay-Shift: (s
1
Stay-Redue: (s
1
Possible-aept: (s
1
Shift-Terminal: (s
2
Shift-Nonterminal: (s
2
Redue: (s
2
Rejet: (s
1
sitionsof type1 0
,2 0
,...,13 0
an beapplied.
Ourmodelisatwo-stakmahine([5℄). Thedierenesonsistintheexisteneoftwoheads(instead
ofonlyone)whihmayreadtheinputtape,andtwooutputtapeswhihanbeaessedonlyinwrite
style,andhasonlytwostates. Therefore,ourmodelansimulate aTuringmahine.
Theorem2.1 ([3 ℄) Let G be a ontext free grammar, S being its start symbol. Then
(s
3 Parallel Approah for General Bidiretional Parsing
In this setion, we present avery onvenient parallel approah for desribing the general up-to-up
bidiretionalparsingstrategy. OurmodelisaMIMD(multipleinstrutionstreamandmultiple data
retionalparsingstrategy. Infat,ourparallel algorithm (denotedby(PAR-UUBP))learly follows
Denition2.1ofthegeneralup-to-upbidiretionalparser. Ouralgorithmusesthefollowingvariables:
w2V
T
theinputword,n=jwj;
i1,i2twoountersfortheurrentpositions inw;
aeptabooleanvariablewhihtakesthetruevalueiw2L(G);
Stak1,Stak2twoworkingstaksforP1andP2;
Output_tape1, Output_tape2 the output tapes of P1 and P2 for storing the partial syntati
analysis;
Output_tapetheoutputtapeforstoringtheglobalsyntatianalysis;
exitabooleanvariable whihistrueiP1orP2detetthenon-aeptaneofw.
Thevariables w, i1, i2, aept,Output_tape,exit arestored in the ommonmemory. We use
somepredenedproedures,suhas:
pop(Stak,)- thevalueof will bethestringof lengthjj startingfrom therst symbol of
Stak;afterthat,thestringisremovedfromStak;
push_first(Stak,A)-addtotheontentofStakthesymbolA;AwillbethenewtopofStak;
push_last(Stak,)-addtotheontentofStak,startingfromthelastsymbolofStak,the
string;Stakwillhavethesametop.
Now, the method of parallel algorithm (PAR-UUBP) an be pointed out (we suppose that the
ontextfreegrammarG=(V
N ;V
T
;S;P)isalreadyread):
begin
read(n); read(w); i1:=1; i2:=n; aept:=false; exit:=false;
repeat in parallel
ation1(P1); ation2(P2)
until (i1>=i2) or (exit=true);
if (exit = true) then aept := false
else repeat ation3(P1, P2) until (exit = true);
if (aept = true) then
write('w is aepted and has the right syntatial analysis',Output_tape);
else write('w is not aepted');
end.
Itremainstodesribetheproedures ation1(P1),ation2(P2)andation3(P1,P2).
proedure ation1(P1);
begin
ase
if (9r1 = A!h()2P; is inStak1starting from the top)then begin
/* redue ation */
let:=u
1 C
b;e :::u
m D
b 0
;e 0
0
,whereu
1 ;:::;u
m 2V
T ;
0
2V
V 0
;
if ( does not ontainany symbol from V V) then b :=e
elseb 00
:=minfe 00
;bg;
pop(Stak1,);push_first(Stak1,A
b 00
;e 00
);push_first(Output_tape1,r1);
end;
if (i1 <= i2) then begin /* shift ation */
push_first(Stak1,w[i1℄);i1 := i1+1;
end
otherwise: begin /* baktrak is needed; */
if (all the baktrak stepsare over) and (still noredue or shift
ation ould be made)then exit := true;
end
end;
Thedesriptionofproedureation2(P2)is verysimilar toation1(P1).
proedure ation2(P2);
begin
ase
if (9r2 = A!h()2P; is inStak2starting from the top)then begin
/* redue ation */
let :=u
1 C
b;e :::u
m D
b 0
;e 0
0
,whereu
1 ;:::;u
m 2V
T ;
0
2V
V 0
e 00
:=jOutput_tape2j+1;
if ( does not ontain anysymbol fromV 0
V)then b 00
:=e 00
elseb 00
:=minfe 00
;bg;
pop(Stak2,);push_first(Stak2,B
b 00
;e 00
);push_first(Output_tape2, r2);
end;
if (i1 < i2) then begin /* shift ation */
push_first(Stak2,w[i2℄);i2 := i2-1;
end
otherwise: begin /* baktrak is needed; */
if (all the baktrak stepsare over) and (still noredue or shift
ation ould be made)then exit := true;
end
end;
Finally,wedesribetheproedureation3(P1,P2)inasequentialway. Thegoalistosimulatethe
transitions10 0
,11 0
,12 0
and13 0
forG
u
resultsin Output_tape.
proedure ation3(P1,P2);
begin
ase
if (9r1 = A!h()2P; is inStak1starting from the top)then begin
/* redue ation */
let =u
1 C
b;e :::
0
D
b 0
;e 0
00
;whereu2V
T ,
00
2V
, 0
2(V [V 0
)
;
let 0
1
from Output_tape1 suhthatj 0
1 j=e
0
b+1;
pop(Output_tape1, 0
1
);pop(Stak1,);push(Stak2,A);
push_first(Output_tape,r1);push_last(Output_tape, 0
1 );
end;
if (top of Stak2 is a terminal symbol)then begin
/* shift-terminal ation */
pop(Stak2,a),where a2V
T
;push_first(Stak1,a);
end;
if (top of Stak2 is from V')then begin/*shift-nonterminal ation*/
pop(Stak2,A
b;e
);push_first(Stak1,A);
let 0
2
from Output_tape2suh thatj 0
2
j=e b+1;
pop(Output_tape2, 0
2
);push_first(Output_tape, 0
2 );
end;
if (Output_tape1=;) and(Output_tape2=;) and(Stak1=S) and (Stak2=;)
then begin aept:=true; exit:=true end;
otherwise: begin /* baktrak is needed; */
if (all the baktrak stepsare over) and (still noredue or shift
ation ould be made)then exit := true
end;
end;
Theorem3.1 ([3 ℄)- nitenessof Algorithm(PAR-UUBP))
TheAlgorithm(PAR-UUBP)performsanite numberof stepsuntilterminatesitsexeution.
Theorem3.2 ([3 ℄)- orretness ofAlgorithm(PAR-UUBP))
For a given ontextfree grammar G=(V
N ;V
T
;S;P) and w2 V
T
asits input, Algorithm
(PAR-UUBP)givestheanswer"w is aeptedandhastherightsyntatial analysis"ifS
=)
Deterministi(andlinear)parallelalgorithms(aspartiularasesofthegeneralup-to-upbidiretional
parsingalgorithm)for solvingthemembership problem, anbederivedfor some\ombinations" of
sublasses of ontext free languages. The deterministi up-to-upbidiretional parser has the same
devieasthegeneralmodel. Theonlydiereneistheuniquenessofhoosingtheprodutionrfrom
theset ofthegivenprodutionsoftheinputgrammar(i.e. nobaktrakstepisneeded). Weusethe
denitionsofLR (k)([6℄)grammars.
Denition4.1 LetGbeaontextfreegrammarandkbeanaturalnumber. WesaythatGisR L(k)
if e
Gisa LR (k)grammar. A languageL is R L(k) if thereexists aR L(k)grammarwhih generates
L.
In a similar way to Denition 4.1, we an dene the \mirror" of lassial sublasses of LR (k)
grammarsusefulin ompilertehniques. WeombinetheLR (k)and R L(k)stylesforobtainingthe
deterministiup-to-upbidiretionalparsingforontextfreelanguages.
Denition4.2 LetGbeaontextfreegrammarandk
1 ,k
2
2N:WesaythatGisaLR (k
1
) R L(k
2 )
grammar i G is both a LR (k
1
) andR L(k
2
) grammar. A language L is alled LR (k
1
) R L(k
2 ) if
thereexistsGaLR (k
1
) R L(k
2
)grammar for whih L=L(G):
Weanremark that G isaLR (k
1
) R L(k
2
) grammari Gis aR L(k
2
) LR (k
1
) grammar. Of
ourse,beausethelassofLR (k)languages,fork1;equalsto thelassofLR (1)languages([6℄),
thentheabovedenitionhaspratialinterestfork
1 ;k
2
2f0;1g.
Partiularly, thedeterministi up-to-upbidiretionalparsingis similar to the generalparallel
ap-proah, the only dierene being the lak of baktrak steps. The proedures ation1(P1) and
ation2(P2)arerelatedtolassialsequentialsyntatialanalysisalgorithmsforLR (1)(orthe
sub-lassesLR (0),SLR (1)andLALR (1))andR L(1). Wealsogetalinearrunningtimefortheproedures
ation1(P1)and ation2(P2) insteadof an exponentialsequentialrunning time (baktraksteps
arenomorerequired).
Obviously,the proedure ation3(P1,P2)hasno baktrakstepsfor thesublassesof grammars
giveninDenition4.2. Consequently,theproedureation3(P1,P2)isdeterministiandhasalinear
runningtime.
Theorretnessofthedeterministiparallelalgorithmsisensuredbytheorretnessofthegeneral
parallelalgorithmandtheorretnessofeah ofthesequentialsyntatianalysersforthementioned
sublassesofontextfreegrammars(suhasLR (1),R L(1)).
Theorem4.1 ([3 ℄)- the omplexityof the deterministiparallel algorithms)
Let us denote with T
1 (n); T
2
(n) and T
3
(n) the running time of the sequential proedures
ation1(P1),ation2(P2)andation3(P1,P2),wherenisthelengthof theinputword. Supposing
that the routing timeiszero, the parallel runningtime t(n)satises the relations:
minfT1(n);T2(n)g
2
+
Wepresentamodiedontextfreegrammarsimilartotheonepresentedin[12℄fordesribingsyntati
dependeniesforEnglishlanguage.
The term 'grammatial ategory' overs the parts of speeh and types of phrases, suh asnoun
phraseandprepositionalphrase. Foronveniene,wewillabbreviatethem, sothat'NOUN'beomes
'N','NOUNPHRASE'beomes'NP','DETERMINER'beomes'D',et. Letusonsiderthefollowing
ontextfreegrammar:
G = (fS;NP;VP;D;A;N;PP;V;Pg; V
T
; S; Prod); where V
T
; being the English
alphabet andProdbeingthefollowingset ofprodutions:
1:S!NP VP 7:NP !N 13:D!the 21: N!hunter
2:NP !D AAN PP 8:VP!V NP PP 14:D!some 22: V !attak
3:NP !AAN PP 9:VP!V NP 15:A!big 23: V !ate
4:NP !D AN PP 10: VP !V PP 16:A!brown 24: V !wathed
5:NP !AN PP 11: VP !V 17:A!old 25: P!for
6:NP !D N 12: PP !P NP 18:N !birds 26: P!beside
19:N !fleas 27: P!with
20:N !dog
In[12℄, theprodutions1,...,12arealled rules,and13,...,27arealled lexion.
UsingaJAVAimplementationforourbidiretionalparsingalgorithm,wedeterminetheviableprex
automatonforgrammarGwhihhas88statesorrespondingtoLR (1)itemswithnoonits
(redue-redue,redue-shift),soGisaLR (1)grammar. Moreover,weonstruttheviableprexautomaton
forgrammar e
G whih has 70states orrespondingto R L(1) items withno onits (redue-redue,
redue-shift),so e
GisaR L(1)grammar.
Aordingto Denition4.2,itfollowsthat grammarGisaLR (1) R L(1)grammar. Weonsider
nowtheinputword:
w=thebigbrown dogwithfleaswathedthebirdsbesidethehunter
Weshallsimulateapossibleexeutionofthebidiretionalparsingalgorithmforthisexample
(pro-essorsP1andP2worksynhronously). Wehaven=jwj andi1andi2twopointersbetween1and
Ation: Initial Ation: Initial
Stak1=[℄ Stak2=[℄
i1=1 i2=12
Output_tape1=[℄ Output_tape2=[℄
Ation: Shift Ation: Shift
Stak1=[the℄ Stak2=[hunter℄
i1=2 i2=11
Output_tape1=[℄ Output_tape2=[℄
Ation: Redue Ation: Redue
Stak1=[D
1;1
℄ Stak2=[N
1;1 ℄
i1=2 i2=11
Output_tape1=[13℄ Output_tape2=[21℄
Ation: Shift Ation: Shift
Stak1=[D
1;1
,big℄ Stak2=[the,N
1;1 ℄
i1=3 i2=10
Output_tape1=[13℄ Output_tape2=[21℄
Ation: Redue Ation: Redue
Stak1=[D
1;1 ,A
2;2
℄ Stak2=[D
2;2 ,N
1;1 ℄
i1=3 i2=10
Output_tape1=[15, 13℄ Output_tape2=[21,13℄
Ation: Shift Ation: Redue
Stak1=[D
1;1 ,A
2;2
,brown℄ Stak2=[NP
1;3 ℄
i1=4 i2=10
Output_tape1=[15, 13℄ Output_tape2=[6,21,13℄
Ation: Redue Ation: Shift
Stak1=[D
1;1 ,A
2;2 ,A
3;3
℄ Stak2=[beside,NP
1;3 ℄
i1=4 i2=9
Output_tape1=[16, 15,13℄ Output_tape2=[6,21,13℄
Ation: Shift Ation: Redue
Stak1=[D
1;1 ,A
2;2 ,A
3;3
,dog℄ Stak2=[P
4;4 ,NP
1;3 ℄
i1=5 i2=9
Output_tape1=[16, 15,13℄ Output_tape2=[6,21,13, 26℄
Ation: Redue Ation: Redue
Stak1=[D
1;1 ,A
2;2 ,A
3;3 ,N
4;4
℄ Stak2=[PP
1;5 ℄
i1=5 i2=9
Output_tape1=[20, 16,15,13℄ Output_tape2=[12,6,21, 13,26℄
Ation: Shift Ation: Shift
Stak1=[D
1;1 ,A
2;2 ,A
3;3 ,N
4;4
,with℄ Stak2=[birds,PP
1;5 ℄
i1=6 i2=8
Ation: Redue Ation: Redue
Stak1=[D
1;1 ,A
2;2 ,A
3;3 ,N
4;4 , P
5;5
℄ Stak2=[N
6;6 ,PP
1;5 ℄
i1=6 i2=8
Output_tape1=[27, 20,16,15,13℄ Output_tape2=[12,6,21,13,26,18℄
Ation: Shift Ation: Shift
Stak1=[D
1;1 ,A
2;2 ,A
3;3 ,N
4;4 , P
5;5
, fleas℄ Stak2=[the,N
6;6 ,PP
1;5 ℄
i1=7 i2=7
Output_tape1=[27, 20,16,15,13℄ Output_tape2=[12,6,21,13,26,18℄
Ation: Redue Ation: Redue
Stak1=[D
1;1 ,A
2;2 ,A
3;3 ,N
4;4 , P
5;5 , N
6;6
℄ Stak2=[D
7;7 ,N
6;6 ,PP
1;5 ℄
i1=7 i2=7
Output_tape1=[19, 27,20,16,15,13℄ Output_tape2=[12,6,21,13,26,18,13℄
Ation: Redue Ation: Redue
Stak1=[D
1;1 ,A
2;2 ,A
3;3 ,N
4;4 , P
5;5 , NP
6;7
℄ Stak2=[NP
6;8 ,PP
1;5 ℄
i1=7 Stak2=[NP
6;8 ,PP
1;5 ℄
Output_tape1=[7,19,27,20,16,15,13℄ Output_tape2=[12,6,21,13,26,6,18,
13℄
Ation: Redue Ation: Shift
Stak1=[D
1;1 ,A
2;2 ,A
3;3 ,N
4;4 , PP
5;8
℄ Stak2=[wathed,NP
6;8 ,PP
1;5 ℄
i1=7 i2=6
Output_tape1=[12, 7,19,27,20,16,15, Output_tape2=[12,6,21,13,26,6,18,
13℄ 13℄
Ation: Redue Ation: Redue
Stak1=[NP
1;9
℄ Stak2=[V
9;9 ,NP
6;8 ,PP
1;5 ℄
i1=7 i2=6
Output_tape1=[2,12,7,19,27,20,16,15, Output_tape2=[12,6,21,13,26,6,18,
13℄ 13,24℄
Now,theproessorsP1and P2meetinthe\middle"oftheinputword,andonlyproessorP1will
be strongly ative. ProessorP2 only sends the data (i.e. Stak2,Output_tape2) to the internal
memoryofP1. Infat,weshallillustratetheexeutionstepsmadebytheproedureation(P1,P2).
Ation: Shift-Nonterminal Ation: Shift-Nonterminal
Stak1=[NP
1;9
,V℄ Stak1=[NP
1;9
,V,NP,PP℄
Stak2=[NP
6;8 ,PP
1;5
℄ Stak2=[℄
Output_tape1=[2,12,7,19,27,20,16,15, Output_tape1=[2,12,7,19,27,20,16, 15,
13℄ 13℄
Output_tape2=[12, 6,21,13,26,6,18,13℄ Output_tape2=[℄
Stak1=[NP
1;9
,V,NP℄ Stak1=[NP
1;9 ,VP℄
Stak2=[PP
1;5
℄ Stak2=[℄
Output_tape1=[2,12,7,19,27,20,16,15, Output_tape1=[2,12, 7,19,27,20,16,15,
13℄ 13℄
Output_tape2=[12, 6,21,13,26℄ Output_tape2=[℄
Output_tape=[6,18,13,24℄ Output_tape=[8,12,6,21,13,26, 6,18,
13,24℄
Thenaltransition is:
Ation: Redue
Stak1=[S℄
Stak2=[℄
Output_tape1=[℄
Output_tape2=[℄
Output_tape=[1,8,12,6,21, 13,26,6,18,13,24, 2,12,7,19,27,20,16,15,13℄
In onlusion, the word w is aepted by the bidiretional parser and it has the right syntati
analysis
rm
=[1;8;12;6;21;13;26;6;18;13;24;2;12;7;19;27;20;16;15;13℄:
Weanextend ourexampleaordingto agreementrestritionsbetween words andphrases. For
example, the NP \a dogs" is not orret English beause the artile \a" indiates a single objet
whilethenoun\dogs"indiates apluralobjet. Therearemanyotherformsofagreement(subjet
-verb,gender,et). Tousesuhagreementrestritions,theontextfreegrammarisextendedtoallow
onstituentsto havefeatures ([2℄). Forexample, we mightdene afeature NUMBER that may
take avalueof either \s" (forsingular)or\p" (for plural), andwethen mightwrite an augmented
ontextfreegrammarrulesuhas:
NP !DN onlywhenNUMBER (D)=NUMBER (N).
Thereisaninterestingissueofwhetheranaugmentedontextfreegrammarandesribelanguages
thatannot bedesribedbyasimpleontextfreegrammar. Theanswerdepends ontheonstraints
onwhatanbeafeaturevalue. Ifthesetoffeaturevaluesisnite,thenitwouldalwaysbepossibleto
reatenewonstituentategoriesforeveryombinationoffeatures. Thusitisexpressivelyequivalent
toaontextfreegrammar.Ifthesetoffeaturevaluesisunonstrained,however,thensuhgrammars
havearbitraryomputationalpower. Inpratie,evenwhenthesetofvaluesisnotexpliitlyrestrited,
thispowerisnotused, andthestandardparsingalgorithmsanbeusedongrammars thatinludes
features([2℄).
6 Conlusions
Wehaveseen that ourbidiretionalparser model isin fat atwo-stakmahine ([5℄) and therefore
deterministiparallelalgorithm;tondfurtherlosureandinlusionpropertiesofLR R Lgrammars
andlanguages;toextendourbidiretionalapproahtononontextfreelanguages-withappliations
toomputationallinguistiandnaturallanguageproessing.
Wewanttothanktotheunknownrefereesfortheirusefulremarkswhihimprovethepaper.
Referenes
[1℄ Akl, S.: Parallel Computation. Models andMethods. PrentieHall(1997)
[2℄ Allen,P.NaturalLanguageUnderstanding.SeondEdition,TheBenjamin/CummingsPublishing
Company,In. (1995)
[3℄ Andrei, St.: BidiretionalParsing.Ph-D Thesis,FahbereihInformatik, Universitat Hamburg,
URL:http://www.sub.uni-hamburg.de/disse/134/inhalt.html(2000)
[4℄ Andrei,St.,Kudlek,M.: BidiretionalParsingforLinearLanguages.Developments inLanguage
Theory, FourthInternationalConferene, July6-9, 1999,Aahen, Germany,Preproeedings,W.
ThomasEd.(1999)331-344
[5℄ Hoproft, J.E., Ullman, J.D.: Introdution to Automata Theory, Languages and Computation.
Addison-WesleyPublishingCompany(1979)
[6℄ Knuth, D.E.: On thetranslationof languagesfrom leftto right.Information Control. 8(1965)
607-639
[7℄ Kulkarni,S.R.,Shankar,P.: Lineartimeparsersforlassesofnonontextfreelanguages.
Theo-retial Computer Siene. 165(1996)355-390
[8℄ Loka,R.R.: Anoteonparallelparsing.SIGPLANNoties. 19(1)(1984)57-59
[9℄ Tseytlin, G.E., Yushhenko,E.L.: Several aspets of theoryof parametri models oflanguages
andparallelsyntatianalysis.In: MethodsofAlgorithmi Language Implementation.A.Ershov,
C.H.A.Koster(Eds.), LNCS47,SpringerVerlag,Berlin,Germany(1977)231-245
[10℄ Salomaa,A.: Formal Languages.AademiPress.NewYork (1973)
[11℄ Satta,G.,Stok,O.: Bidiretionalontext-freegrammarparsingfornaturallanguageproessing.
Artiial Intelligene.69(1994)87-103
[12℄ Sag, I.A., Wasow, T.: Syntati Theory: A Formal Introdution. CSLI Publiations. Leland