Find Jobs
Hire Freelancers

Basic Block OpCode - repost

$100 USD

Abgesagt
Veröffentlicht vor fast 11 Jahren

$100 USD

Bezahlt bei Lieferung
I have attached the code below. I included hw8.gen.codes.c which is a working file and will help you understand the op code generation, however hw11.gen.codes.parser.c file is the one that I have been working on for creating basic blocks. I would like this code by this Saturday at 9:00am Mountain Standard Time. Here is the full instructions: The function traverse_ast(node) is a function that traverses the syntax subtree pointed to by node and builds the flow graph of basic blocks of intermediate codes. We perform an in-order traversal recursive algorithm to process the actions/semantics encoded in the abstract syntax tree. We always maintain a global variable current_bb which is the basic block that we are currently developing. Initially, we create a new empty basic block by calling fg_bb_new(). This is both the current basic block and the entry basic block for the flow graph. Note that we create the basic block in advance before we process any abstract syntax tree nodes to generate intermediate codes. In processing a syntax tree, we always maintain a current basic block. Suppose we have finished processing a (abstract syntax) subtree with a root labelled AST_IF_THEN. Note that the statement located immediately after the IF statement is the target of the branch link of the if-condition test. That is, the intermediate codes for the statement after the IF statement belongs to a new basic block. As our convention requires the current_bb to be created in advance, we need to call fg_bb_new() as part of the processing for the AST_IF_THEN node. There are other cases (for example, processing a AST_While node) that we need to create an empty current basic block at the end of the processing. You can compare the output of your program to that returned by the executable hw11 Source codes for the flow graph module (fg.h, fg.c) can be found in the project resource page. NOTE: For this homework, we assume that there are no initializations of global variable. (We still allow declarations of global variables though.)
Projekt-ID: 4468024

Über das Projekt

2 Vorschläge
Remote Projekt
Aktiv vor 11 Jahren

Möchten Sie etwas Geld verdienen?

Vorteile einer Ausschreibung auf Freelancer

Legen Sie Ihr Budget und Ihren Zeitrahmen fest
Für Ihre Arbeit bezahlt werden
Skizzieren Sie Ihren Vorschlag
Sie können sich kostenlos anmelden und auf Aufträge bieten
2 Freelancer bieten im Durchschnitt $130 USD für diesen Auftrag
Avatar des Nutzers
I can help you.
$149 USD in 3 Tagen
5,0 (13 Bewertungen)
3,8
3,8
Avatar des Nutzers
Hi, I am ready for you! But I cant see your attached code
$103 USD in 1 Tag
5,0 (1 Bewertung)
2,8
2,8
Avatar des Nutzers
Please check your inbox
$110 USD in 1 Tag
0,0 (0 Bewertungen)
0,0
0,0

Über den Kunden

Flagge von UNITED STATES
Albuquerque, United States
5,0
2
Mitglied seit Apr. 8, 2013

Kundenüberprüfung

Danke! Wir haben Ihnen per E-Mail einen Link geschickt, über den Sie Ihr kostenloses Guthaben anfordern können.
Beim Senden Ihrer E-Mail ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.
Registrierte Benutzer Veröffentlichte Jobs
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Vorschau wird geladen
Erlaubnis zur Geolokalisierung erteilt.
Ihre Anmeldesitzung ist abgelaufen und Sie wurden abgemeldet. Bitte melden Sie sich erneut an.