By Achim Clausing

Das Buch l?dt dazu ein, sich mit grundlegenden Konzepten und Strukturen von Programmiersprachen zu befassen. Zu diesem Zweck werden sieben kleine Programmiersprachen entwickelt, jeweils mit vollst?ndiger Implementierung in Java, von denen jede f?r ein Programmierparadigma steht: t.Zero – deklarative  Programmierung; t.Lisp – listenbasierte Programmierung; t.Pascal – crucial Programmierung; t.Scheme – funktionale Programmierung; t.Lambda – rein funktionale Programmierung; t.Java – objektorientierte Programmierung; t.Prolog – logische Programmierung;  Das Buch ist geschrieben f?r Studierende der Informatik und verwandter F?cher sowie f?r Leserinnen und Leser mit einfachen Java-Vorkenntnissen, die sich f?r das Innenleben von Programmiersprachen interessieren.

Show description

Read Online or Download Programmiersprachen - Konzepte, Strukturen und Implementierung in Java PDF

Best compilers books

The Definitive Guide to SugarCRM: Better Business Applications (Books for Professionals by Professionals)

SugarCRM is one in all if no longer the best Open resource CRM answer available to buy at five. five million downloads and starting to be and with approximately 17,000 registered builders and plenty extra clients. this may be the professional, definitive publication written via SugarCRM and counseled by means of SugarCRM. additionally, this ebook will be additionally the one SugarCRM developer publication so one can handle the platform comparable beneficial properties in view that SugarCRM five.

Methodologies and Software Engineering for Agent Systems: The Agent-Oriented Software Engineering Handbook

As info applied sciences turn into more and more allotted and obtainable to bigger variety of humans and as advertisement and executive companies are challenged to scale their purposes and providers to greater industry stocks, whereas decreasing charges, there's call for for software program methodologies and appli- tions to supply the subsequent positive aspects: Richer program end-to-end performance; aid of human involvement within the layout and deployment of the software program; Flexibility of software program behaviour; and Reuse and composition of latest software program functions and platforms in novel or adaptive methods.

Numeric Computation and Statistical Data Analysis on the Java Platform

Numerical computation, wisdom discovery and statistical info research built-in with strong second and 3D portraits for visualisation are the major themes of this e-book. The Python code examples powered by way of the Java platform can simply be remodeled to different programming languages, resembling Java, Groovy, Ruby and BeanShell.

Extra info for Programmiersprachen - Konzepte, Strukturen und Implementierung in Java

Sample text

Es gibt viel bessere Verfahren. 7 Exponentialfunktion Die Berechnung von Exponentialfunktion, Logarithmus, trigonometrischen und ¨ahnlichen Funktionen funktioniert grunds¨atzlich nach demselben Prinzip wie die Berechnung von π. Man summiert hinreichend viele Summanden einer m¨oglichst gut konvergierenden Reihe auf, im einfachsten Fall beispielsweise nach dem folgenden Schema: ; Partialsumme einer Reihe an der Stelle x bis zum n-ten Summanden (define (series x n) (if (< n 0) 0 (+ (series x (- n 1)) (summand x n)))) Je nach Wahl von summand erh¨alt man die gew¨ unschte Reihe.

Der Programmkopf gibt an, wie die Funktion aufgerufen wird, der Rumpf definiert sie. Das ist eine sehr knappe, pr¨azise Art sich auszudr¨ ucken, die in der Regel zu eleganten, kurzen Programmen f¨ uhrt – Programmen, die exakt das tun, was sie tun sollen. Ein triviales Beispiel soll das √ illustrieren: Der Abstand, den ein Punkt P = (a, b) in der Ebene vom Nullpunkt hat, betr¨agt a2 + b2 . Zero kann man das folgendermaßen ausdr¨ ucken: ; Abstand von (a, b) zum Nullpunkt (define (distance a b) (sqrt (+ (* a a) (* b b)))) Deklarativer Programmierstil 33 Dasselbe in Java: // Abstand von (a, b) zum Nullpunkt public static double distance ( double a , double b ) { return Math .

Der Java-Code dazu k¨onnte ungef¨ahr so aussehen: 0 1 2 3 4 5 public Expr eval ( Env env ) throws Alarm { checkEvalnil ( this ); Expr expr = head . eval ( env ); Liste. Procedure proc = che ckProcedure ( expr ); return proc . apply ( tail , env ); Liste. } // Ist diese Liste leer? // head ist der Kopf der // Ist der Kopf eine Prozedur? // tail ist der Rest der Anwenden – hier implementiert durch die Methode apply – hat je nach Art der Prozedur eine unterschiedliche Bedeutung: Bei einer Funktion werden die Argumente ausgewertet, aus den formalen Parametern und den Argumentwerten wird eine neue Umgebung gebildet und mit dieser Umgebung der Rumpf der Funktion ausgewertet.

Download PDF sample

Rated 4.70 of 5 – based on 16 votes