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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

--y-PASC7,1,.<strong>The</strong> useof a formal language definition Language has many advantages*- In vim/ of the power and complexity of the generatedenvirorrents, PSGLanguage definitions are very abort. Typically, they vary in sizebetween 240 lines for an Algo160 envirannent without oontext oonditionsand semantics and 3600 lines for a HDDJL&-2 envirorment including fullspecification of context conditions and denotational semantics.- <strong>The</strong> expressive power of the language definition language allows oxIcentrationon the relevant aspects of a language definition. <strong>The</strong> languagedefiner does not have to ooncern himself with minor details such as theorganization of symbol tables etc.- PSG Languege definitices are cafe , since all incoesistancies in adefinitioi are detected at generation time. *-- <strong>The</strong> ecdular design of the language definition language improves madabilityand reliability. It allowsthe independent definition of thesyntactic, context dependent, and semantic aspects of a language, oncethe abstract syntax has been defined.a formal larqusge definition language is an ideal tool during thedevelop sit of new languages. In a "language design lab", languagedefinitions are easily modified and tested.As a coneequence, the amount of manpower to generate an envirormeit issmalls h moderately awake graduete student with NOM background in program--ming lang\eeges and some i.ni tial knowlegde of the PSG user interface willspecify and debug an elgo160 definition without context conditions andsemantics within ten days. <strong>The</strong> MDOULA-2 envilutinellt Lncluding full specificetialof context condition and denotetianel semantics was defined as partof a diploma thesis within eight months. Thus, the use of a formal languagedefinitiallanguage allows the quick generation of correct, reliable andpo.Jerful prxxmcmairg envirornxelts.<strong>The</strong> benefits of the hybrid editor approachLn (Fei64), Kaiser and Feller state for structure oriented editors that'in order to modify an expression, ... the user rust .understand the andtree representation and enter a tedious serious of tree oriented clip,dweeee and insert °gormands. Unfortunately, complete parsing of all expres-- A.t the moment, this is rot true for the semantics definition, as it istased on type free lamtda calculus. However, the implementation of atype inference algorithm allowing handling of polymorphism, overloadingend opercicas is about to be completed (see (Let84]).sions is also r ptimar. This is true not only for expressions, but alsofor arbitrary structured statements as well as for any syntactic entityincluding complete programs. In (Repel], Teitelbaum and Repo state that"(the Change of a while Loop into a repeat Loop) must be accomplished bymoving the constituents of the existing WHME-template into a newlyinsertedUNTIL-taxpLate. Although such modifications can be made rapidly ..., theyare admittedly awikward". Within a PSG envilumelit, problems of this kinddo not exist, since users may switch freelybetween textual mode andstructure code. Furthermore, our experience indicates that experiencedprogrammers'prefer textual mode rot only for modifications, but also toenter e.g. a sequence of statamenta or even a whole procedure. Since theparser accepts arbitrary incomplete input and, in case of syntax errors,generates a menu of all poesible Local recovery actions, textual input modeseems to be quite attractive for users Who know the concrete syntax of theirlanguage. Furthermore, arbitrary parts of a fragment may be read in from anexternal textfile. Onthe other hand, unexperienced users tend to preferstructured mode. By simply selecting menu items, they need not bother aboutsyntactic details which they do not know. Thus, the possibility to mixtextual modeand structure mode freely seem* to be the most flexible,general, and user friendly solution to the dichotomy of viewing programseither as text or as structure.<strong>The</strong> benefits of dynamic context sensitive menu filteringIn Cilab82b] liabelonannstates that "Noe believe that preventing mistakes isfar superior to making the user fix them. ... (however) as to semanticerrors it is difficult to see how to avoid them". within a PSG enviti_zuent,structured mode prevents syntactical and seranticalelxots due to thedynamic context-sensitive menu filtering. This feature is rot provided byany other environMent known to US. In textual mode, the user ray always type. arbitrary nonsense, but syntactical and semantical errors will be detectedimmediately. This guarantees that programs are correct at every stage oftheir development.We believe that our emir:malts support syntactic and semantic errorccevantion • in the best possible way. <strong>The</strong>re is, however, one problem inconnection with certain modifications* if a user modifies e.g. a proceduredeclaration by adding an extra parameter, context incompatibilities welloccur at each place where the procedure is called. If the calls are modifiedfirst, they will become incompatible with , theprocedure declaration.Although it might be oonsLiered.bad programming style to modify the types ofobjects in en uncontrolled manner, the user can circumvent such situations

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

Saved successfully!

Ooh no, something went wrong!