SlideShare a Scribd company logo
1 of 13
 A macro processor is a general-purpose macro processor that is
not tied to or integrated with a particular language or piece of
software.
 A macro processor is a program that copies a stream of text from
one place to another, making a systematic set of replacements as it
does so.
 Macro processors are often embedded in other programs, such as
assemblers and compilers. Sometimes they are standalone
programs that can be used to process any kind of text.
 Example is the C language pre-processor .
What is a macro processor?
ELENA MACRO PROCESSOR
ELENA was developed as a researched tool, not as a
commercial software product.
However the same design and implementation techniques
could be used in developing other general-purpose macro
processors.
Further information about ELENA can be found in
Barcucci and Pelacani(1984).
CONT….
Macro definitions in ELENA are composed of a
header and a body
The header consists of keywords and parameter
markers, which are identified by the character %
At least one of the first two tokens in a macro
header must be a keyword, not a parameter
marker
The macro processor appends a numeric value to
create unique labels.
ELENA provides macro-time variables and macro-
time instructions that can be used to control the
macro expansion.
The IF statement is a macro-time conditional “go to”
statement.
The macro is identified by the sequence of
keywords that appear in its header.
CONT….
For ex: a macro with header.
ALPHA = %1 + %2
ALPHA = BETA + GAMMA
ADD %1 TO THE VALUE OF
%2
ADD 10 TO THE VALUE OF
INDEX
ELENA use with different lang.
In c language,
%1 := ABSDIFF(%2,%3)
%1=(%2) >(%3) ? (%2 - %3) : (%3 - %2)
Z := ABSDIFF(X,Y)
Z=(X) >(Y) ? (X - Y) : (Y - X)
In x86 assembly language program
%1 := ABSDIFF(%2,%3)
MOV EAZ,%2
SUB EAX,%3
JNS &STORE
NEG EAX
&STORE MOV EAX,%1
Z := ABSDIFF(X,Y)
MOV EAZ,X
SUB EAX,Y
JNS STORE0001
NEG EAX
STORE001 MOV EAX,Z
ADD %1 TO THE FIRST %2 ELEMENTS OF
V
.SET .LAA = 1
.E V(.LAA) = V(.LAA) + %1
.SET .LAA = .LAA +1
IF .LAA LE %2 .JUMP .E
We can use macro time variables and macro time instruction
ADD 5 TO THE FIRST 3 ELEMENTS OF V
V(1) = V(1) + 5
V(2) = V(2) + 5
V(3) = V(3) + 5
DISPLAY TABLE
DISPLAY %1
%1 TABLE
At least one of the first two tokens in a macro header must be a keyword,
not a parameter marker
ELENA consist of a data structure index with macro
headers according to the keywords in the first 2 tokens.
Macro invocation are compared against all headers with
keywords
Eg: A SUM B,C
During this process, it's possible that sequence of token
match with more than one macro header.
For EX:
SUM A=B+1
SUM %1 = %2 + %3
SUM %1 = %2 + 1
In this situation, ELENA select the header with fewest parameter.
What is a macro processor

More Related Content

What's hot

TOC 8 | Derivation, Parse Tree & Ambiguity Check
TOC 8 | Derivation, Parse Tree & Ambiguity CheckTOC 8 | Derivation, Parse Tree & Ambiguity Check
TOC 8 | Derivation, Parse Tree & Ambiguity CheckMohammad Imam Hossain
 
Interpreters & Debuggers
Interpreters  &  DebuggersInterpreters  &  Debuggers
Interpreters & DebuggersMalek Sumaiya
 
System Programming Unit III
System Programming Unit IIISystem Programming Unit III
System Programming Unit IIIManoj Patil
 
Introduction to compiler
Introduction to compilerIntroduction to compiler
Introduction to compilerAbha Damani
 
Mathematical and logical operators
Mathematical and logical operatorsMathematical and logical operators
Mathematical and logical operatorsRGn Ebsin
 
Introduction to system programming
Introduction to system programmingIntroduction to system programming
Introduction to system programmingsonalikharade3
 
Applications of Embedded System
Applications of Embedded SystemApplications of Embedded System
Applications of Embedded SystemOZ Assignment help
 
Debuggers in system software
Debuggers in system softwareDebuggers in system software
Debuggers in system softwaregayathri ravi
 
Compiler Design Introduction
Compiler Design IntroductionCompiler Design Introduction
Compiler Design IntroductionRicha Sharma
 
Introduction to functional programming (In Arabic)
Introduction to functional programming (In Arabic)Introduction to functional programming (In Arabic)
Introduction to functional programming (In Arabic)Omar Abdelhafith
 

