Originally intended for writing compilers for other languages, BCPL is การแปล - Originally intended for writing compilers for other languages, BCPL is ไทย วิธีการพูด

Originally intended for writing com

Originally intended for writing compilers for other languages, BCPL is no longer in common use. However, its influence is still felt because a stripped down and syntactically changed version of BCPL, called B, was the language on which the C programming language was based. This led many C programmers to give BCPL the humorous backronym Before C Programming Language.[1]

BCPL was the first brace programming language, and the braces survived the syntactical changes and have become a common means of denoting program source code statements. In practice, on limited keyboards of the day, source programs often used the sequences $( and $) in place of the symbols { and }. The single-line '//' comments of BCPL, which were not adopted by C, reappeared in C++, and later in C99.

BCPL was a response to difficulties with its predecessor Combined Programming Language (CPL), created during the early 1960s. Richards created BCPL by "removing those features of the full language which make compilation difficult". The first compiler implementation, for the IBM 7094 under Compatible Time-Sharing System (CTSS), was written while Richards was visiting Project MAC at the Massachusetts Institute of Technology (MIT) in the spring of 1967. The language was first described in a paper presented to the 1969 Spring Joint Computer Conference.

It was designed so that small and simple compilers could be written for it; reputedly some compilers could be run in 16 kilobytes. Further, the Richards compiler, itself written in BCPL, was easily portable. BCPL was thus a popular choice for bootstrapping a system.

A major reason for the compiler's portability lay in its structure. It was split into two parts: the front end parsed the source and generated O-code for a virtual machine, and the back end took the O-code and translated it into the code for the target machine. Only 1/5 of the compiler's code needed to be rewritten to support a new machine, a task that usually took between 2 and 5 man-months. This approach became common practice later, e.g., Pascal or Java, but the Richards BCPL compiler was the first to define a virtual machine for this purpose.

The language is unusual in having only one data type: a word, a fixed number of bits, usually chosen to align with the architecture's machine word and of adequate capacity to represent any valid storage address. For many machines of the time, this data type was a 16-bit word. This choice later proved to be a significant problem when BCPL was used on machines in which the smallest addressable item was not a word, but a byte or on machines with larger word sizes: 32-bit and 64-bit words, which allowed them to manage large address spaces.

The interpretation of any value was determined by the operators used to process the values. (For example, + added two values together treating them as integers; ! indirected through a value, effectively treating it as a pointer.) In order for this to work, the implementation provided no type checking. The Hungarian notation was developed to help programmers avoid inadvertent type errors.

The mismatch between BCPL's word orientation and byte-oriented hardware was addressed in several ways. One was providing standard library routines for packing and unpacking words into byte strings. Later, two language features were added: the bit-field selection operator and the infix byte indirection operator (denoted by the '%' character).

BCPL handles bindings spanning separate compilation units in a unique way. There are no user-declarable global variables; instead there is a global vector, which is similar to "blank common" in Fortran. All data shared between different compilation units comprises scalars and pointers to vectors stored in a pre-arranged place in the global vector. Thus the header files (files included during compilation using the "GET" directive) become the primary means of synchronizing global data between compilation units, containing "GLOBAL" directives that present lists of symbolic names, each paired with a number that associates the name with the corresponding numerically addressed word in the global vector. As well as variables, the global vector also contains bindings for external procedures. This makes dynamic loading of compilation units very simple to achieve. Instead of relying on the link loader of the underlying implementation, effectively BCPL gives the programmer control of the linking process.

The global vector also made it very simple to replace or augment standard library routines. A program could save the pointer from the global vector to the original routine and replace it with a pointer to an alternative version. The alternative might call the original as part of its processing. This could be used as a quick ad-hoc debugging aid.

The philosophy of BCPL can be summarised by quoting from the book BCPL, the language and its compiler:

The philosophy of BCPL is not one of the tyrant who thinks he knows best and lays down the law on what is and what is not allowed; rather, BCPL acts more as a servant offering his services to the best of his ability without complaint, even when confronted with apparent nonsense. The programmer is always assumed to know what he is doing and is not hemmed in by petty restrictions.

