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
By Simply Ahmazing
!!con 2018 talk