Matches in SemOpenAlex for { <https://semopenalex.org/work/W2045138971> ?p ?o ?g. }
Showing items 1 to 81 of
81
with 100 items per page.
- W2045138971 abstract "The Modula-2 language does not include special statements or standard procedures for handling input and output as in other languages. By extending Modula-2 to include a polymorphic structure, called a variant data type(1), and allowing open-ended structures, it is possible to define procedures that have a function and syntax similar to the I/O statements and procedures of other languages. The variant data type consists of a tag field followed by several options, each containing only one field (unless a structure definition is used). In an assignment operation, the tag field is implicitly adjusted to indicate the data type of the item assigned to the variant typed object. A variable of variant type is considered to be assignment compatible with another value if either both are exactly the same type or if one of the options of the variant type is compatible with the value being assigned to it. For open-ended data structures, the concept of an open array is generalized to allow stack and dynamically allocated open arrays to be defined which allows them to be sized at run-time. The open array concept is extended to procedures allowing them to have open parameter lists which can accept a variable number of arguments when called. These concepts can further be used to eliminate the need for several other standard procedures in the language definition.The variant type and open parameter lists are used in the definition module given below to define a set of Pascal-like input/output procedures. Two variant data types are defined, INVAR for the READ procedures and OUTVAR for the WRITE procedures. The options in these data types allow passing of the basic types as well as structured types using the ARRAY OF WORD option. This option must be specified last in the list since it is type compatible with all types. The word VAR in type INVAR indicates that a field is accessed by reference.The data type FILE is a hidden type for use in defining file variables. The parameter lists for the input and output procedures allow the file variable to occur anyplace in the argument list. It can even occur several times or not at all in a single argument list or several different file variables can appear. The read and write procedures can be programmed to not accept a file variable after the first argument. Violations cannot be detected at compilation time and would have to be flagged as run-time errors. Instead of adding these restrictions, they can be allowed as variations from standard Pascal. The result is that a single read or write statement can act like several statements accessing different files.The file variables INPUT and OUTPUT are defined for use in accessing a terminal's keyboard and screen respectively, as in Pascal. Importing these file variables is only necessary if they are to be explicitly used otherwise they can be programmed as the defaults in the implementation module. The implementation module cannot know whether INPUT and OUTPUT have actually been important by another module or whether they are used as the default file variables so it must initialize them upon program startup." @default.
- W2045138971 created "2016-06-24" @default.
- W2045138971 creator A5046942003 @default.
- W2045138971 date "1987-01-01" @default.
- W2045138971 modified "2023-09-26" @default.
- W2045138971 title "Modula-2 input/output procedure using polymorphic and open-ended data type extensions (abstract only)" @default.
- W2045138971 cites W179174969 @default.
- W2045138971 doi "https://doi.org/10.1145/322917.323042" @default.
- W2045138971 hasPublicationYear "1987" @default.
- W2045138971 type Work @default.
- W2045138971 sameAs 2045138971 @default.
- W2045138971 citedByCount "0" @default.
- W2045138971 crossrefType "proceedings-article" @default.
- W2045138971 hasAuthorship W2045138971A5046942003 @default.
- W2045138971 hasConcept C11413529 @default.
- W2045138971 hasConcept C134306372 @default.
- W2045138971 hasConcept C138958017 @default.
- W2045138971 hasConcept C14036430 @default.
- W2045138971 hasConcept C154945302 @default.
- W2045138971 hasConcept C162319229 @default.
- W2045138971 hasConcept C177264268 @default.
- W2045138971 hasConcept C182365436 @default.
- W2045138971 hasConcept C18903297 @default.
- W2045138971 hasConcept C199360897 @default.
- W2045138971 hasConcept C202444582 @default.
- W2045138971 hasConcept C2777299769 @default.
- W2045138971 hasConcept C33923547 @default.
- W2045138971 hasConcept C41008148 @default.
- W2045138971 hasConcept C60048249 @default.
- W2045138971 hasConcept C75608658 @default.
- W2045138971 hasConcept C78458016 @default.
- W2045138971 hasConcept C80444323 @default.
- W2045138971 hasConcept C86803240 @default.
- W2045138971 hasConcept C9652623 @default.
- W2045138971 hasConceptScore W2045138971C11413529 @default.
- W2045138971 hasConceptScore W2045138971C134306372 @default.
- W2045138971 hasConceptScore W2045138971C138958017 @default.
- W2045138971 hasConceptScore W2045138971C14036430 @default.
- W2045138971 hasConceptScore W2045138971C154945302 @default.
- W2045138971 hasConceptScore W2045138971C162319229 @default.
- W2045138971 hasConceptScore W2045138971C177264268 @default.
- W2045138971 hasConceptScore W2045138971C182365436 @default.
- W2045138971 hasConceptScore W2045138971C18903297 @default.
- W2045138971 hasConceptScore W2045138971C199360897 @default.
- W2045138971 hasConceptScore W2045138971C202444582 @default.
- W2045138971 hasConceptScore W2045138971C2777299769 @default.
- W2045138971 hasConceptScore W2045138971C33923547 @default.
- W2045138971 hasConceptScore W2045138971C41008148 @default.
- W2045138971 hasConceptScore W2045138971C60048249 @default.
- W2045138971 hasConceptScore W2045138971C75608658 @default.
- W2045138971 hasConceptScore W2045138971C78458016 @default.
- W2045138971 hasConceptScore W2045138971C80444323 @default.
- W2045138971 hasConceptScore W2045138971C86803240 @default.
- W2045138971 hasConceptScore W2045138971C9652623 @default.
- W2045138971 hasLocation W20451389711 @default.
- W2045138971 hasOpenAccess W2045138971 @default.
- W2045138971 hasPrimaryLocation W20451389711 @default.
- W2045138971 hasRelatedWork W144962813 @default.
- W2045138971 hasRelatedWork W1622403389 @default.
- W2045138971 hasRelatedWork W1964383534 @default.
- W2045138971 hasRelatedWork W1968020804 @default.
- W2045138971 hasRelatedWork W1998981209 @default.
- W2045138971 hasRelatedWork W2045197766 @default.
- W2045138971 hasRelatedWork W2049452351 @default.
- W2045138971 hasRelatedWork W2072276921 @default.
- W2045138971 hasRelatedWork W2120666920 @default.
- W2045138971 hasRelatedWork W2161623493 @default.
- W2045138971 hasRelatedWork W2296521757 @default.
- W2045138971 hasRelatedWork W2329969547 @default.
- W2045138971 hasRelatedWork W2476400494 @default.
- W2045138971 hasRelatedWork W2486962094 @default.
- W2045138971 hasRelatedWork W2494171412 @default.
- W2045138971 hasRelatedWork W2500341752 @default.
- W2045138971 hasRelatedWork W3021640355 @default.
- W2045138971 hasRelatedWork W3149506421 @default.
- W2045138971 hasRelatedWork W76593654 @default.
- W2045138971 hasRelatedWork W1955916309 @default.
- W2045138971 isParatext "false" @default.
- W2045138971 isRetracted "false" @default.
- W2045138971 magId "2045138971" @default.
- W2045138971 workType "article" @default.