What's hot (20)

Linking in MS-Dos System
Linking in MS-Dos SystemLinking in MS-Dos System
Linking in MS-Dos System
 
C programming part1
C programming part1C programming part1
C programming part1
 
MACRO PROCESSOR
MACRO PROCESSORMACRO PROCESSOR
MACRO PROCESSOR
 
Loader
LoaderLoader
Loader
 
TOC 8 | Derivation, Parse Tree & Ambiguity Check
TOC 8 | Derivation, Parse Tree & Ambiguity CheckTOC 8 | Derivation, Parse Tree & Ambiguity Check
TOC 8 | Derivation, Parse Tree & Ambiguity Check
 
Basics of c++
Basics of c++Basics of c++
Basics of c++
 
Programming for Problem Solving
Programming for Problem SolvingProgramming for Problem Solving
Programming for Problem Solving
 
Ch3
Ch3Ch3
Ch3
 
Vb.net tutorial
Vb.net tutorialVb.net tutorial
Vb.net tutorial
 
Interpreters & Debuggers
Interpreters  &  DebuggersInterpreters  &  Debuggers
Interpreters & Debuggers
 
System Programming Unit III
System Programming Unit IIISystem Programming Unit III
System Programming Unit III
 
Introduction to compiler
Introduction to compilerIntroduction to compiler
Introduction to compiler
 
Mathematical and logical operators
Mathematical and logical operatorsMathematical and logical operators
Mathematical and logical operators
 
Introduction to system programming
Introduction to system programmingIntroduction to system programming
Introduction to system programming
 
Input-Buffering
Input-BufferingInput-Buffering
Input-Buffering
 
PoS and SoP
PoS and SoPPoS and SoP
PoS and SoP
 
Applications of Embedded System
Applications of Embedded SystemApplications of Embedded System
Applications of Embedded System
 
Debuggers in system software
Debuggers in system softwareDebuggers in system software
Debuggers in system software
 
Compiler Design Introduction
Compiler Design IntroductionCompiler Design Introduction
Compiler Design Introduction
 
Introduction to functional programming (In Arabic)
Introduction to functional programming (In Arabic)Introduction to functional programming (In Arabic)
Introduction to functional programming (In Arabic)
 

Viewers also liked

Viewers also liked (9)

Unit ii-111206004636-phpapp01
Unit ii-111206004636-phpapp01Unit ii-111206004636-phpapp01
Unit ii-111206004636-phpapp01
 
Microassembler a10
Microassembler a10Microassembler a10
Microassembler a10
 
ANSI C Macros
ANSI C MacrosANSI C Macros
ANSI C Macros
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programming
 
Macro
MacroMacro
Macro
 
System Programming Unit II
System Programming Unit IISystem Programming Unit II
System Programming Unit II
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1
 
micro & macro economics
micro & macro economicsmicro & macro economics
micro & macro economics
 
System Programming Overview
System Programming OverviewSystem Programming Overview
System Programming Overview
 

Similar to What is a macro processor

1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdf1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdfSemsemSameer1
 
Compiler_Lecture1.pdf
Compiler_Lecture1.pdfCompiler_Lecture1.pdf
Compiler_Lecture1.pdfAkarTaher
 
Compiler design
Compiler designCompiler design
Compiler designsanchi29
 
Introduction to Compilers
Introduction to CompilersIntroduction to Compilers
Introduction to Compilersvijaya603274
 
SSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdfSSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdfJacobDragonette
 
role of lexical anaysis
role of lexical anaysisrole of lexical anaysis
role of lexical anaysisSudhaa Ravi
 
2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx
2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx
2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docxvenkatapranaykumarGa
 
What is algorithm
What is algorithmWhat is algorithm
What is algorithmmshoaib15
 
lec00-Introduction.pdf
lec00-Introduction.pdflec00-Introduction.pdf
lec00-Introduction.pdfwigewej294
 
Cs6660 compiler design
Cs6660 compiler designCs6660 compiler design
Cs6660 compiler designhari2010
 
Algorithm and c language
Algorithm and c languageAlgorithm and c language
Algorithm and c languagekamalbeydoun
 
Lexical analyzer generator lex
Lexical analyzer generator lexLexical analyzer generator lex
Lexical analyzer generator lexAnusuya123
 

Similar to What is a macro processor (20)

Tutorial
TutorialTutorial
Tutorial
 
Assembly
AssemblyAssembly
Assembly
 
3.2
3.23.2
3.2
 
1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdf1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdf
 
Compiler_Lecture1.pdf
Compiler_Lecture1.pdfCompiler_Lecture1.pdf
Compiler_Lecture1.pdf
 
