{"title":"注释:编程语言的语义模型","authors":"R. Herriot","doi":"10.1145/800021.808284","DOIUrl":null,"url":null,"abstract":"GLOSS is a machine and language for modeling the semantics of programming languages. GLOSS is not intended to be a tool for mathematical proofs. Instead it is intended to provide an easily read graphical notation in which programming language structures and transformations (operators) can be specified. Johnston's Contour Model [Jl] has a similar intention, but GLOSS has a more flexible structure. Because the human eye can perceive a graphical notation more readily than a mathematical or programmatical notation, GLOSS and Johnston's Contour Model are more elucidating than the Vienna Definition Language [L1].\n GLOSS has seven <underline>primitive objects</underline>: <underline>integer</underline> objects, <underline>bit string</underline> objects, <underline>character string</underline> objects, <underline>reference</underline> objects, <underline>vector</underline> objects, <underline>record</underline> objects, and <underline>constructor</underline> objects. Integers, bit strings, character strings, and references have their usual meanings. A vector is an ordered set of objects indexed from zero. A record is an unordered set of two tuples, each of whose first component is an identifier (character string) and whose second component is an object. The identifier is used to select its associated object. All of the above objects have a type such as integer, bit string, etc. and a value which is the object itself. A constructor object permits the formation of a new type of object.","PeriodicalId":161752,"journal":{"name":"SIGPLAN-SIGOPS Interface Meeting","volume":"437 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"GLOSS: A semantic model of programming languages\",\"authors\":\"R. Herriot\",\"doi\":\"10.1145/800021.808284\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"GLOSS is a machine and language for modeling the semantics of programming languages. GLOSS is not intended to be a tool for mathematical proofs. Instead it is intended to provide an easily read graphical notation in which programming language structures and transformations (operators) can be specified. Johnston's Contour Model [Jl] has a similar intention, but GLOSS has a more flexible structure. Because the human eye can perceive a graphical notation more readily than a mathematical or programmatical notation, GLOSS and Johnston's Contour Model are more elucidating than the Vienna Definition Language [L1].\\n GLOSS has seven <underline>primitive objects</underline>: <underline>integer</underline> objects, <underline>bit string</underline> objects, <underline>character string</underline> objects, <underline>reference</underline> objects, <underline>vector</underline> objects, <underline>record</underline> objects, and <underline>constructor</underline> objects. Integers, bit strings, character strings, and references have their usual meanings. A vector is an ordered set of objects indexed from zero. A record is an unordered set of two tuples, each of whose first component is an identifier (character string) and whose second component is an object. The identifier is used to select its associated object. All of the above objects have a type such as integer, bit string, etc. and a value which is the object itself. A constructor object permits the formation of a new type of object.\",\"PeriodicalId\":161752,\"journal\":{\"name\":\"SIGPLAN-SIGOPS Interface Meeting\",\"volume\":\"437 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1900-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"SIGPLAN-SIGOPS Interface Meeting\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/800021.808284\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"SIGPLAN-SIGOPS Interface Meeting","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/800021.808284","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
摘要
GLOSS是一种机器和语言,用于对编程语言的语义进行建模。GLOSS不打算成为数学证明的工具。相反,它旨在提供一种易于阅读的图形符号,可以在其中指定编程语言结构和转换(操作符)。Johnston’s Contour Model [Jl]也有类似的意图,但GLOSS的结构更加灵活。由于人眼比数学或编程符号更容易感知图形符号,因此GLOSS和Johnston的轮廓模型比维也纳定义语言更能说明问题[L1]。GLOSS有7个基本对象:整数对象、位字符串对象、字符串对象、引用对象、矢量对象、记录对象和构造函数对象。整数、位串、字符串和引用都有其通常的含义。向量是从0开始索引的有序对象集合。记录是两个元组的无序集合,每个元组的第一个组件是标识符(字符串),第二个组件是对象。标识符用于选择与其关联的对象。上述所有对象都有一个类型,如整数、位字符串等,以及一个对象本身的值。构造函数对象允许形成新类型的对象。
GLOSS is a machine and language for modeling the semantics of programming languages. GLOSS is not intended to be a tool for mathematical proofs. Instead it is intended to provide an easily read graphical notation in which programming language structures and transformations (operators) can be specified. Johnston's Contour Model [Jl] has a similar intention, but GLOSS has a more flexible structure. Because the human eye can perceive a graphical notation more readily than a mathematical or programmatical notation, GLOSS and Johnston's Contour Model are more elucidating than the Vienna Definition Language [L1].
GLOSS has seven primitive objects: integer objects, bit string objects, character string objects, reference objects, vector objects, record objects, and constructor objects. Integers, bit strings, character strings, and references have their usual meanings. A vector is an ordered set of objects indexed from zero. A record is an unordered set of two tuples, each of whose first component is an identifier (character string) and whose second component is an object. The identifier is used to select its associated object. All of the above objects have a type such as integer, bit string, etc. and a value which is the object itself. A constructor object permits the formation of a new type of object.