The design, and philosophy, of BCPL strongly influenced B, which in turn influenced C.

There are rumours that BCPL actually stood for "Bootstrap Cambridge Programming Language", however CPL was never created since development stopped at BCPL, and the acronym was reinterpreted for the BCPL book.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
เดิม ใช้สำหรับการเขียนคอมไพเลอร์สำหรับภาษาอื่น ๆ BCPL ไม่ร่วมใช้ อย่างไรก็ตาม อิทธิพลเป็นยังรู้สึกว่าเนื่องจากการปล้นลง และข้อเปลี่ยนรุ่น BCPL เรียกว่า B เป็นภาษามีพื้นฐานภาษา C นี้นำมากโปรแกรมเมอร์ C ให้ BCPL backronym อารมณ์ขันก่อน C การเขียนโปรแกรมภาษา[1]BCPL วงเล็บปีกกาแรกภาษาการเขียนโปรแกรม และวงเล็บเปลี่ยนแปลง syntactical รอดชีวิต และได้กลายเป็น วิธีการทั่วไปกำหนดเรียกค่างบรหัสต้นทางโปรแกรม ในทางปฏิบัติ บนคีย์บอร์ดจำกัดวัน โปรแกรมต้นทางมักจะใช้ลำดับ $(และ $) สัญลักษณ์ {และ} บรรทัดเดียว ' / /' reappeared เห็น BCPL ซึ่งไม่ได้รับรอง โดย C, c ++, และ ใน C99การตอบสนองต่อความยากลำบากกับบรรพบุรุษ Combined เขียนโปรแกรมภาษา (ของ CPL), สร้างขึ้นในช่วงปี 1960 ก่อน BCPL ได้ ริชาร์ดสร้าง BCPL โดย "เอาคุณลักษณะเหล่านั้นภาษาเต็มที่ทำให้คอมไพล์ยาก" ใช้คอมไพเลอร์ที่แรก สำหรับ IBM 7094 ภายใต้รุ่น Time-Sharing ระบบ (CTSS), ถูกเขียนในขณะที่ริชาร์ดได้เยี่ยมชมโครงการ MAC ที่สถาบันเทคโนโลยีแมสซาชูเซตส์ (MIT) ในฤดูใบไม้ผลิค.ศ. 1967 ภาษาถูกแรกอธิบายไว้ในเอกสารแสดง 1969 สปริงร่วมคอมพิวเตอร์ประชุมสัมมนามันถูกออกแบบมาเพื่อให้สามารถเขียนคอมไพเลอร์ขนาดเล็ก และง่ายสำหรับ ลดบางคอมไพเลอร์สามารถรันใน 16 กิโลไบต์ เพิ่มเติม ริชาร์ดคอมไพเลอร์ ตัวเขียน BCPL ถูกพกพาง่าย BCPL จึงเป็นตัวเลือกยอดนิยมสำหรับ bootstrapping ระบบเหตุผลหลักสำหรับพอร์ตของคอมไพเลอร์วางในโครงสร้าง จะถูกแบ่งออกเป็นสองส่วน: ส่วนหน้าแยกแหล่งที่มา และสร้างรหัส O สำหรับเครื่องเสมือน และสิ้นสุดหลังเอารหัส O แปลเป็นรหัสสำหรับเครื่องเป้าหมาย 1 เพียง 5 รหัสของคอมไพเลอร์ต้องถูกจิตเพื่อสนับสนุนเครื่องจักรใหม่ งานที่มักจะใช้เวลาระหว่าง 2 และ 5 man-months วิธีการนี้ได้กลายเป็น ขนบภายหลัง เช่น ปาสกาลหรือ Java แต่คอมไพเลอร์ BCPL ริชาร์ดคนแรกกำหนดเครื่องเสมือนสำหรับวัตถุประสงค์นี้ภาษาเป็นปกติมีชนิดข้อมูลเดียว: คำ จำนวนบิต มักจะเลือกการจัดตำแหน่ง ด้วยคำของสถาปัตยกรรมเครื่อง และกำลังการผลิตเพียงพอเพื่อแสดงที่อยู่การจัดเก็บที่ถูกต้อง สำหรับเครื่องในเวลา ชนิดข้อมูลนี้ถูกคำ 16 บิต ตัวเลือกนี้ภายหลังพิสูจน์ได้ว่า ปัญหาสำคัญเมื่อใช้ BCPL เครื่องในซึ่ง สินค้าแอดเดรสน้อยที่สุดที่ไม่ใช่คำ แต่ไบต์ หรือ บนเครื่องที่มี word ขนาดใหญ่: 32 บิต และ 64 บิตคำ ซึ่งได้รับอนุญาตให้จัดการช่องว่างที่อยู่ขนาดใหญ่การตีความของค่าใด ๆ ที่ถูกกำหนด โดยผู้ประกอบการที่ใช้การประมวลผลค่า (สำหรับตัวอย่าง + เพิ่มค่าสองค่าร่วมกันรักษาไว้เป็นจำนวนเต็ม; ! indirected ผ่านค่า รักษาอย่างมีประสิทธิภาพเป็นตัวชี้) การงาน ใช้งานให้ตรวจสอบชนิดไม่ สัญกรณ์ฮังการีได้รับการพัฒนาเพื่อช่วยหลีกเลี่ยงข้อผิดพลาดชนิดโดยโปรแกรมเมอร์ตรงแนวคำของ BCPL และแปลกไบต์ฮาร์ดแวร์มีอยู่หลายวิธี หนึ่งได้ให้คำสั่งไลบรารีมาตรฐานสำหรับบรรจุภัณฑ์ และแยกคำในสายอักขระไบต์ ภายหลัง เพิ่มคุณลักษณะภาษาที่สอง: ตัวดำเนินการบิตฟิลด์ตัวเลือกและตัวดำเนินการ indirection ไบต์ infix ที่ (สามารถบุ ด้วยอักขระ '%')BCPL จัดการรวมรัฐหน่วยคอมไพล์แยกในลักษณะเฉพาะ มีแปรสากลไม่ผู้ใช้ declarable แต่ มีเวกเตอร์ทั่วโลก ซึ่งคล้ายกับ "ว่างเปล่าทั่วไป" ในภาษาฟอร์แทรน ร่วมกันระหว่างหน่วยต่าง ๆ รวบรวมข้อมูลทั้งหมดประกอบด้วย scalars และตัวชี้ไปยังเวกเตอร์ที่จัดเก็บในที่จัดไว้ในเวกเตอร์ส่วนกลาง ดังนั้นหัวข้อแฟ้ม (แฟ้มอยู่ในระหว่างการคอมไพล์โดยใช้คำสั่ง "รับ") เป็น วิธีการหลักของการซิงโครไนส์ข้อมูลระหว่างหน่วยคอมไพล์ ประกอบด้วยคำสั่ง "สากล" ที่แสดงรายการของชื่อสัญลักษณ์สากล จับคู่กับหมายเลขที่เชื่อมโยงชื่อกับการสอดคล้องกับเรียงตามตัวเลขแต่ละส่งคำในเวกเตอร์ส่วนกลาง และตัวแปร เวกเตอร์ส่วนกลางยังประกอบด้วยผูกสำหรับกระบวนงานภายนอก ทำการโหลดแบบไดนามิกของหน่วยคอมไพล์ง่ายมากที่จะประสบความสำเร็จ แทนการพึ่งโหลดลิงค์ของแบบ ประสิทธิภาพ BCPL ให้ควบคุมโปรแกรมเมอร์ของกระบวนการเชื่อมโยงเวกเตอร์ส่วนกลางยังทำให้มันง่ายมากที่จะเปลี่ยน หรือเพิ่มคำสั่งไลบรารีมาตรฐาน โปรแกรมสามารถบันทึกตัวชี้จากเวกเตอร์สากลประจำฉบับ และแทนที่ ด้วยตัวชี้ไปรุ่นอื่น ทางเลือกอาจเรียกเดิมเป็นส่วนหนึ่งของการประมวลผล นี้สามารถใช้ความช่วยเหลือดีบักกิจด่วนปรัชญาของ BCPL สามารถ summarised โดยอ้างอิงจากหนังสือ BCPL ภาษา และคอมไพเลอร์ของ: ปรัชญาของ BCPL ไม่ทรราชที่คิดว่า เขารู้ดีที่สุด และวางลงตามกฎหมายคืออะไรและอะไรไม่ได้ ค่อนข้าง BCPL ทำหน้าที่ยิ่งเป็นข้าราชการที่เสนอบริการของเขากับความสามารถของเขาโดยไม่มีการร้องเรียน แม้เผชิญกับเหลวไหลชัดเจน เสมอมีสมมติโปรแกรมเมอร์ที่รู้สิ่งที่เขาได้ทำ และไม่ต้อง hemmed ใน โดย petty จำกัดการออกแบบ และปรัชญา BCPL ขอผล B ซึ่งจะมีผลต่อซีมีข่าวลือที่ BCPL จริงยืนสำหรับ "Bootstrap เคมบริดจ์เขียนภาษา" แต่สร้างของ CPL ไม่เคยตั้งแต่พัฒนาหยุดที่ BCPL และคำย่อคือ reinterpreted สำหรับสมุด BCPL
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
เดิมทีตั้งใจสำหรับคอมไพเลอร์เขียนภาษาอื่น ๆ BCPL ไม่ได้อยู่ในการใช้งานทั่วไป อย่างไรก็ตามอิทธิพลของมันจะยังคงรู้สึกว่าเพราะปล้นลงและเปลี่ยนแปลง syntactically รุ่นของ BCPL เรียกว่า B เป็นภาษาที่เขียนโปรแกรมภาษา C เป็นไปตาม นี้นำโปรแกรมเมอร์ C จำนวนมากเพื่อให้ BCPL backronym อารมณ์ขันก่อนที่จะเขียนโปรแกรมภาษาซีภาษา. [1] BCPL เป็นรั้งแรกภาษาโปรแกรมและวงเล็บรอดชีวิตจากการเปลี่ยนแปลงการสร้างประโยคและได้กลายเป็นวิธีการทั่วไปของงบแสดงถึงรหัสที่มาของโปรแกรม ในทางปฏิบัติบนแป้นพิมพ์ จำกัด ในวันนี้โปรแกรมที่มามักจะใช้ลำดับ $ (และ $) ในสถานที่ของสัญลักษณ์ {และ} บรรทัดเดียว '//' ความเห็นของ BCPL ซึ่งไม่ได้ถูกนำไปใช้โดยซีปรากฏใน C ++ และต่อมาใน C99. BCPL คือการตอบสนองต่อปัญหากับบรรพบุรุษของการเขียนโปรแกรมภาษาชั่น (CPL) สร้างขึ้นในช่วงต้นปี 1960 ริชาร์ดสร้าง BCPL โดย "เอาคุณสมบัติเหล่านั้นของภาษาเต็มรูปแบบที่ทำให้การรวบรวมยาก" การดำเนินการคอมไพเลอร์แรกสำหรับ IBM 7094 ภายใต้การเข้ากันได้ของระบบ Time-Sharing (CTSS) ถูกเขียนในขณะที่ริชาร์ดได้รับการเข้าเยี่ยมชมโครงการ MAC ที่ Massachusetts Institute of Technology (MIT) ในฤดูใบไม้ผลิของปี 1967 ภาษาเป็นครั้งแรกในกระดาษ . นำเสนอให้กับฤดูใบไม้ผลิ 1969 ร่วมประชุมคอมพิวเตอร์มันถูกออกแบบมาเพื่อให้คอมไพเลอร์ขนาดเล็กและง่ายสามารถเขียนมัน; โด่งดังคอมไพเลอร์บางคนอาจจะทำงานใน 16 กิโลไบต์ นอกจากนี้คอมไพเลอร์ริชาร์ดเองเขียนใน BCPL เป็นแบบพกพาได้อย่างง่ายดาย BCPL จึงเป็นทางเลือกที่นิยมสำหรับ bootstrapping ระบบ. เหตุผลหลักสำหรับการพกพาคอมไพเลอร์ที่อยู่ในโครงสร้างของมัน มันถูกแบ่งออกเป็นสองส่วนคือส่วนหน้าแจงแหล่งที่มาและสร้าง O-รหัสสำหรับเครื่องเสมือนและปลายด้านหลังเอา O-รหัสและแปลมันเป็นรหัสสำหรับเครื่องเป้าหมาย เพียง 1/5 ของรหัสของคอมไพเลอร์จะต้องเขียนใหม่เพื่อรองรับเครื่องใหม่งานที่มักจะใช้เวลาระหว่าง 2 และ 5 เดือนที่มนุษย์ วิธีการนี้จะกลายเป็นวิธีการทั่วไปในภายหลังเช่น Pascal หรือ Java แต่คอมไพเลอร์ริชาร์ด BCPL เป็นครั้งแรกเพื่อกำหนดเครื่องเสมือนเพื่อการนี้. ภาษาเป็นเรื่องปกติในการมีเพียงหนึ่งชนิดข้อมูล: คำจำนวนคงที่ของบิต มักจะเลือกเพื่อให้สอดคล้องกับคำเครื่องสถาปัตยกรรมและของกำลังการผลิตเพียงพอที่จะเป็นตัวแทนของการจัดเก็บข้อมูลที่อยู่ที่ถูกต้อง สำหรับเครื่องจำนวนมากของเวลาที่ชนิดข้อมูลนี้เป็นคำ 16 บิต ตัวเลือกนี้ในภายหลังพิสูจน์แล้วว่าเป็นปัญหาที่สำคัญเมื่อ BCPL ถูกนำมาใช้ในเครื่องที่มีขนาดเล็กที่สุดรายการแอดเดรสไม่ได้คำ แต่ไบต์หรือบนเครื่องที่มีขนาดใหญ่คำ: 32 บิตและคำ 64 บิตซึ่งได้รับอนุญาตให้พวกเขา บริหารและจัดการพื้นที่ที่อยู่ขนาดใหญ่. ความหมายของค่าใด ๆ ที่ถูกกำหนดโดยผู้ประกอบการที่ใช้ในการประมวลผลค่า (ตัวอย่างเช่น + เพิ่มอีกสองค่าร่วมกันรักษาพวกเขาเป็นจำนวนเต็ม;!. indirected ผ่านค่าได้อย่างมีประสิทธิภาพรักษามันเป็นตัวชี้) เพื่อให้การทำงานดำเนินการให้ตรวจสอบไม่มี สัญกรณ์ฮังการีได้รับการพัฒนาที่จะช่วยให้หลีกเลี่ยงข้อผิดพลาดโปรแกรมเมอร์ชนิดโดยไม่ได้ตั้งใจ. ไม่ตรงกันระหว่างการวางแนวทางคำ BCPL และฮาร์ดแวร์ไบต์ที่มุ่งเน้นการได้รับการแก้ไขในหลายวิธี หนึ่งถูกให้ประจำห้องสมุดมาตรฐานสำหรับการบรรจุและการเอาออกคำเป็นสตริงไบต์ หลังจากนั้นสองคุณสมบัติภาษาถูกเพิ่ม:. ผู้ประกอบการเลือกข้อมูลบิตและผู้ประกอบการมัดไบต์ร้าย (แสดงโดยตัวละคร '%') BCPL จัดการผูกทอดหน่วยรวบรวมแยกจากกันในทางที่ไม่ซ้ำ ไม่มีการใช้ declarable ตัวแปรทั่วโลกคือ แทนที่จะมีเวกเตอร์ระดับโลกซึ่งจะคล้ายกับ "ว่างเปล่าทั่วไป" ใน Fortran ข้อมูลทั้งหมดที่ใช้ร่วมกันระหว่างหน่วยงานที่รวบรวมที่แตกต่างกันประกอบด้วยสเกลาร์และชี้ไปยังเวกเตอร์ที่เก็บไว้ในสถานที่ที่มีการจัดเตรียมในเวกเตอร์ทั่วโลก ดังนั้นไฟล์ส่วนหัว (ไฟล์ที่รวมอยู่ในระหว่างการรวบรวมโดยใช้ "GET" สั่ง) กลายเป็นวิธีการหลักของการอัพเดทข้อมูลทั่วโลกระหว่างหน่วยงานที่รวบรวมที่มี "GLOBAL" คำสั่งที่แสดงรายการปัจจุบันของชื่อสัญลักษณ์แต่ละคู่กับหมายเลขที่เชื่อมโยงกับชื่อ คำที่เกี่ยวข้องที่ตัวเลขในเวกเตอร์ทั่วโลก เช่นเดียวกับตัวแปรเวกเตอร์ทั่วโลกนอกจากนี้ยังมีการผูกสำหรับขั้นตอนภายนอก นี้จะทำให้การโหลดแบบไดนามิกของหน่วยรวบรวมง่ายมากที่จะประสบความสำเร็จ แทนที่จะอาศัยการเชื่อมโยงการตักของการดำเนินงานพื้นฐานได้อย่างมีประสิทธิภาพ BCPL ให้การควบคุมโปรแกรมของกระบวนการเชื่อมโยง. เวกเตอร์ทั่วโลกนอกจากนี้ยังทำให้มันง่ายมากที่จะเปลี่ยนหรือเพิ่มประจำห้องสมุดมาตรฐาน โปรแกรมสามารถบันทึกตัวชี้จากเวกเตอร์ทั่วโลกเพื่อตามปกติเดิมและแทนที่ด้วยตัวชี้ไปยังรุ่นอื่น ทางเลือกที่อาจจะเรียกเดิมเป็นส่วนหนึ่งของการประมวลผล นี้สามารถนำมาใช้เป็นเครื่องช่วยตรวจแก้จุดบกพร่องเฉพาะกิจอย่างรวดเร็ว. ปรัชญาของ BCPL สามารถสรุปได้โดยการอ้างจาก BCPL หนังสือภาษาและคอมไพเลอร์ของ: ปรัชญาของ BCPL ไม่ได้หนึ่งของเผด็จการที่คิดว่าเขารู้ดีที่สุดและวาง ลงกฎหมายที่เกี่ยวกับสิ่งที่เป็นและสิ่งที่ไม่ได้รับอนุญาต; ค่อนข้าง BCPL ทำหน้าที่มากขึ้นเป็นคนรับใช้ของเขานำเสนอบริการที่ดีที่สุดของความสามารถของเขาโดยไม่ปริปากบ่นแม้เมื่อเผชิญกับเรื่องไร้สาระที่ชัดเจน โปรแกรมจะถือว่าเสมอที่จะรู้ว่าสิ่งที่เขาทำและไม่ได้เรียงรายด้วยข้อ จำกัด ในลหุโทษ. การออกแบบและปรัชญาของ BCPL อิทธิพล B ซึ่งจะได้รับอิทธิพลซีมีข่าวลือว่า BCPL จริงยืน "Bootstrap เคมบริดจ์มีการเขียนโปรแกรม ภาษา "แต่ CPL ก็ไม่เคยสร้างขึ้นตั้งแต่การพัฒนาหยุดที่ BCPL และตัวย่อที่ถูกตีความใหม่สำหรับหนังสือ BCPL

























การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
ตั้งใจเดิมสำหรับการเขียนคอมไพเลอร์สำหรับภาษา อื่น ๆ , บีซีพีแ ลไม่ใช้ร่วมกัน อย่างไรก็ตาม อิทธิพลของมันจะยังคงรู้สึกเพราะเป็นปล้นลงและการเปลี่ยนรุ่นของบีบีซีพีแ ล เรียกว่า เป็นภาษาที่มีการเขียนโปรแกรมภาษาตาม นี้ได้นำหลาย C โปรแกรมเมอร์ให้บีซีพีแ ล backronym อารมณ์ขัน ก่อนภาษาซี [ 1 ]

บีซีพีแ ลเป็นครั้งแรกที่รั้งภาษาซี และจัดฟันรอดการเปลี่ยนแปลงประโยคและได้กลายเป็นสามัญหมายถึง denoting โค้ดโปรแกรมข้อความ ในการปฏิบัติ บนแป้นพิมพ์ ของ วัน จำกัด โปรแกรมแหล่งมักใช้ดังนี้ $ ( $ ) ในสถานที่ของสัญลักษณ์ { กับ } สายเดี่ยว ' / / ' ความคิดเห็นของบีซีพีแ ล , ซึ่งไม่ได้รับกลับมาใน C , Cและต่อมาใน c99

