กลับไปหน้าบทความ

อ่าน 2 นาที

ตัวประมวลผลมาโครอเนกประสงค์

ตัว ประมวลผลมาโครอเนกประสงค์ หรือ ตัวประมวลผล ล่วงหน้าอเนกประสงค์ คือ ตัวประมวลผล มาโคร ที่ไม่ผูกติดหรือบูรณาการกับภาษาหรือซอฟต์แวร์ใดโดยเฉพาะ

ตัวประมวลผลมาโครอเนกประสงค์

ตัวประมวลผลมาโครอเนกประสงค์หรือตัวประมวลผลล่วงหน้าอเนกประสงค์คือ ตัวประมวลผล มาโครที่ไม่ผูกติดหรือบูรณาการกับภาษาหรือซอฟต์แวร์ใดโดยเฉพาะ

โปรแกรมประมวลผลมาโครคือโปรแกรมที่คัดลอกข้อความจากที่หนึ่งไปยังอีกที่หนึ่ง โดยทำการแทนที่อย่างเป็นระบบในขณะที่คัดลอก โปรแกรมประมวลผลมาโครมักจะถูกฝังอยู่ในโปรแกรมอื่น ๆ เช่น โปรแกรมแอสเซมเบลอร์และคอมไพเลอร์ บางครั้งก็เป็นโปรแกรมแบบสแตนด์อะโลนที่สามารถใช้ประมวลผลข้อความได้ทุกประเภท

โปรแกรมประมวลผลมาโครถูกนำมาใช้สำหรับการขยายภาษา (การกำหนดโครงสร้างภาษาใหม่ที่สามารถแสดงออกได้โดยใช้ส่วนประกอบภาษาที่มีอยู่) สำหรับการแทนที่ข้อความอย่างเป็นระบบที่ต้องอาศัยการตัดสินใจ และสำหรับการจัดรูปแบบข้อความใหม่ (เช่น การดึงข้อมูลแบบมีเงื่อนไขจาก ไฟล์ HTML )

ตัวอย่างของตัวประมวลผลมาโครอเนกประสงค์

