أطلس أوتوكود

أطلس اوتوكود (أأ) (AA) كان لغة برمجة استحدثت تقريبا في سنة 1965 في جامعة مانشستر للكمبيوتر أطلس. وقد استحدثت من قبل توني بروكر وديريك موريس كتحسين للغة البرمجة ، وإزالة بعض من الميزات الأكثر فقرا في ALGOL مثل "تمرير المعالم حسب الاسم ")التي مع60 ALGOL لا تعنى معناها المعتاد ولكن يتم تمرير العنوان بروتين فرعى قصير. لإعادة حساب المعاملة في كل مرة يرد ذكرها).إذا ظهرت بوضوح كتابة المتغيرات والروتين الفرعى والوظائف. يقوم أطلس أوتوكود (أأ) (AA) البرمجى بإنشاء فحص للمدى لمصفوفة الوصول، ويسمح لمصفوفة ان يكون لها وأبعاد التي يتم تحديدها في وقت التشغيل (أي يمكن أن تعرّف مصفوفة كـ codice_1، حيث تم حساب i:j على انهم قيم. حيث كان مسموح بألية الترميز المباشر.
أطلس اوتوكود يشمل نوع بيانات codice_2 التي من شأنها دعم الأعداد المركبة (التي تشكل جزءا حقيقيا، وجزءا وهمي وهو اضعاف من الجذر التربيعي للعدد -1)، وذلك جزئيا بسبب ضغوط من قسم الهندسة الكهربائية، لان الأعداد المركبة تستخدم لتمثيل سلوك التيار المتردد. الجذر التربيعي ل-1 يتم تمثيله بـ codice_3، الذي كان يعامل على أنه ثابت مركب = "i" 
نوع البيانات codice_4 اسقطت عندما تحول أطلس اوتوكود لاحقاً إلى لغة البرمجة ادنبره IMP. (و IMP كانت امتدادا لAA وكانت بارزة لكونها تستخدم لكتابة نظام التشغيل EMAS)
وكانت الكلمات الرئيسية في AA تمييز عن غيرها من النصوص لكونها تحتها خط، وكان هناك أيضا نمط"uppercasedelimiters" المحددات ذات الاحرف الكبيرة حيث كافة الأحرف الكبيرة (خارج السلسلة) يتم علاجها كأحرف صغيرة تحتها خط. 
في بعض الإصدارات (ولكن ليس في إصدار أطلس الأصلي)، من أجل كتابة سهلة كان من الممكن شحذ الكلمات بوضع العلامة "codice_5" أمامهم، على سبيل المثال الكلمة codice_6 يمكن أن يتم كتابتها codice_7 أو codice_8
لا توجد كلمات محجوزة في اللغة على أنها كلمات أساسية يتم تحديد بوضع خط تحتها، ولا من خلال الاعتراف بتسلسل أحرف محفوظة. في العبارة، codice_9 هم الاثنين كلمات أساسية على حد سواء الكلمة codice_10 وإذا ومتغير اسمه codice_10.

وبسبب شحذ الكلمات الأساسية، كان من الممكن ل AA ان تسمح بالمسافات في أسماء المتغيرات، مثل قيمة عددية سابقة. وكانت المسافات ليست كبيرة وأزيلت قبل التحليل في مرحلة ما قبل ليكسنج التافهة وتسمى "اعادة بناء الخط" ما سوف يراه المترجم في المثال أعلاه أن "iftoken=ifthenresult=token".

بناء الجملة للمصطلح سمح باهمال عامل المضاعفة، على سبيل المثال codice_12 كانت تعامل كـ codice_13، وcodice_14 كانت تعامل كـ codice_15 لو لم تكن codice_16 مصفوفة. في الاستخدامات المبهمة، واتخذت أطول اسم ممكن، على سبيل المثال codice_17 لم يكن يعامل كـ codice_18، سواء كانت ظهرت codice_19 أو لم تظهر.

أطلس اوتوكود كان متأثرا بجهاز الإخراج الذي اتاحه له مخترعه، فرايدن فليكسورايتر وبالتالي فإنه يسمح بالرموز مثل "½" يرمز إلى "5." الرمز العلوى مثلا 2 إلى "أس 2" فليكسوريتر دعمت الضرب فوق الرمز وبالتالي AA فعلت كذلك—حتى ثلاثة أحرف يمكن الضرب فوقها كرمز واحد. على سبيل المثال مجموعة أحرف ليس لديها "↑" رمز، وهكذا كانت علامة أسية ضربت فوق "|" و"*". (ويمكن أيضا وضع الخط للكلمات الرئيسية المذكورة أعلاه أن يتم ذلك باستخدام الضرب فوق الرمز) اللغة مشروحة بالتفصيل في الدليل المرجعي لاوتوكود أطلس.

أحرف فليكسورايتر الأخرى التي تم استخدامها في أطلس اوتوكود كانت : α في أرقام الفاصلة العائمة، على سبيل المثال codice_20 للحديثة codice_21 فإن β تعني "النصف الثاني من كلمة الذاكرة لأطلس" ؛ π لعدد بأي الرياضي.

عندما استدارت ال AA إلىKDF9 الإنجليزية الكهربائية الحاسوبية، تم تعديل مجموعة الأحرف إلى أيزو وتعافى المترجم من شريط الورق القديم ادنبره مشروع تاريخ الكمبيوتر وأصبحت متاحة على شبكة الإنترنت، كما هي نسخة ذات جودة عالية من أطلس اوتوكود اليدوي الأصل.

وكان أطلس اوتوكود ثاني أكبر مطالب للشهرة (بعد أن كان سلفا لـ Imp وEMAS) لأن لديه الكثير من الميزات الموجودة في "مترجم التحويل البرمجى" "Compiler Compiler" الأصلي. وهو شكل مختلف من مترجم AA يشمل دعم وقت التنفيذ لمحلل الأصل التكرارى من أعلى إلى أسفل. وكان نوع المحلل في "مترجم التحويل البرمجى" "Compiler Compiler" يستخدم باستمرار في ادنبره في الستينات حتى بداية الألفية.

يوجد برامج ترميز تلقائي autocodes أخرى ل(الكمبيوتر تيتان) (النموذج الأولي أطلس 2) في جامعة كامبريدج وفيرانتى ميكورى.