Browse Prior Art Database

Bilingual Mapping Macro

IP.com Disclosure Number: IPCOM000074042D
Original Publication Date: 1971-Mar-01
Included in the Prior Art Database: 2005-Feb-23
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Oliver, TL: AUTHOR

Abstract

A bilingual mapping macro is a mapping macro-instruction which can be invoked in either of two languages. In addition to one mapping in each language, the macro contains code to make each language processor scan only the mapping which is written in the language it processes. Shown below is a specimen bilingual mapping macro written in IBM System 0S/360 Assembler Language and PL/1. * % GO TO ALPHA ; 1 MACRO 2 BETA 3 GAMMA DSECT 4 DELTA DS A 5 EPSILON DS A 6 MEND 7 % ALPHA : ; 8 DCL 1 GAMMA BASED , 9 2 DELTA PTR , 10 2 EPSILON PTR ; 11.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 78% of the total text.

Page 1 of 1

Bilingual Mapping Macro

A bilingual mapping macro is a mapping macro-instruction which can be invoked in either of two languages. In addition to one mapping in each language, the macro contains code to make each language processor scan only the mapping which is written in the language it processes. Shown below is a specimen bilingual mapping macro written in IBM System 0S/360 Assembler Language and PL/1. * % GO TO ALPHA ; 1 MACRO 2 BETA 3 GAMMA DSECT 4 DELTA DS A 5 EPSILON DS A 6 MEND 7 % ALPHA : ; 8 DCL 1 GAMMA BASED , 9 2 DELTA PTR , 10 2 EPSILON PTR ; 11.

When the macro is invoked in Assembler Language, the assembler scans the macro as follows: Line 1 above is identified as a comment by the asterisk and ignored. Lines 2-7 are then processed as an ordinary macro definition. Lines 8- 11 are ignored because the macro end statement terminates macro reading. When the macro is invoked in PL/I, the compiler scans the macro lines differently: Line 1 is recognized as a compile-time branch because the asterisk lies outside the compilation source margins. Lines 2-7 are ignored because the branch goes around them. Line 8 is recognized as the target of the branch. Lines 9-11 are then processed as ordinary source text.

The example demonstrates four techniques for making text in one language transparent to the processor for another language: First, the asterisk makes the compile-time branch statement transparent to the assembler. Second, an indented source margin makes the a...