บีซีพีแ ลได้ตอบปัญหากับบรรพบุรุษของมันรวมการเขียนโปรแกรมภาษา ( CPL ) ที่สร้างขึ้นในช่วงต้นทศวรรษที่ 1960 . ริชาร์ดสร้างบีซีพีแ ล " การเอาคุณสมบัติของภาษาซึ่งทำให้สะสมเต็มยาก " การรวมเล่มครั้งแรกสำหรับ IBM 7094 ภายใต้เวลาที่เข้ากันได้ร่วมกันของระบบ ( ctss )ถูกเขียนขึ้นในขณะที่ริชาร์ดส์เยี่ยมชม Mac โครงการที่สถาบันเทคโนโลยีแมสซาชูเซตส์ ( MIT ) ในฤดูใบไม้ผลิ 1967 ภาษาได้รับการอธิบายครั้งแรกในเอกสารนำเสนอเพื่อร่วมการประชุม 2512 ฤดูใบไม้ผลิคอมพิวเตอร์

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

เหตุผลหลักของคอมไพเลอร์พกพาวางในโครงสร้างของ มันถูกแบ่งออกเป็นสองส่วนปลายด้านหน้าแยกแหล่งที่มาและสร้าง o-code สำหรับเครื่องเสมือนและปลายด้านหลังเอา o-code และแปลเป็นรหัสของเครื่องเป้าหมายเพียง 1 / 5 ของรหัสของคอมไพเลอร์จะต้องเขียนใหม่เพื่อสนับสนุนเครื่องใหม่ งานที่มักจะใช้เวลาระหว่าง 2 และ 5 คน เดือน วิธีการนี้เป็นหลักปฏิบัติทั่วไปในภายหลัง เช่น ปาสคาล หรือชวา แต่ริชาร์ดบีซีพีแ ลผู้แปลเป็นครั้งแรกเพื่อกำหนดเครื่องเสมือนสำหรับวัตถุประสงค์นี้

