The provided content is a lexical analysis of a calculator GUI's layout, widgets, and lexemes. It displays each lexeme, including constants, numbers, strings, and nonterminals, with entering and exiting messages for nonterminal functions.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
avoid possible confusions on how the output of this project should look like, here is the output for the "Calculator" example - the one from the specs: Enter <gui> Lexeme (constant): Window Lexeme (string): Calculator Lexeme (constant): ( Lexeme (number): 200 Lexeme (constant): , Lexeme (number): 200 Lexeme (constant): ) Enter <layout> Lexeme (constant): Layout Enter <layout_type> Lexeme (constant): Flow Lexeme (constant): ( Lexeme (constant): ) Exit <layout_type> Lexeme (constant): : Exit <layout> Enter <widgets> Enter <widget> Lexeme (constant): Textfield Lexeme (number): 20 Lexeme (constant): ; Exit <widget> Enter <widgets> Enter <widget> Lexeme (constant): Panel Enter <layout> Lexeme (constant): Layout Enter <layout_type> Lexeme (constant): Grid Lexeme (constant): ( Lexeme (number): 4 Lexeme (constant): , Lexeme (number): 3 Lexeme (constant): , Lexeme (number): 5 Lexeme (constant): , Lexeme (number): 5 Lexeme (constant): ) Exit <layout_type> Lexeme (constant): : Exit <layout>
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
Enter <widgets> Enter <widget> Lexeme (constant): Button Lexeme (string): 7 Lexeme (constant): ; Exit <widget> Enter <widgets> Enter <widget> Lexeme (constant): Button Lexeme (string): 8 Lexeme (constant): ; Exit <widget> Enter <widgets> Enter <widget> Lexeme (constant): Button Lexeme (string): 9 Lexeme (constant): ; Exit <widget> Enter <widgets> Enter <widget> Lexeme (constant): Button Lexeme (string): 4 Lexeme (constant): ; Exit <widget> Enter <widgets> Enter <widget> Lexeme (constant): Button Lexeme (string): 5 Lexeme (constant): ; Exit <widget> Enter <widgets> Enter <widget> Lexeme (constant): Button Lexeme (string): 6 Lexeme (constant): ; Exit <widget> Enter <widgets> Enter <widget> Lexeme (constant): Button Lexeme (string): 1 Lexeme (constant): ; Exit <widget> Enter <widgets> Enter <widget> Lexeme (constant): Button Lexeme (string): 2
Lexeme (constant): ; Exit <widget> Enter <widgets> Enter <widget> Lexeme (constant): Button Lexeme (string): 3 Lexeme (constant): ; Exit <widget> Enter <widgets> Enter <widget> Lexeme (constant): Label Lexeme (string): Lexeme (constant): ; Exit <widget> Enter <widgets> Enter <widget> Lexeme (constant): Button Lexeme (string): 0 Lexeme (constant): ; Exit <widget> Exit <widgets> Exit <widgets> Exit <widgets> Exit <widgets> Exit <widgets> Exit <widgets> Exit <widgets> Exit <widgets> Exit <widgets> Exit <widgets> Exit <widgets> Lexeme (constant): End Lexeme (constant): ; Exit <widget> Exit <widgets> Exit <widgets> Lexeme (constant): End Lexeme (constant): . Exit <gui> Please notice the following important aspects: - each lexeme is clearly identified and displayed, making it easy to follow the lexical analysis. - for each nonterminal recognized by the parser, two messages are displayed: one when entering and another one when exiting the function that corresponds to that nonterminal (just like Sebesta does in his book).