ชื่อ ปี คำอธิบาย
จีพีเอ็ม ทศวรรษ 1960 หนึ่งในโปรเซสเซอร์มาโครรุ่นแรกๆ คือ GPM (เครื่องกำเนิดมาโครอเนกประสงค์ ) [ 1 ]เครื่องนี้ได้รับการพัฒนาที่มหาวิทยาลัยเคมบริดจ์ สหราชอาณาจักร ในช่วงกลางทศวรรษ 1960 ภายใต้การกำกับดูแลของคริสโตเฟอร์ สแตรชี
ML/I ทศวรรษ 1960 โปรแกรมประมวลผลมาโครอเนกประสงค์ที่สำคัญอย่างยิ่งตัวหนึ่งคือ (และยังคงเป็นอยู่) ML/I ( Macro Language One ) ซึ่งได้รับการพัฒนาขึ้นเป็นส่วนหนึ่งของการวิจัยระดับปริญญาเอกโดยปีเตอร์ เจ. บราวน์ นักศึกษาปริญญาโทจากมหาวิทยาลัยเคมบริดจ์ ML/I ทำงานกับกระแสข้อมูลตัวอักษร และไม่ต้องการรูปแบบพิเศษใดๆ สำหรับข้อมูลนำเข้า หรือ อักขระ บ่งชี้ พิเศษใดๆ เพื่อแนะนำมาโคร
ขั้นตอนที่ 2 ทศวรรษ 1960 STAGE2 [ 2 ] ซึ่ง เป็น ส่วนหนึ่งของ ระบบการเขียนโปรแกรมมือถือของ William Waite [ 3 ] เป็นระบบที่ร่วมสมัยกับ ML/I เช่นกัน แต่ระบบนี้จะประมวลผลข้อมูลเข้าทีละบรรทัด โดยจับคู่แต่ละบรรทัดกับรูปแบบที่กำหนดไว้ จุดเด่นของระบบนี้คือไม่ขึ้นอยู่กับชุดอักขระ โดยต้องการเพียงแค่ตัวเลข 0-9 อยู่ติดกันและเรียงลำดับตามนั้น (ซึ่งเป็นเงื่อนไขที่ รหัสอักขระ 6 บิตและBCD บาง รหัสในยุคนั้นไม่ตรงตาม)
เอ็ม6 ทศวรรษ 1960 โปรเซสเซอร์มาโครรุ่นแรกได้รับการพัฒนาที่ห้องปฏิบัติการ AT&T Bell โดยDouglas McIlroy , Robert Morrisและ Andrew Hall ได้รับอิทธิพลจาก GPM และTRACใช้งานในFORTRAN IV [ 4 ]และถูกพอร์ตไปยังUnixเวอร์ชัน 2
สโนโบล ทศวรรษ 1960 SNOBOLเป็นภาษาประมวลผลสตริงที่สามารถทำการประมวลผลเบื้องต้นส่วนใหญ่ที่สามารถทำได้โดยตัวประมวลผลมาโครได้
เอ็กซ์ป๊อป XPOP ​​เป็นอีกหนึ่งความพยายามในการสร้างภาษาประมวลผลมาโครทั่วไปโดยมาร์ค ฮัลเปอร์น ที่ IBM ในช่วงทศวรรษ 1960
ทีทีเอ็ม 1968 TTMเป็นภาษาแบบเรียกซ้ำและตีความได้ ซึ่งออกแบบมาเพื่อการจัดการสตริง การแก้ไขข้อความ การกำหนดและการขยายมาโคร และแอปพลิเคชันอื่นๆ ที่โดยทั่วไปจัดอยู่ในประเภทการเขียนโปรแกรมระบบ พัฒนาขึ้นในปี 1968 โดย Steven Caine และ E. Kent Gordon ที่สถาบันเทคโนโลยีแคลิฟอร์เนียโดยส่วนใหญ่มาจาก GAP [ 5 ]และ GPM [ 1 ]
จีเอ็มพี ทศวรรษ 1970 ความพยายามอีกครั้งหนึ่งคือ GMP (General Macro Processor) ซึ่งพัฒนาขึ้นในช่วงกลางทศวรรษ 1970 โดย M Boule ในแผนก DLB/GC ของบริษัท CII โดยอาศัยแนวคิดจาก RJ Chevance เวอร์ชันแรกได้รับการทดสอบร่วมกับมหาวิทยาลัย Bordeaux I และทำงานบนระบบ SIRIS8/IRIS80 ต่อมาได้มีการพอร์ตไปยังระบบ mini6 และเป็นส่วนประกอบหลักในการสร้างระบบสำหรับคอมพิวเตอร์ตระกูลนี้ โปรเซสเซอร์ GMP ใช้ไวยากรณ์ C2-Chomsky ในการกำหนดไวยากรณ์ของมาโคร และใช้ภาษาเชิงคำสั่งในการคำนวณและดำเนินการขยายมาโคร
เอ็ม4 พ.ศ. 2520 m4ได้รับการออกแบบและเขียนด้วยภาษา CสำหรับUnixโดยDennis Ritchieและแปลงเป็นRatforโดยBrian Kernighan [ 6 ]
เอเลน่า ซอฟต์แวร์: การปฏิบัติและประสบการณ์เล่มที่ 14 หน้า 519–531 มิถุนายน 1984
เกมา พ.ศ. 2538 gema เป็นตัวประมวลผลมาโครตามบริบทที่ใช้การจับคู่รูปแบบ เขียนโดย David N. Gray โดยจะแทนที่/ปรับปรุงแนวคิดของนิพจน์ปกติด้วยบริบท บริบทโดยประมาณจะสอดคล้องกับชุดรูปแบบที่มีชื่อ ดังนั้น มาโครใน gema จึงมีลักษณะคล้ายกับคำอธิบายEBNF มาก [ 7 ]
จีพีพี พ.ศ. 2539 gpp เป็นตัวประมวลผลมาโครทั่วไปอีกตัวหนึ่งที่เขียนโดย Denis Auroux มันคล้ายกับพรีโปรเซสเซอร์ของภาษา C แต่มีความหมายทั่วไปมากกว่าและอนุญาตให้ใช้ไวยากรณ์ที่กำหนดเองได้ (ตัวอย่างเช่น สามารถกำหนดสคริปต์ TeX , XHTMLและPrologได้) [ 8 ]
เอ็ม5 1999 m5 เป็นโปรแกรมประมวลผลมาโครอเนกประสงค์ที่เขียนโดย William A. Ward Jr. แตกต่างจากโปรแกรมประมวลผลมาโครอื่นๆ หลายตัว m5 ไม่ได้ตีความอินพุตโดยตรง แต่ใช้วิธีการประมวลผลสองขั้นตอน โดยขั้นตอนแรกจะแปลงอินพุตเป็น โปรแกรม awkและขั้นตอนที่สองจะเรียกใช้โปรแกรม awk เพื่อสร้างผลลัพธ์สุดท้าย
pyexpander 2011 pyexpander เป็นโปรแกรมประมวลผลมาโครอเนกประสงค์ที่พัฒนาขึ้นโดยใช้ ภาษาโปรแกรม Pythonนอกจากการแทนที่มาโครแบบง่ายแล้ว ยังสามารถประเมินนิพจน์ Python ใดๆ และเรียกใช้โค้ด Python ได้อีกด้วย
ตัวประกอบข้อความ 2014 Text Assembler เป็นตัวประมวลผลข้อความ/มาโครอเนกประสงค์ที่ใช้ ภาษาการเขียนโปรแกรม JavaScriptนอกเหนือจากการแทนที่มาโครแบบง่ายๆ แล้ว ยังช่วยให้สามารถประเมินนิพจน์ JavaScript ใดๆ และเรียกใช้โค้ด JavaScript ได้อีกด้วย นอกจากนี้ยังสามารถโหลดโมเดลข้อมูล JSON สำหรับงานประมวลผลข้อความที่ซับซ้อนมากขึ้นซึ่งขับเคลื่อนด้วยข้อมูลได้อีกด้วย[ 9 ]
พีพี 2016 PP เป็นตัวประมวลผลข้อความล่วงหน้าที่ออกแบบมาสำหรับPandoc (และโดยทั่วไปสำหรับ Markdown และ reStructuredText) PP ดำเนินการดังต่อไปนี้: มาโคร การเขียนโปรแกรมแบบมีคำอธิบายGraphViz แผนภาพ PlantUMLและ ditaa สคริปต์Bash, Cmd , PowerShell , PythonและHaskell [ 10 ]
มินิแมค minimac เป็นตัวประมวลผลมาโครอเนกประสงค์แบบมินิมัลลิสต์ ทำงานเป็นตัวกรองสตรีมอักขระ ขยายมาโครแบบเรียกซ้ำเมื่อพบเจอ มีลักษณะพิเศษที่แตกต่างจากตัวประมวลผลมาโครทั่วไปตรงที่ใช้สแต็กอาร์กิวเมนต์แบบชัดเจน และฟังก์ชันของผู้ใช้ถูกกำหนดโดยการต่อกัน (คล้ายกับ ภาษา Forth ) [ 11 ]
aa_macro 2017 aa_macro เป็นภาษาประมวลผลข้อความแบบสตรีมอักขระแบบโอเพนซอร์สที่เขียนด้วย Python ข้อความจะถูกประมวลผลจากซ้ายไปขวา จากภายในสู่ภายนอก ฟังก์ชันในตัวที่กำหนดไว้ล่วงหน้าบางส่วนจะให้กลไกการประมวลผลพื้นฐานที่สามารถใช้ได้โดยตรงหรือเป็นองค์ประกอบของสไตล์ที่ผู้ใช้กำหนด ภาษานี้สามารถขยายได้โดยผู้ใช้ และมี wtfm ซึ่งเป็นตัวห่อการเตรียมเอกสารบนเว็บแบบโอเพนซอร์สสำหรับภาษานี้[ 12 ] [ 13 ]

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=General-purpose_macro_processor&oldid=1345365370 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ตัวประมวลผลมาโครอเนกประสงค์

