Loading...

Messages

Proposals

Stuck in your homework and missing deadline? Get urgent help in $10/Page with 24 hours deadline

Get Urgent Writing Help In Your Essays, Assignments, Homeworks, Dissertation, Thesis Or Coursework & Achieve A+ Grades.

Privacy Guaranteed - 100% Plagiarism Free Writing - Free Turnitin Report - Professional And Experienced Writers - 24/7 Online Support

Java question

06/09/2020 Client: ahmad8858 Deadline: 2 Day

 


Lab #1 — Building a Calculator


Your task for Lab #1 is to build a calculator in Java that has two modes, controllable by command-line options postfix and infix. In both modes the calculator will read lines of input from standard input. For each input line, the calculator will evaluate the expression that was input and print the result on a separate line. The program ends when it encounters the EOF character,similar to the behavior of most Unix utilities.


To simplify matters regarding dealing with different types of numbers, in this assignment, all numbers are to be represented internally as either Java floatprimitives or Floatobjects depending on your implementation choices.


Your calculator will implement the following operations:



  • +, -, *, /

  • ^ (exponentiation: e.g., 2^3 = 8).


Your calculator will implement expressions containing either a sole number or operations applied to numbers.


Mode #1 — Postfix Notation


The first mode that you will implement is one where the calculator accepts anexpression that is expressed in postfix notation. For those of you familiar with HP’s line of scientific and graphing calculators, postfix notation is also known as RPN or Reverse Polish Notation, in honor of the Polish logician Jan Łukasiewicz who invented Polish notation, also known as prefix notation.


Here are examples of expressions written in postfix notation with their conversions to infix notation and their evaluations:


2 3 +


2 + 3


5


2 3 + 5 *


(2 + 3) * 5


25


2 3 5 * +


2 + (3 * 5)


17


2 3 2 ^ * -10 -


2 * (3 ^ 2) - -10


28


How an RPN calculator works internally is as follows: it maintains an internal stack that is used to store operands and intermediate results. Let’s use the expression “4 3 + 5 *” as an example. The first thing that we do is lexical analysis on the input string by first splitting the string by its whitespace characters and then performing the proper type conversions on the numbers, resulting in a list that looks like this:


[4.0, 3.0, “+”, 5.0, “*”]


Next, we iterate through the list. For each number, we push it onto the stack. Once we reach an operator on the list, we pop the stack twice, perform that operation on the popped numbers, and then push the result onto the stack. In this example, the elements 3.0 and 4.0 are popped from the stack. We then perform the “+” operation on the second and first elements popped from the stack (order matters for “-”, “/”, and “^”), and then push the result (12.0) onto the stack. Then, as we continue iterating through the list, we encounter 5.0, and thus we push it on the stack, resulting in a stack with the elements 12.0 (bottom) and 5.0 (top). Finally, the last token in the list is “*”, and so we pop the stack twice, multiplying 5.0 and 12.0 to get 60.0, and then we push it back on the stack.


When we have exhausted the list of tokens, we pop the stack and print the popped value as the result of the expression.


One of the nice properties of postfix notion is the lack of a need to specify operator precedence. It is this property that makes it possible to implement an RPN calculator without the need for specify a formal grammar for expressions. In fact, there are full-fledged programming languages such as Forth and PostScript that use postfix notation and rely on a stack.


Mode #2 — Infix Notation


Unlike a postfix calculator where parsing is a very straightforward task, parsing is not as straightforward in infix notation, since you have to concern yourself with expressions of arbitrary length and operator precedence. Your calculator will have to properly implement the PEMDAS (parentheses, exponents, multiplication, division, addition, subtraction) order of operations that are from elementary algebra.


Thankfully with the help of parser generators such as ANTLR, you won’t have to deal with the labor of implementing parsing algorithms.


Here is an excellent tutorial for using ANTLR:https://tomassetti.me/antlr-mega-tutorial/ (Links to an external site.). Please also refer to the main ANTLR website athttps://www.antlr.org (Links to an external site.).


Your goals are the following:



  1. Write a BNF or EBNF grammar that is able to represent expressions in infix notation that is also able to implement the PEMDAS order of operations.

  2. Express that grammar as an ANTLR grammar.

  3. Use ANTLR to generate an abstract syntax tree.

  4. Traverse the abstract syntax tree to evaluate the expression. There are two ways of doing this: (1) either evaluating the abstract syntax tree directly, or (2) using the AST to generate a postfix notation representation of the expression, and then evaluating it as in Mode #1.


Some Examples:


$ java Calculator postfix


Calculator> 2 4 * 2 ^ 10 -


54


Calculator> 5


5


Calculator> 8 24 + 9 -


23


$ java Calculator infix


Calculator> (2 * 4)^2 – 10


54


Calculator> 5


5


Calculator> 8 + 24 – 9


23


Deliverable:


A collection of Java and ANTLR source code files in a *.zip archive, where the main method is located in a class called Calculator and in a file called Calculator.java.


Grading Rubric:


Mode #1 (Postfix Notation): 30%