ภาษาที่ผิดปกติในการมีเพียงหนึ่งชนิดข้อมูล : คำที่กำหนดจำนวนบิตมักจะเลือกเพื่อให้สอดคล้องกับคำที่เครื่องของสถาปัตยกรรมและความจุที่เพียงพอที่จะแสดงที่อยู่กระเป๋าใด ๆที่ถูกต้อง หลายเครื่องของเวลา นี้ชนิดข้อมูลเป็นบิต 16 คำ ทางเลือกนี้ต่อมาได้พิสูจน์ว่าเป็นปัญหาสำคัญเมื่อบีซีพีแ ลถูกใช้ในเครื่องที่มีรายการสะสม น้อยที่สุด คือ ไม่พูด แต่ในเครื่องที่มีขนาดไบต์หรือคำที่มีขนาดใหญ่ :32 บิตและ 64 บิตคำซึ่งอนุญาตให้พวกเขาจัดการเป็นที่อยู่ขนาดใหญ่

ความหมายของค่าใด ๆ ถูกกำหนด โดยผู้ประกอบการที่ใช้ประมวลผลค่า ( ตัวอย่างเช่น เพิ่มค่าสองค่าด้วยกันการรักษาพวกเขาเป็นจำนวนเต็ม ; ! indirected ผ่านค่าได้อย่างมีประสิทธิภาพการรักษาเป็นตัวชี้ ) ในการสั่งซื้อสำหรับงานนี้ การดำเนินการให้ประเภทการตรวจสอบหมายเหตุชาวฮังการีได้รับการพัฒนาเพื่อช่วยให้โปรแกรมเมอร์หลีกเลี่ยงความผิดพลาดแบบไม่ตั้งใจ

