ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Concepts and Semantics of Programming Languages 1: A Semantical Approach with OCaml and Python

دانلود کتاب مفاهیم و معانی زبانهای برنامه نویسی 1: رویکرد معنایی با OCaml و Python

Concepts and Semantics of Programming Languages 1: A Semantical Approach with OCaml and Python

مشخصات کتاب

Concepts and Semantics of Programming Languages 1: A Semantical Approach with OCaml and Python

ویرایش:  
نویسندگان: , , ,   
سری:  
ISBN (شابک) : 1786305305, 9781786305305 
ناشر: John Wiley & Sons 
سال نشر: 2021 
تعداد صفحات: 329 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 9 مگابایت 

قیمت کتاب (تومان) : 29,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 14


در صورت تبدیل فایل کتاب Concepts and Semantics of Programming Languages 1: A Semantical Approach with OCaml and Python به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب مفاهیم و معانی زبانهای برنامه نویسی 1: رویکرد معنایی با OCaml و Python نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب مفاهیم و معانی زبانهای برنامه نویسی 1: رویکرد معنایی با OCaml و Python

این کتاب - اولین جلد از دو جلد - ساختارهای نحوی رایج‌ترین زبان‌های برنامه‌نویسی را بررسی می‌کند و یک نور ریاضی بر معنایی آن‌ها می‌تابد، در حالی که نمایش دقیقی از جنبه‌های مادی که با کدنویسی تداخل دارند ارائه می‌دهد.

مفاهیم و معناشناسی زبان های برنامه نویسی 1 به ویژگی های کاربردی و ضروری اختصاص دارد. شامل مطالعه رسمی معناشناسی تایپ و اجرا است. کسب آنها با پیاده سازی در OCaml و Python و همچنین با نمونه های کار تسهیل می شود. نمایش داده ها با جزئیات در نظر گرفته می شود: endianness، اشاره گرها، مدیریت حافظه، انواع اتحاد و تطبیق الگو، و غیره، با مثال هایی در OCaml، C و C++. جلد دوم یک مدل خاص برای مطالعه ویژگی‌های ماژولار و شی معرفی می‌کند و از این مدل برای ارائه ماژول‌های Ada و OCaml و متعاقباً کلاس‌ها و اشیاء جاوا، C++، OCaml و Python استفاده می‌کند.

این کتاب نه تنها برای دانش‌آموزان و معلمان علوم کامپیوتر، بلکه برای برنامه‌نویسان باتجربه نیز در نظر گرفته شده است، که راهنمای خواندن کتابچه‌های مرجع و مبانی تأیید برنامه را پیدا می‌کنند.


توضیحاتی درمورد کتاب به خارجی

This book – the first of two volumes – explores the syntactical constructs of the most common programming languages, and sheds a mathematical light on their semantics, while also providing an accurate presentation of the material aspects that interfere with coding.

Concepts and Semantics of Programming Languages 1 is dedicated to functional and imperative features. Included is the formal study of the semantics of typing and execution; their acquisition is facilitated by implementation into OCaml and Python, as well as by worked examples. Data representation is considered in detail: endianness, pointers, memory management, union types and pattern-matching, etc., with examples in OCaml, C and C++. The second volume introduces a specific model for studying modular and object features and uses this model to present Ada and OCaml modules, and subsequently Java, C++, OCaml and Python classes and objects.

This book is intended not only for computer science students and teachers but also seasoned programmers, who will find a guide to reading reference manuals and the foundations of program verification.



فهرست مطالب

Cover
Half-Title Page
Title Page
Copyright Page
Contents
Foreword
Preface
1 From Hardware to Software
	1.1. Computers: a low-level view
		1.1.1. Information processing
		1.1.2. Memories
		1.1.3. CPUs
		1.1.4. Peripheral devices
	1.2. Computers: a high-level view
		1.2.1. Modeling computations
		1.2.2. High-level languages
		1.2.3. From source code to executable programs
2 Introduction to Semantics of Programming Languages
	2.1. Environment, memory and state
		2.1.1. Evaluation environment
		2.1.2. Memory
		2.1.3. State
	2.2. Evaluation of expressions
		2.2.1. Syntax
		2.2.2. Values
		2.2.3. Evaluation semantics
	2.3. Definition and assignment
		2.3.1. Defining an identifier
		2.3.2. Assignment
	2.4. Exercises
		Exercise 2.1
		Exercise 2.2
