The Story of Noor
by:
Ahmed Abdalla
@simplyahmaz1ng
Qalb programming language
Author: Ramsey Nasr
Released: 2013
My Goals
Imperative, algol based programming language
Audience
Middle schoolers, high schoolers
range 1-100
foreach
do
in
thing
function invocation & assignment expression
print statement
if statement
"end"
"Instruct a worker"
func name
arg(s)
"to do"
return value
Noor is from here (Sudan)
Arabic dialects
Some approved
Some disapproved
from kivy.app import App
from kivy.uix.textinput import TextInput
class TestApp(App):
def build(self):
self.title = 'Editor'
return TextInput()
TestApp().run()
When I tried to do it in Python...
To Properly Display Arabic Text
Bidi Algorithm
Reshaper
Keyboard/File input
Some nice lookin Arabic!
Unicode Bidirectionality Algorithm (BIDI)
Line dir
Word dir
Arabic Text Reshaping
Memory:
Display:
Lookup table:
Arabic Text Reshaping (ligatures)
time + language hops
Compiler
Interpreter
src code
AST/ByteCode
Stuff happens..
How Noor works
PEG/JS
Grammar
Bidi algorithm
Reshape