ไม่ตรงกันระหว่างบีซีพีแ ลพูดปฐมนิเทศและไบต์เชิงฮาร์ดแวร์ก็อยู่ได้หลายวิธี หนึ่งคือการให้การปฏิบัติมาตรฐานห้องสมุดสำหรับการบรรจุและการเอาออกคำสตริงไบต์ ต่อมา สองภาษา คุณสมบัติที่ถูกเพิ่ม :บิตไบต์ฟิลด์การคัดเลือกผู้ประกอบการและผู้ประกอบการมัดโดยอ้อม ( เขียนแทนด้วย ' % ' ตัวละคร )

บีซีพีแ ลจับผูกสแปแยกรวบรวมหน่วยในเอกลักษณ์ทาง มีผู้ใช้ไม่ declarable ตัวแปรระดับโลก ; แทนที่จะมีเวกเตอร์ทั่วโลกซึ่งคล้ายกับ " ว่างทั่วไป " ในโปรแกรมข้อมูลทั้งหมดที่ใช้ร่วมกันระหว่างหน่วยงานต่าง ๆและรวบรวมประกอบด้วย scalars ตัวชี้เวกเตอร์ที่เก็บไว้ในก่อนจัดสถานที่ในเวกเตอร์โลก ดังนั้น ส่วนหัวของไฟล์ ( ไฟล์รวมอยู่ในช่วงเรียบเรียงโดยใช้ " ได้รับ " คำสั่ง ) เป็นวิธีการหลักของการรวบรวมข้อมูลระหว่างหน่วยงานส่วนกลาง ประกอบด้วย " โลก " แนวทางที่เสนอชื่อรายการสัญลักษณ์แต่ละคู่กับตัวเลขที่สมาคมชื่อที่สอดคล้องกับตัวเลขที่อยู่ในโลกเวกเตอร์โลก เช่นเดียวกับตัวแปรเวกเตอร์ทั่วโลกยังประกอบด้วยรวมสำหรับกระบวนการภายนอก นี้จะทำให้การโหลดแบบไดนามิกของหน่วยง่ายเพื่อให้บรรลุ แทนที่จะอาศัยลิงค์โหลดต้นแบบของการปฏิบัติได้อย่างมีประสิทธิภาพ บีซีพีแ ลให้โปรแกรมเมอร์ควบคุมกระบวนการเชื่อมโยง

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

