Generative and Transformational Techniques in Software by Darius Blasband (auth.), Ralf Lämmel, João Saraiva, Joost

By Darius Blasband (auth.), Ralf Lämmel, João Saraiva, Joost Visser (eds.)

This instructional quantity comprises revised and prolonged lecture notes of six lengthy tutorials, 5 brief tutorials, and one peer-reviewed player contribution held on the 4th overseas summer season college on Generative and Transformational recommendations in software program Engineering, GTTSE 2011. the varsity provides the cutting-edge in software program language engineering and generative and transformational thoughts in software program engineering with assurance of foundations, tools, instruments, and case studies.

Show description

Read or Download Generative and Transformational Techniques in Software Engineering IV: International Summer School, GTTSE 2011, Braga, Portugal, July 3-9, 2011. Revised Papers PDF

Similar techniques books

All blues soloing for jazz guitar : scales, licks, concepts & choruses

The main whole advisor to jazz/blues soloing ever written! This complete e-book info the sounds, parts, and ways that make the blues such a vital part of the jazz vocabulary. relocating from blues progressions to fingerboard association to phraseology, crucial blues scales, riffs, lick improvement, and an array of complex ideas and units, together with replacement scales & prolonged large arpeggios are lined.

The Graphic Design Reference & Specification Book Everything Graphic Designers Need to Know Every Day

The photo layout Reference & Specification publication must always be subsequent to a designers computing device. thoroughly useful with simply the main wanted details, this precious ebook presents designers with all of the little information that could make or holiday a layout, corresponding to how a lot area to depart within the gutter whilst designing barrel folds, the right way to format a template for a field, and the ratios of every half, in addition to metric conversion charts, commonplace envelope sizes within the united states, Europe, Canada and Asia, and lots more and plenty extra.

Additional resources for Generative and Transformational Techniques in Software Engineering IV: International Summer School, GTTSE 2011, Braga, Portugal, July 3-9, 2011. Revised Papers

Example text

Fig. 21. CoCoLab PL/I parser’s definition of an identifier CoCoLab’s PL/I parser is generated using Lark[41], which can generate a parser and a strongly typed parse tree in a number of languages, including C[30], Modula II[75], Eiffel[58] and Ada[23]. It uses a grammar rule as depicted in figure 21 to deal with lexical ambiguity as presented in the sample in figure 5. It thus allows any of the language’s keywords to be used whenever an identifier is required. The parser then relies on Lark-generated parsers’ ability to backtrack to consider alternate interpretation of the input if needed.

The PL/I STRING builtin function These constructions produce what we’ll refer to as a descriptor (the wording is vague on purpose, as the descriptor can be very different things depending on the language at hand. It can be a pointer – or lvalue – in C, a pointer and a Compilation of Legacy Languages in the 21st Century 27 length in COBOL, a pointer, a length and a bit offset in PL/I, and could very well even contain a type information in some languages, where the target type to use for the assignment can change dynamically as part of the evaluation of the left component).

These builtins are supported by our compiler, mimicking the returned data types as announced in the mainframe PL/I compiler. The compiler even provides a command-line option that allows one to set the precision of some of these builtins, emulating a similar option available for the mainframe compiler. It soon appeared that a number of tests that display values returned by builtins produced different output depending on whether our compiler or the Compilation of Legacy Languages in the 21st Century 41 original mainframe compiler is being used.

Download PDF sample

Rated 4.23 of 5 – based on 17 votes