ตัว ประมวลผลมาโครอเนกประสงค์ หรือ ตัวประมวลผล ล่วงหน้าอเนกประสงค์ คือ ตัวประมวลผล มาโคร ที่ไม่ผูกติดหรือบูรณาการกับภาษาหรือซอฟต์แวร์ใดโดยเฉพาะ

ตัวอย่างของตัวประมวลผลมาโครอเนกประสงค์

ชื่อ ปี คำอธิบาย จีพีเอ็ม ทศวรรษ 1960 หนึ่งในโปรเซสเซอร์มาโครรุ่นแรกๆ คือ GPM ( เครื่องกำเนิดมาโครอเนกประสงค์ ) [ 1 ] เครื่องนี้ได้รับการพัฒนาที่มหาวิทยาลัยเคมบริดจ์ สหราชอาณาจักร ในช่วงกลางทศวรรษ 1960 ภายใต้การกำกับดูแลของ คริสโตเฟอร์ สแตร ชี ML/I ทศวรรษ...

ดูเพิ่มเติม

มาโคร (วิทยาการคอมพิวเตอร์) – กฎสำหรับการแทนที่ค่าอินพุตที่กำหนดด้วยค่าเอาต์พุตที่กำหนด ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=General-purpose_macro_processor&oldid=1345365370 "