Mac compatible/cross-platform version of a defunct windows text processing program

Avg Bid (USD)
Project Budget (USD)
$30 - $250

Project Description:
I desire to recreate a platform-independent (or at least Mac compatible) version of a defunct/abandoned Windows program which is the sole reason I maintain a windows VM on my mac! I believe a java program is probably the best option but am open to other suggestions from the proposer.

The program is a MUSH/MUX softcode formatter/unformatter. Text should be input from either a text file (as specified by the user) or clipboard, processed according to the rules specified below, and output should be sent to either a text file or clipboard as specified.

A brief description of the unformatting rules and some source code in C and Perl can be found here:

A compiled version of mform.exe by Greg Kempe (Windows Only) is attached for reference. I desire to replicate the "Pretty to MUSH and MUSH to Pretty" features.

Unformatting rules:
A line containing only a - denotes the end of an attribute and a new line is started.
A line starting with a # denotes a comment line and is ignored.
Leading spaces and tabs are stripped.
Trailing spaces and tabs are left as is.
A line starting with a " (double quote) denotes a literal string and is handled specially:
- Leading and trailing spaces are preserved (after removing the " character)
- The line is formatted as text (as opposed to code)
- A %r is appended to the end of the line

Formatting rules:
If the line begins with a &:
The line is broken after the first "=" character and indented.
If the next line begins with a $ (ie. it's a command) or a ^ (ie. it's a listening attribute), then the second line is broken at the first ":" character.
If a semicolon - ";" - is found, a new line is begun and indented at the same level as the previous line
If an opening brace - "{" - is found, a new line is begun and indented, the brace is placed on its own line, and another new line is begun, indented further.
If a closing brace - "}" - is found, a new line is begun and indented, the brace is placed in line with its matching opening brace, and another new line is begun and indented.
Whitespace is stripped when occurring after any of the above three characters.
Otherwise, characters are added as is.
Each line is processed independently and the resulting code block is terminated with a - character on a line of its own.

Skills required:
Additional Files:
Hire dbwiddis
Project posted by:
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.

$ 99
in 2 days
Hire csanuragjain
$ 100
in 7 days
$ 60
in 2 days
Hire kidhuvig
$ 80
in 3 days
Hire smbluck
$ 60
in 4 days