<div dir="auto"><div>Do you have specific questions, or something you are stuck on?  Maybe you accidentally sent the message before you finished writing it?  People on this list aren't going to do your homework for you.  If you have no idea how to even start, you should go talk to the course instructor or teaching assistant.</div><div dir="auto"><br></div><div dir="auto">+Brent<br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Thu, Feb 20, 2020, 2:28 PM Eirik Ravnskog <<a href="mailto:eirik.ravnskog92@gmail.com">eirik.ravnskog92@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="NO-BOK" link="blue" vlink="#954F72"><div class="m_-3763384170770419521WordSection1"><p class="MsoNormal">Hi. I have a homework-assignment where one of the tasks is to make a static Analyzer for BIPL-E, BIPL-E being the BIPL Language with input- and output-parameters. <u></u><u></u></p><p class="MsoNormal">The Analyzer is supposed to <u></u><u></u></p><ol style="margin-top:0cm" start="1" type="1"><li class="m_-3763384170770419521MsoListParagraph" style="margin-left:0cm">check that all variables has been defined before use. If not, give an error message.<u></u><u></u></li></ol><p class="m_-3763384170770419521MsoListParagraph">You can do this by traversing each statement in the program to check if it uses values that </p><p class="m_-3763384170770419521MsoListParagraph">haven’t been defined before. You can keep track of which variables that has been defined so far in a list, and put new ones to the list when you encounter Assign-statements</p><ol style="margin-top:0cm" start="2" type="1"><li class="m_-3763384170770419521MsoListParagraph" style="margin-left:0cm">check that all output parameters have been given a value when the program has ended<u></u><u></u></li><li class="m_-3763384170770419521MsoListParagraph" style="margin-left:0cm">You don’t care about what the different statements really evaluates to . <u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">As a start: <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">static_analyzer :: BIPLE -> ..<u></u><u></u></p><p class="MsoNormal">..<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Best regards, <u></u><u></u></p><p class="MsoNormal">Eirik<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Sendt fra <a href="https://go.microsoft.com/fwlink/?LinkId=550986" target="_blank" rel="noreferrer">E-post</a> for Windows 10<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p></div></div>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div></div></div>