请输入您要查询的百科知识:

 

词条 Euler (programming language)
释义

  1. Overview

  2. See also

  3. Literature

  4. External links

{{Unreferenced|date=August 2009}}{{Infobox programming language
| name = Euler
| logo =
| paradigm = procedural, imperative, structured
| year =
| designer = Niklaus Wirth and
Helmut Weber
| developer =
| latest_release_version =
|latest release date =
| typing = dynamic
| implementations =
| dialects =
| influenced_by = ALGOL 60
| influenced =
| operating_system =
| license =
| website =
| file_ext =
}}

Euler is a programming language created by Niklaus Wirth and Helmut Weber, conceived as an extension and generalization of ALGOL 60. The designers' goal was to create a language:

  • which was simpler, and yet more flexible, than ALGOL 60
  • that was a useful programming language processed with reasonable efficiency
  • that can be defined with rigorous formality

Available sources indicate that Euler was operational by 1965.

Overview

Euler employs a general type concept. In Euler, arrays, procedures, and switches are not quantities which are declared and named by identifiers: they are not (as opposed to ALGOL) quantities which are on the same level as variables, rather, these quantities are on the level of numeric and boolean constants. Thus, besides the traditional numeric and logical constants, Euler introduces the following additional types:

  • reference
  • label
  • symbol
  • list (array)
  • procedure
  • undefined

All constants can be assigned to variables, which have the same form as in ALGOL, but for which no fixed types are specified: Euler is a dynamically typed programming language. Furthermore, a procedure can produce a value of any type when executed, and this type can vary from one call of the procedure to the next.

Similarly, the elements of a list can have values of any type and these can be different from element to element within the list. So, when the list elements are labels, a switch is obtained. If the elements are procedures, a procedure list is obtained (which is not available in ALGOL 60). If the elements are lists themselves, then a general tree structure is obtained.

Euler provides general type-test and type-conversion operators.

See also

  • Wirth–Weber precedence relationship
  • Simple precedence parser

Literature

  • Niklaus Wirth, Helmut Weber: EULER: a generalization of ALGOL, and its formal definition: Part I. Communications of the ACM 1966; 9 (1): p. 13-25
  • Niklaus Wirth, Helmut Weber: EULER: a generalization of ALGOL, and its formal definition: Part II. Communications of the ACM 1966; 9 (2): p. 89-99
  • Thomas W. Christopher: EULER. An Experiment in Language Definition. Illinois Institute of Technology, 1997. [https://web.archive.org/web/20060901063907/http://www.iit.edu/~tc/euler.pdf full text]

External links

  • [https://github.com/pkimpel/retro-b5500/tree/master/source/EULER Euler sources at Github]
{{DEFAULTSORT:Euler (Programming Language)}}

1 : Dynamically typed programming languages

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/23 10:18:35