In Progress

Python Program to Produce a LOGO 'Execution Plan'

This job relates to the LOGO Programming Language (if you’d like a full description, there’s one here: [login to view URL]~bh/v2ch14/[login to view URL]). The job required will be to write a program in the Python programming language (v2 or v3 - your choice).

LOGO is implemented slightly differently pretty much everywhere. For the purposes of this project, there is a rather nice open-source online tool here: [login to view URL] This will serve as the ‘reference’ LOGO that we need to support.

I’m in need of a ‘LOGO Execution Planner’. That is, a program which reads some LOGO from a text file and produces an ‘execution plan’ which will ultimately instruct a basic turtle to move around. The turtle has no loop capability, has no conditionals or variables and only understands these commands:

FORWARD

BACKWARD

LEFT

RIGHT

PENUP

PENDOWN

(Where is a positive integer)

The program should be written in Python (v2 or v3 - your choice). It should be a command line tool which reads the source LOGO from a file and outputs a new text file with the Execution Plan in it. Errors and warnings should be emitted to STDOUT. Such messages that relate directly to something in the source LOGO should emit the source code line number of the problem.

The program required will read the source LOGO, strip out comments, execute any loops and thus produce a completely linear output execution plan. Any commands in the source LOGO program that can’t be turned into an output execution (eg. HOME, SETX, SETY, CLEARSCREEN, etc) should emit a warning to STDOUT, but otherwise will not affect the output. Unsupported commands in the source LOGO should cause an error and exit (with a non-zero exit code to the shell).

For example, a simple LOGO program like this:

FORWARD 100

LEFT 90

FORWARD 100

LEFT 90

FORWARD 100

LEFT 90

…will produce an execution plan that looks exactly the same as the source program. However, if the moves in the above code were abbreviated to FW, then the execution plan will still say FORWARD.

Likewise, with a LOGO program like this:

REPEAT 4 [

FW 100

LT 90

]

…then the output execution plan will be the same as in the previous example.

Your code should be readable by a reasonably skilled Python programmer. Whilst not part of this project, it’s possible we may want to support other LOGO language, or additional Execution Plan commands in the future. This should be achievable by a reasonably skilled programmer without having to rework more than a small amount of your code.

Your code should include Unit Tests in any commonly used testing framework you like. We don’t require 100% coverage, but all the complex parts of your code should be well covered.

The finished project should include suitable [login to view URL] and any instructions for making it work, any LOGO examples you want to include etc. There’s no requirement to ‘install’ this as such - so no need to make any [login to view URL] etc (unless you’d prefer to do so).

I can answer any questions you have via *Removed by Admin* as you work on this project. I’ll do my best to get back to you as quickly as possible so as not to hold you up too much. Obviously I’ll try to clarify anything that’s missing or unclear in this brief too!

Correction to the above:

LOGO like this:

REPEAT 4 [
FW 100
LT 90
]

...will make an execution plan like this:

FORWARD 100
LEFT 90
FORWARD 100
LEFT 90
FORWARD 100
LEFT 90
FORWARD 100
LEFT 90

Also, as another example, LOGO to draw a hexagon like this:

repeat 6[fd 50 rt 60]

...would produce an execution plan like this:

FORWARD 50
RIGHT 60
FORWARD 50
RIGHT 60
FORWARD 50
RIGHT 60
FORWARD 50
RIGHT 60
FORWARD 50
RIGHT 60
FORWARD 50
RIGHT 60

Skills: Python, Software Architecture

See more: help writing python program enter payroll information, seo execution plan, program conceptualization design strategic plan, jinja2 generate python code, python code writer, python tutorial, learn python, python code generator template, python programming, python basics, python code generator example, free program designing logo carpentry, python program extract info website, creating restaurant logo floor plan, best program integrate logo banner, python program craps, python program checks validity numbers, interface python program reads csv outputs csv, python program play craps, project execution plan grocery store

About the Employer:
( 1 review ) United Kingdom

Project ID: #17973662

Awarded to:

brokenpylons

Hi, I would be happy to make the transpiler for you. I can use a parser generator or create a custom recursive descent parser, which ever you prefer.

£150 GBP in 7 days
(0 Reviews)
0.0

10 freelancers are bidding on average £201 for this job

leemilun

Hi, Dear. Nice to meet you. I've read your post carefully. I'm Python expert. Please discuss more details by chatting. Regards. Gao M.

£222 GBP in 3 days
(26 Reviews)
5.5
schoudhary1553

I am expert who understands the value of time. I pride myself in my attention to detail. I am very hard working and aim to deliver in less time than quoted. I want to make you, my employer happy without changing my bid More

£210 GBP in 3 days
(34 Reviews)
5.7
NavyaSales

Hello I would be willing to take this up and also give proper code documentation and test framework as suggested by you. I take up limited projects and give value for money output. Please ping me to discuss furthe More

£290 GBP in 7 days
(4 Reviews)
4.9
DarkKnight2206

Hello! I am a python developer. I looked at your project and it seems interesting. I have all necessary skills required for this project. Ping me to discuss in detail.

£135 GBP in 2 days
(23 Reviews)
5.1
aydiincann

.......................................................................................................................................................................................................................... More

£250 GBP in 10 days
(5 Reviews)
2.9
£50 GBP in 1 day
(5 Reviews)
2.7
Atyourservice247

hi This is a very interesting project. It will involve a careful consideration of modules creation thinking about its re use and easy extension. I had a look at the reference logo as well. I think its achievable in fiv More

£277 GBP in 5 days
(1 Review)
1.4
qilinlab

Hello Sir I read your project brief in detail. I remember using Logo in MS DOS when we were kids. :) I guess we can make this for you. Project cost will be a little higher for your requirements for testing and TXT f More

£300 GBP in 7 days
(0 Reviews)
0.0
Yehonatanbh

I'm developing in python for the past few years, however, new to freelancer. this is why my bid is cheap.

£130 GBP in 3 days
(0 Reviews)
0.0