Guarded Command Language (original) (raw)
El Lenguaje de Comandos Guardados (GCL, Guarded Command Language), o de Órdenes Guardadas, es un modelo de lenguaje definido por Edsger Dijkstra para semántica de transformación de predicados (una extensión lógica diseñada para proporcionar una metodología para desarrollar programas "correctos por construcción" en un lenguaje imperativo). Tiene un conjunto especial de construcciones de condición y de bucle. El elemento más básico del lenguaje es el comando guardado o comando con guarda.
Property | Value |
---|---|
dbo:abstract | The Guarded Command Language (GCL) is a programming language defined by Edsger Dijkstra for predicate transformer semantics in EWD472. It combines programming concepts in a compact way. It makes it easier to develop a program and its proof hand-in-hand, with the proof ideas leading the way; moreover, parts of a program can actually be calculated. An important property of GCL is nondeterminism. For example, in the if-statement, several alternatives may be true, and the choice of which to choose is done at runtime, when the if-statement is executed. This frees the programmer from having to make unnecessary choices and is an aid in the formal development of programs. GCL includes the multiple assignment statement. For example, execution of the statement x, y:= y, x is done by first evaluating the righthand side values and then storing them in the lefthand variables. Thus, this statement swaps the values of x and y. The following books discuss the development of programs using GCL: * Dijkstra, Edsger W. (1976). A Discipline of Programming. Prentice Hall. ISBN 978-0132158718. * Gries, D. (1981). The Science of Programming. Monographs in Computer Science (in English, Spanish, Japanese, Chinese, Italian, and Russian). New York: Springer Verlag. * Dijkstra, Edsger W.; Feijen, Wim H.J. (1988). A Method of Programming. Boston, MA: Addison-Wesley Longman Publishing Co., Inc. p. 200. ISBN 978-0-201-17536-3. * Kaldewaij, Anne (1990). Programming: the derivation of algorithms. Prentice-Hall, Inc. ISBN 0132041081. * Cohen, Edward (1990). David Gries (ed.). Programming in the 1990s: An introduction to the calculation of programs. Texts and Monographs in Computer Science. Springer Verlag. ISBN 978-1-4613-9706-9. (en) El Lenguaje de Comandos Guardados (GCL, Guarded Command Language), o de Órdenes Guardadas, es un modelo de lenguaje definido por Edsger Dijkstra para semántica de transformación de predicados (una extensión lógica diseñada para proporcionar una metodología para desarrollar programas "correctos por construcción" en un lenguaje imperativo). Tiene un conjunto especial de construcciones de condición y de bucle. El elemento más básico del lenguaje es el comando guardado o comando con guarda. (es) Guarded Command Language(GCL)とは、エドガー・ダイクストラが述語変換意味論向けに定義した言語である (ja) GCL staat voor Guarded Command Language, ontwikkeld door Edsger Dijkstra. Dit is enkel een theoretische taal, er bestaan geen compilers om deze taal om te zetten in een uitvoerbaar programma. Het combineert de meest basale programmeerconcepten op een zeer compacte manier, en deze zijn vervolgens gemakkelijk om te zetten naar de programmeertaal naar keuze. Vanwege de eenvoudigheid zijn de programma's veel makkelijker te bewijzen op correctheid, met behulp van de Hoarelogica. De taal bestaat uit de volgende vijf statements: * SkipSkip doet niets. In sommige situaties is het handig om dit statement te kunnen gebruiken. * Toewijzingx := y * Catenatiestatement1 ; statement2Deze constructie wordt gebruikt om twee statements aan elkaar te koppelen. statement1 zal eerst uitgevoerd worden, daarna statement2. * Selectieif P statement[] P statementfiwaarbij P een propositie is. De [] maken het mogelijk om de juiste statements bij andere proposities uit te voeren. Er is geen beperking aan het aantal van zulke blokken in een selectiestatement. * Repetitiedo P statementodwaarbij P een propositie is. Zolang P voldoet wordt het statement uitgevoerd. (nl) 守卫命令语言(GCL:Guarded Command Language)是艾兹赫尔·戴克斯特拉为定义的一门语言。它以精简方式组合了编程概念,它们处在以某种实际的编程语言书写程序之前。它的简单性使得采用霍尔逻辑证明程序的正确性更加容易。 (zh) |
dbo:wikiPageExternalLink | https://archive.org/details/disciplineofprog0000dijk https://link.springer.com/book/10.1007/978-1-4612-5983-1 https://link.springer.com/book/10.1007/978-1-4613-9706-9 https://dl.acm.org/doi/10.5555/98158 https://dl.acm.org/doi/book/10.5555/576038 https://metacpan.org/module/Commands::Guarded |
dbo:wikiPageID | 727607 (xsd:integer) |
dbo:wikiPageLength | 11313 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1120804513 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Quasi-delay-insensitive_circuit dbr:David_Gries dbr:Arg_max dbr:Variable_(programming) dbr:Predicate_transformer_semantics dbr:Promela dbr:SPIN_model_checker dbr:Greatest_common_divisor dbr:Congruence_relation dbr:Control_flow dbr:Refinement_Calculus dbr:Computer_program dbr:Proposition dbr:State_(computer_science) dbr:Syntax_(programming_languages) dbr:Bubble_sort dbr:Bézout's_identity dbr:Lattice_(order) dbr:Data_type dbr:Euclidean_algorithm dbr:Extended_Euclidean_algorithm dbc:Edsger_W._Dijkstra dbr:Conditional_(programming) dbc:Logic_programming dbr:B-Method dbr:Catenation dbr:Semantics dbr:Implementation dbr:Formal_Methods dbr:Programming_language dbr:Pseudocode dbr:Nondeterministic_programming dbr:Statement_(programming) dbr:Assignment_(computer_programming) dbr:Edsger_Dijkstra dbr:Program_specification dbr:Execution_(computers) |
dbp:wikiPageUsesTemplate | dbt:Not dbt:Cite_book dbt:Math dbt:Sub dbt:Edsger_Dijkstra |
dct:subject | dbc:Edsger_W._Dijkstra dbc:Logic_programming |
gold:hypernym | dbr:Language |
rdf:type | dbo:Language yago:Ability105616246 yago:Abstraction100002137 yago:ArtificialLanguage106894544 yago:Cognition100023271 yago:Communication100033020 yago:Creativity105624700 yago:Invention105633385 yago:Language106282651 yago:ProgrammingLanguage106898352 yago:PsychologicalFeature100023100 yago:WikicatDutchInventions yago:WikicatProgrammingLanguages |
rdfs:comment | El Lenguaje de Comandos Guardados (GCL, Guarded Command Language), o de Órdenes Guardadas, es un modelo de lenguaje definido por Edsger Dijkstra para semántica de transformación de predicados (una extensión lógica diseñada para proporcionar una metodología para desarrollar programas "correctos por construcción" en un lenguaje imperativo). Tiene un conjunto especial de construcciones de condición y de bucle. El elemento más básico del lenguaje es el comando guardado o comando con guarda. (es) Guarded Command Language(GCL)とは、エドガー・ダイクストラが述語変換意味論向けに定義した言語である (ja) 守卫命令语言(GCL:Guarded Command Language)是艾兹赫尔·戴克斯特拉为定义的一门语言。它以精简方式组合了编程概念,它们处在以某种实际的编程语言书写程序之前。它的简单性使得采用霍尔逻辑证明程序的正确性更加容易。 (zh) The Guarded Command Language (GCL) is a programming language defined by Edsger Dijkstra for predicate transformer semantics in EWD472. It combines programming concepts in a compact way. It makes it easier to develop a program and its proof hand-in-hand, with the proof ideas leading the way; moreover, parts of a program can actually be calculated. The following books discuss the development of programs using GCL: (en) GCL staat voor Guarded Command Language, ontwikkeld door Edsger Dijkstra. Dit is enkel een theoretische taal, er bestaan geen compilers om deze taal om te zetten in een uitvoerbaar programma. Het combineert de meest basale programmeerconcepten op een zeer compacte manier, en deze zijn vervolgens gemakkelijk om te zetten naar de programmeertaal naar keuze. Vanwege de eenvoudigheid zijn de programma's veel makkelijker te bewijzen op correctheid, met behulp van de Hoarelogica. De taal bestaat uit de volgende vijf statements: (nl) |
rdfs:label | Lenguaje de Comandos Guardados (es) Guarded Command Language (en) Guarded Command Language (ja) GCL (nl) 守卫命令语言 (zh) |
owl:sameAs | freebase:Guarded Command Language yago-res:Guarded Command Language wikidata:Guarded Command Language dbpedia-es:Guarded Command Language dbpedia-ja:Guarded Command Language dbpedia-nl:Guarded Command Language dbpedia-zh:Guarded Command Language https://global.dbpedia.org/id/2JQGr |
prov:wasDerivedFrom | wikipedia-en:Guarded_Command_Language?oldid=1120804513&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Guarded_Command_Language |
is dbo:wikiPageDisambiguates of | dbr:GCL |
is dbo:wikiPageRedirects of | dbr:Guarded_command dbr:Guarded_commands |
is dbo:wikiPageWikiLink of | dbr:Quasi-delay-insensitive_circuit dbr:List_of_Dutch_inventions_and_innovations dbr:GCL dbr:Predicate_transformer_semantics dbr:S-algol dbr:Quantum_programming dbr:ALGOL_58 dbr:ALGOL_68 dbr:Block_(programming) dbr:Guard_(computer_science) dbr:Guarded_suspension dbr:Guarded_command dbr:Guarded_commands |
is foaf:primaryTopic of | wikipedia-en:Guarded_Command_Language |