module 4.pptx
module 4.pptxmodule 4.pptx
module 4.pptx
 
Handout#02
Handout#02Handout#02
Handout#02
 
Compiler design
Compiler designCompiler design
Compiler design
 
Introduction to Compilers
Introduction to CompilersIntroduction to Compilers
Introduction to Compilers
 
SSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdfSSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdf
 
role of lexical anaysis
role of lexical anaysisrole of lexical anaysis
role of lexical anaysis
 
2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx
2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx
2-Design Issues, Patterns, Lexemes, Tokens-28-04-2023.docx
 
What is algorithm
What is algorithmWhat is algorithm
What is algorithm
 
lec00-Introduction.pdf
lec00-Introduction.pdflec00-Introduction.pdf
lec00-Introduction.pdf
 
LANGUAGE PROCESSOR
LANGUAGE PROCESSORLANGUAGE PROCESSOR
LANGUAGE PROCESSOR
 
Cs6660 compiler design
Cs6660 compiler designCs6660 compiler design
Cs6660 compiler design
 
Algorithm and c language
Algorithm and c languageAlgorithm and c language
Algorithm and c language
 
Mp lab manual
Mp lab manualMp lab manual
Mp lab manual
 
Lexical analyzer generator lex
Lexical analyzer generator lexLexical analyzer generator lex
Lexical analyzer generator lex
 
Cpcs302 1
Cpcs302  1Cpcs302  1
Cpcs302 1
 

Recently uploaded

microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacingjaychoudhary37
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 

Recently uploaded (20)

microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacing
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 

What is a macro processor

  • 1.
  • 2.  A macro processor is a general-purpose macro processor that is not tied to or integrated with a particular language or piece of software.  A macro processor is a program that copies a stream of text from one place to another, making a systematic set of replacements as it does so.  Macro processors are often embedded in other programs, such as assemblers and compilers. Sometimes they are standalone programs that can be used to process any kind of text.  Example is the C language pre-processor . What is a macro processor?
  • 3. ELENA MACRO PROCESSOR ELENA was developed as a researched tool, not as a commercial software product. However the same design and implementation techniques could be used in developing other general-purpose macro processors. Further information about ELENA can be found in Barcucci and Pelacani(1984).
  • 4. CONT…. Macro definitions in ELENA are composed of a header and a body The header consists of keywords and parameter markers, which are identified by the character % At least one of the first two tokens in a macro header must be a keyword, not a parameter marker
  • 5. The macro processor appends a numeric value to create unique labels. ELENA provides macro-time variables and macro- time instructions that can be used to control the macro expansion. The IF statement is a macro-time conditional “go to” statement. The macro is identified by the sequence of keywords that appear in its header. CONT….
  • 6. For ex: a macro with header. ALPHA = %1 + %2 ALPHA = BETA + GAMMA ADD %1 TO THE VALUE OF %2 ADD 10 TO THE VALUE OF INDEX
  • 7. ELENA use with different lang. In c language, %1 := ABSDIFF(%2,%3) %1=(%2) >(%3) ? (%2 - %3) : (%3 - %2) Z := ABSDIFF(X,Y) Z=(X) >(Y) ? (X - Y) : (Y - X)
  • 8. In x86 assembly language program %1 := ABSDIFF(%2,%3) MOV EAZ,%2 SUB EAX,%3 JNS &STORE NEG EAX &STORE MOV EAX,%1 Z := ABSDIFF(X,Y) MOV EAZ,X SUB EAX,Y JNS STORE0001 NEG EAX STORE001 MOV EAX,Z
  • 9. ADD %1 TO THE FIRST %2 ELEMENTS OF V .SET .LAA = 1 .E V(.LAA) = V(.LAA) + %1 .SET .LAA = .LAA +1 IF .LAA LE %2 .JUMP .E We can use macro time variables and macro time instruction ADD 5 TO THE FIRST 3 ELEMENTS OF V V(1) = V(1) + 5 V(2) = V(2) + 5 V(3) = V(3) + 5
  • 10. DISPLAY TABLE DISPLAY %1 %1 TABLE At least one of the first two tokens in a macro header must be a keyword, not a parameter marker
  • 11. ELENA consist of a data structure index with macro headers according to the keywords in the first 2 tokens. Macro invocation are compared against all headers with keywords Eg: A SUM B,C During this process, it's possible that sequence of token match with more than one macro header.
  • 12. For EX: SUM A=B+1 SUM %1 = %2 + %3 SUM %1 = %2 + 1 In this situation, ELENA select the header with fewest parameter.