ปรัชญาของบีซีพีแ ลสามารถสรุปผลโดย quoting จากบีซีพีแ ลหนังสือ ภาษาและการเรียบเรียง :

ปรัชญาของบีซีพีแ ลไม่ได้เป็นหนึ่งในผู้ที่คิดว่ารู้จักดีที่สุดและวางลงกฎหมายคืออะไรและสิ่งที่ไม่ได้รับอนุญาต ; ค่อนข้าง , บีซีพีแ ลทำตัวเป็นคนรับใช้ที่เสนอบริการของเขาเพื่อที่ดีที่สุดของความสามารถของเขาโดยไม่ต้องร้องเรียนแม้เมื่อเผชิญหน้ากับเรื่องไร้สาระที่แจ่มแจ้ง โปรแกรมเมอร์มักสันนิษฐานว่าสิ่งที่เขาทำ และไม่ได้เป็น hemmed โดยข้อจำกัดเล็กน้อย

ออกแบบ และปรัชญา ของบีซีพีแ ลขออิทธิพล บี ซึ่งจะมีผลต่อ C .

มีข่าวลือว่าจริงยืนสำหรับ " บูบีซีพีแ ลภาษา เคมบริดจ์ " อย่างไรก็ตาม CPL ไม่เคยสร้างตั้งแต่การพัฒนาหยุด ที่บีซีพีแ ล ,และตัวย่อคือ reinterpreted สำหรับบีซีพีแ ลหนังสือ
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: