Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100755 84 lines (63 sloc) 4.29 kB
3879de3 @trishume removed dev tag
trishume authored
1 #Open Turing 1.0
1507c27 @trishume bigger download link
trishume authored
2 ####Download: https://github.com/downloads/Open-Turing-Project/OpenTuring/package.zip
3 #####Current lead maintainer: Tristan Hume
4
3d3ff5b @trishume Made Readme better
trishume authored
5
645eae1 @trishume some profiling and documentation/readme
trishume authored
6
7 Open Turing is an open-source implementation of Turing for Windows.
a19ed0c @trishume updated read me
trishume authored
8 I (Tristan Hume) acquired the source code from Tom West, the last maintainer of the project.
9 This version is backwards-compatible with normal turing.
645eae1 @trishume some profiling and documentation/readme
trishume authored
10
11 As well as being open-source it is also faster and has more features.
12 Unfortunately, at the moment many of these features are undocumented.
13 Look at the "How to Learn About New Features" section for more info.
14
15 ###Partial change log:
16 * Up to a 40% speed increase. (depends on program)
17 * Built in hash maps
18 * Basic OpenGL 3D. Beta, no input.
19 * Command line invocation with turing.exe -run file.t
20 * New splash and logo
21
3d3ff5b @trishume Made Readme better
trishume authored
22 ###To Get/Download It:
23 * Download the zip: https://github.com/downloads/Open-Turing-Project/OpenTuring/package.zip
24 * Or look in the downloads tab
ef99c25 @trishume better read me
trishume authored
25 * If you want the development release, click the "master" button and switch to the dev branch, click the zip button, download it and look in the /turing/test folder.
645eae1 @trishume some profiling and documentation/readme
trishume authored
26
27 ###How to Learn About New Features
28
29 Look in the support/predefs folder of the distribution. If you see an interesting looking module name, open the file in turing.
30
31 Read the functions in the module. I.E the Hashmap.tu module has the functions for using hashmaps. The GL.tu file has OpenGL functions.
32
96f17ab @trishume fixed examples directory
trishume authored
33 For usage examples (helpful!) look in the Examples/Open Turing folder. These may not exist for every feature.
645eae1 @trishume some profiling and documentation/readme
trishume authored
34
35 ###Support policy (Or lack thereof)
36 * If the editor crashes it will show an email. Send panic.log to the email and describe how the crash happened.
37 * You can also go to the "Issues" tab and post an issue.
38 * Otherwise, ask for help on http://compsci.ca/
39
40 ##For Programmers/Developers/Writers/People who want to help out.
41
42 ###How it works
43
44 The Turing environment is written in C with some parts as C compiled from Turing Plus.
45 Compiling is done through a MS Visual C++ 2010 project (works with express.)
46
47 It compiles turing code to bytecode which is executed with a VM.
48 If you don't know what that means, go add library functions but don't mess with the language itself.
49
50 The main file for the project is /turing/turing.sln this contains the various sub-projects.
51 The main executable is the "Turing" subproject. The standalone executable project is called "Prolog."
52 To get a fully working release with your changes you must compile both of these. For testing (if you don't need standalone executables) you only have to compile the "Turing" project.
53
54 ####Various other sub-projects:
55 * MIO - The main library. Includes things like Sprites, Drawing, Input, etc...
56 * Editor - The IDE. Located in the /ready folder but accessed from the main project.
57 * TLib - Standard library for compiled turing plus
58 * Coder/Compiler - Translates from turing code to bytecode.
59 * Executor - The bytecode VM.
60 * Interperer - The link between the compiler and executor.
61
62 ####Things you should care about:
63 * To add library functions:
64 1. Add a file to the MIO project. Remember to use MIO prefixes, look at one of the existing files (I.E miofont.c)
65 2. MIO prefix = platform independent (or mostly independent.) MDIO = Windows only.
66 3. Write wrappers for your functions in "miowrapper.c". Look at the other wrappers for examples.
67 4. Add your functions to lookup.c (I think it's in the Coder project.) Remember, the functions must be in alphabetical order.
68 5. Write a turing module file that uses "external" declarations to declare the functions using the identifiers you used in lookup.c
69 6. Put the file in the support/predefs folder and put the file name in support/predefs/predefs.lst
70 * The main projects you should care about are Editor, MIO, Executor, Compiler and Coder.
71 * The VS project builds to /turing/test
72 * I (Tristan) figured all this out with almost no instruction. So you should be OK.
73
74 ###How to Submit Contributions:
75 1. Get github! (Seriously, it's awesome.)
ef99c25 @trishume better read me
trishume authored
76 2. Look at some turorials on using github
3879de3 @trishume removed dev tag
trishume authored
77 2. Fork the **development** branch
645eae1 @trishume some profiling and documentation/readme
trishume authored
78 3. Commit changes to your fork.
79 4. Send a pull request with your changes.
80 5. If your changes are any good they will be included in the main distribution.
81
82 ###How Can I Help?
5a9d514 @trishume better helping
trishume authored
83
84 Look in the issues tab. Either fix things or add new features listed there.
Something went wrong with that request. Please try again.