13.07.2015 Views

The PowerPC 604 RISC Microprocessor - eisber.net

The PowerPC 604 RISC Microprocessor - eisber.net

The PowerPC 604 RISC Microprocessor - eisber.net

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Nby temporarily deactivating the context analysis. It is planned to modifythe context analysis in a way that enables it to tolerate faulty aubtreestomporarely.Drawbacks in generality and performancePSG is not the ultimate system, as there remain several unsatisfying points.A formal language definition language enables language definers to generateenvirorrnents in a rapid and reliable way. Hawever, the current implementationof the definition language impoees some restrictions on the clans ofLanguages which may be defined with PSG.First of all, if the concrete syntax of a language cannot be made 1L(1),the language cannot be defined within PSG. It is, however, difficult to seehow to incorporate a mere powerful parsing technique. Bottom-up tethniquessuds as inoranental Lit parsing ((Ce 178)) do sat' fit in our framework. LL(k)with k > 1 is problematic in view of the requirement that arbitrary validprefixes of sentential forma must be parseable. .Certain languages have context conditions which are not definable withinthe current definition Language. <strong>The</strong> soppe and visibility analysis cannothandle features like elliptical reccrd references in PL/1 or FORWARDprocedure declarations in PASCAL (which will lead to a 'double declaration'error). Within our framework - no declarations required before use - FORWARDdeclaraticns do rot make sense an <strong>The</strong> context analysis phase is unableto handle user-defined polymorphic or overloaded objects such as overloadedfunctions in ADA. We are currently working on a more powerful.apecificationlanguage for context conditions which will overcome these ihortcominge.Finally, the semantics definition language is unable to handle any form ofparallelimm.<strong>The</strong> performance of PSG enviloossents has not yet reached production quality,as far as context analysis and pregram execution are concerned. For thecontext analysis, this is primarily a problem of the current implementation,which is merely a prototype. We expect that a more eophisticated implementationwill result in a time speedup factor of at least five. However, theintrinsic complexity of the method is greater than that of e.g. attributedgremmersi For an abstract syntax tree containing n nodes the Repo/Teitelbaumalgorithm will perform with 0(n), wheras cur method requires 0(n4ln(n)).Tho performance difficulties concerning pLooxast execution are of a slightlydifferent nature, as we have difficulties to .see hi to speed up theinterpreter simply by. improving its implementation. <strong>The</strong> interpreter is suchfaster than that of SIS. Bow ever, it is not fast enough ior productionprograms, as is aloo noted by Pleban for PSP ([Ple84]). We think that theseWhortoominga may be overoane by compilation of the metalarquage term*[Dah84b), utilizing techniques like data floe analysis . elimination ofunnecceeary call-by...name and delayed evaluatiseo and elimination of tailrecursion and linear recursion.4. eanclusionWe presented the PSG peuyLeandg system generator, which generates po•0erfalinteractive programing envirorments from formal language definitions. <strong>The</strong>pros and cons of using a farmal, entirely nonprocedural Language definitionlanguage have been discussed. It turned out that use of a formal definitionlanguage allowe very simple and rapid generation of reliable and ppwerfulenvironments. On the other hand, certain strange and complicated features ofcertain language, are not definable with the currently implemented definitionlanguage, and the performance of the generated envirorramta has not yetreached production quality. Nevertheless, we believe that the use of formallanguage definitions is an apvcopriate tool, and that the shortcomings inperformance will be captured by more eophioticated inplementations, whichare still under way.5. AtknowlegdementsX .thank the other markers of the project team, namely R. Dahlke. W. Denhapl.H. Minkel, H. J8ger and T. Letschert for their valuable comments duringthe.development of this paper.6. Peferences[Dah84a] Eahlke, R. and Smiting, G.I Programmiersystemgenerator. Arbeitsberidht1994. Be:richt PG2112/84, Fachgebiet Prograreiersprachenand Dbarsattar II, Teduiische Ibchschule Darmstadt, Pebruar 1984.(Bah84b) Bahlke, R. and Letschert, T. Auaf0hrbare denotationale Semantik.Proc. 4. GI-Fachgesprflch tmplamentierung von Programmiersprochen.MArt 1904.(111678) Dj05rnor, D. and Jones, C.D. (eds.): <strong>The</strong> Vienna Development Methods<strong>The</strong> metalanguage. LOOS 61, Springer Verleg 1978.lee1783 Celentano, A.: Incremental LR parsers. Acta Informatica 10 (1978),307-321.(FeiO4) Weer, G.E. and Feller, P., Generation of language-oriented editors.Proc. Programmierumgebungen and Compiler, Derichte des German Chapter

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!