Mode #2 (Infix Notation Grammar and Parsing): 50%


Mode #2 (Infix Notation Evaluation): 20%


Note:Your code must compile in order for it to receive any credit; any submission that does not compile will receive a grade of 0%.


 

Homework is Completed By:

Writer Writer Name Amount Client Comments & Rating
Instant Homework Helper

ONLINE

Instant Homework Helper

$36

She helped me in last minute in a very reasonable price. She is a lifesaver, I got A+ grade in my homework, I will surely hire her again for my next assignments, Thumbs Up!

Order & Get This Solution Within 3 Hours in $25/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 3 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 6 Hours in $20/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 6 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 12 Hours in $15/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 12 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

6 writers have sent their proposals to do this homework:

Academic Master
Online Assignment Help
Writer Writer Name Offer Chat
Academic Master

ONLINE

Academic Master

I have super grip on essays, case studies, reports and discussion posts. I am working on this forum from last 6 years with full amount of satisfaction of my clients.

$55 Chat With Writer
Online Assignment Help

ONLINE

Online Assignment Help

I am an elite class Ph.D. writer who can deliver you a supreme level of content within your given deadline. I will give you plagiarism free content within your given timeline.

$70 Chat With Writer

Let our expert academic writers to help you in achieving a+ grades in your homework, assignment, quiz or exam.

Similar Homework Questions

Lord of the flies homework help - Budget template for ngo project - Aac block u value - Paper 6 - Business and Economic Forecasting - Urgent needed - Module 5 understanding insulin therapy powerpak - Hrm 2 marks questions and answers - Discussion 7A - Developing and Implementing an Organizational Ethics Program" Please respond to the following - Rockdale library opening hours - At penn foster expanded academic asap is - South carolina bridge program - With what does the major moral theory known as virtue ethics primarily concern itself? - 4th generation ct scanner - Hess law of constant heat summation lab report pdf - Heat capacity of crude oil - The legacy chronicles trial by fire pdf - Assignment 1: Developing Your Personal Financial Plan - The ditchdigger's daughters book summary - Validity of data collection tools - Work 100 discussion - The story of an hour discussion - Apple vs Fbi Case analysis Discussion - Drawing class diagram - Borg warner serial number lookup - Paralyzed veterans of america mailing address - Importance of gps in civil engineering - Bt newgate street london ec1a 7aj - How to cite a movie poster - The displacement in centimeters of a particle moving back - Molar mass of 85 phosphoric acid - Benchmark evidence based practice project paper on diabetes - Casey nelson is a divisional manager - Summary: Read The Case of Plant Relocation and complete the questions at the end of the case study(URL) - Persuasive techniques in writing - Chapters 1 3 sam capstone project 1a - Second nature a gardener's education summary - The container store mission statement - Certainty risk and uncertainty in decision making - Which of the following statements regarding gantt charts is true - Don t dance so fast - 01.10 macbeth the power of words - Privilege power and difference 3rd edition pdf - Career guidance case study - Invertebrate diversity worksheet answers - Chapter 11 managing weight and eating behaviors vocabulary practice answers - Example of a self critique for speech - Short case study on organizational behavior ppt - 0737179697 MAMA SHANANI ABORTION CLINIC IN GREYTOWN - Singapore air wheelchair assistance - Did information systems cause deutsche bank to stumble - What does output mean in ict - Paper Due Tomorrow - Ny times review grand horizons - Turbulent sea crossword clue - Up in michigan hemingway analysis - Nccih nih gov health herbsataglance htm - 348 bus route sydney - Square inc financing a unicorn case solution - What does aitsl stand for - Australian curriculum economics and business - Sony ericsson marketing strategy - Usted and ustedes commands p 382 - Personal narrative - Which of the following software - How many hours should she have spent working on problems and how many should she have spent reading - Mosfet rf amplifier homebrew - Etc element magic sheet - Caerphilly county council refuse collection - Toulouse lautrec post impressionism - Hard and soft engineering - Strategic Management - Week 1 Writing Project - The marginal revenue of the second unit of output in exhibit 9-2 is: - Phone book application in c program - Database redesign is fairly easy when ________ - Organic Chemistry Lab 1 - Experiment 3A: Crystalistalization - Globe postpaid plans iphone - Elliptical settings nyt crossword clue - Week 1 Discussion - History - Hey there delilah ukulele - 4 pillars of the big bang theory - Usmle step 3 preparation tips - TIMEMAPPER ENTRY 3 (ENCYCLOPEDIA STYLE) CAREFULLY READ ATTACHED DOC. - Sample objection letter to council - Reynolds intellectual assessment scales iq - On seeing england for the first time answers - Moving man simulation online - Lev vygotsky zone of proximal development - Mhhe virtual labs paramecium - Cold war activities worksheets - Project management simulation scope resources and schedule scenario b - Little red riding hood play script ks1 - Order 2338330: knowledge management theory - Seven steps to writing - No less nay bigger - Wembury marine centre events - Shl on demand candidates practice tests