3 Semantics of Functional Features
	3.1. Syntactic aspects
		3.1.1. Syntax of a functional kernel
		3.1.2. Abstract syntax tree
		3.1.3. Reasoning by induction over expressions
		3.1.4. Declaration of variables, bound and free variables
	3.2. Execution semantics: evaluation functions
		3.2.1. Evaluation errors
		3.2.2. Values
		3.2.3. Interpretation of operators
		3.2.4. Closures
		3.2.5. Evaluation of expressions
	3.3. Execution semantics: operational semantics
		3.3.1. Simple expressions
		3.3.2. Call-by-value
		3.3.3. Recursive and mutually recursive functions
		3.3.4. Call-by-name
		3.3.5. Call-by-value versus call-by-name
	3.4. Evaluation functions versus evaluation relations
		3.4.1. Status of the evaluation function
		3.4.2. Induction over evaluation trees
	3.5. Semantic properties
		3.5.1. Equivalent expressions
		3.5.2. Equivalent environments
	3.6. Exercises
		Exercise 3.1
		Exercise 3.2
		Exercise 3.3
		Exercise 3.4
		Exercise 3.5
		Exercise 3.6
		Exercise 3.7
4 Semantics of Imperative Features
	4.1. Syntax of a kernel of an imperative language
	4.2. Evaluation of expressions
	4.3. Evaluation of definitions
	4.4. Operational semantics
		4.4.1. Big-step semantics
		4.4.2. Small-step semantics
		4.4.3. Expressiveness of operational semantics
	4.5. Semantic properties
		4.5.1. Equivalent programs
		4.5.2. Program termination
		4.5.3. Determinism of program execution
		4.5.4. Big steps versus small steps
	4.6. Procedures
		4.6.1. Blocks
		4.6.2. Procedures
	4.7. Other approaches
		4.7.1. Denotational semantics
		4.7.2. Axiomatic semantics, Hoare logic
	4.8. Exercises
		Exercise 4.1
		Exercise 4.2
		Exercise 4.3
5 Types
	5.1. Type checking: when and how?
	5.1.1. When to verify types?
	5.1.2. How to verify types?
	5.2. Informal typing of a program Exp2
		5.2.1. A first example
		5.2.2. Typing a conditional expression
		5.2.3. Typing without type constraints
		5.2.4. Polymorphism
	5.3. Typing rules in Exp2
		5.3.1. Types, type schemes and typing environments
		5.3.2. Generalization, substitution and instantiation
		5.3.3. Typing rules and typing trees
	5.4. Type inference algorithm in Exp2
		5.4.1. Principal type
		5.4.2. Sets of constraints and unification
		5.4.3. Type inference algorithm
	5.5. Properties
		5.5.1. Properties of typechecking
		5.5.2. Properties of the inference algorithm
	5.6. Typechecking of imperative constructs
		5.6.1. Type algebra
		5.6.2. Typing rules
		5.6.3. Typing polymorphic definitions
	5.7. Subtyping and overloading
		5.7.1. Subtyping
		5.7.2. Overloading
6 Data Types
	6.1. Basic types
		6.1.1. Booleans
		6.1.2. Integers
		6.1.3. Characters
		6.1.4. Floating point numbers
	6.2. Arrays
	6.3. Strings
	6.4. Type definitions
		6.4.1. Type abbreviations
		6.4.2. Records
		6.4.3. Enumerated types
		6.4.4. Sum types
	6.5. Generalized conditional
		6.5.1. C style switch/case
		6.5.2. Pattern matching
	6.6. Equality
		6.6.1. Physical equality
		6.6.2. Structural equality
		6.6.3. Equality between functions
7 Pointers and Memory Management
	7.1. Addresses and pointers
	7.2. Endianness
	7.3. Pointers and arrays
	7.4. Passing parameters by address
	7.5. References
		7.5.1. References in C++
		7.5.2. References in Java
	7.6. Memory management
		7.6.1. Memory allocation
		7.6.2. Freeing memory
		7.6.3. Automatic memory management
8 Exceptions
	8.1. Errors: notification and propagation
		8.1.1. Global variable
		8.1.2. Record definition
		8.1.3. Passing by address
		8.1.4. Introducing exceptions
	8.2. A simple formalization: ML-style exceptions
		8.2.1. Abstract syntax
		8.2.2. Values
		8.2.3. Type algebra
		8.2.4. Operational semantics
		8.2.5. Typing
	8.3. Exceptions in other languages
		8.3.1. Exceptions in OCaml
		8.3.2. Exceptions in Python
		8.3.3. Exceptions in Java
		8.3.4. Exceptions in C++
Conclusion
Solutions to the Exercises
	A.1. Introduction to language semantics Solution to exercise 2.1
	Solution to exercise 2.2
	A.2. Semantics of functional features Solution to exercise 3.1
	Solution to exercise 3.2
	Solution to exercise 3.3
	Solution to exercise 3.4
	Solution to exercise 3.5
	Solution to exercise 3.6
	Solution to exercise 3.7
	A.3. Semantics of imperative features Solution to exercise 4.1
	Solution to exercise 4.2
	Solution to exercise 4.3
List of Notations
Index of Programs
References
Index
Other titles from iSTE in Computer Engineering
EULA




نظرات کاربران