คำถามติดแท็ก interpreter

งานที่เกี่ยวข้องกับการเขียนล่ามภาษาต่าง ๆ หรือพิธีการ

3
ใช้เครื่องมือจำลองเครื่องสากล
เป้าหมายคือการเขียนโปรแกรมเต็มรูปแบบที่จำลองเครื่องสากลจาก ICFP 2006 ด้วยรหัสที่สั้นที่สุด เครื่องสากลมีชุดการเรียนการสอนที่ง่ายมากอธิบายที่นี่ อีมูเลเตอร์ต้องอ่านชื่อไฟล์จากอาร์กิวเมนต์บรรทัดคำสั่งและเรียกใช้ไฟล์เป็นโปรแกรมดังนั้นภาษาของคุณจะต้องสนับสนุนอาร์กิวเมนต์บรรทัดคำสั่งและ stdin / out อย่างใด จำลองที่มีการดำเนินการsandmarkภายในเวลาอันสมควร (ไม่ทศวรรษที่ผ่านมา) นี่คือคำอธิบายสั้น ๆ ของชุดคำสั่ง: เครื่องมีการลงทะเบียนแปดครั้งแต่ละคนมีจำนวนเต็ม 32 บิตที่ไม่ได้ลงชื่อ เครื่องเก็บชุดอาร์เรย์ที่จัดทำดัชนีไว้ของเซลล์เลขจำนวนเต็ม 32 บิตที่ไม่ได้ลงชื่อ พูดสั้น ๆ คำแนะนำในการจัดสรรผลตอบแทนทึบแสง 32 บิตซึ่งเป็นมือจับไปยังอาร์เรย์ที่สร้างขึ้นซึ่งมีขนาดคงที่และถือองค์ประกอบ uint 32 บิต อาร์เรย์ 0'th หมายถึงโปรแกรม มันถูกโหลดจากไฟล์ big-endian เมื่อเริ่มต้น นอกจากนี้ยังมี Instruction Pointer ซึ่งชี้ไปที่เซลล์ในอาร์เรย์ 0 ในแต่ละขั้นตอนคำสั่งจะอ่านจากเซลล์ที่ตัวชี้ชี้ไปที่และตัวชี้จะถูกฝังก่อนที่จะทำอะไร บิตที่สำคัญที่สุด 4 บิตแสดงถึง opcode หาก opcode เท่ากับ 13 ดังนั้นบิต …

3
ผู้ประกอบการ Bitwise ใน Brainfuck
งานของคุณคือสร้างโปรแกรม brainfuck หนึ่งโปรแกรมสำหรับตัวดำเนินการไบนารีต่อไปนี้ แต่ละโปรแกรมควรใช้หนึ่งหรือสองหมายเลข 8 บิต (A และ B) จากอินพุตและคำนวณการดำเนินการที่ระบุ: A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A คุณไม่ต้องใช้ทั้งหมด 5 คะแนนคำนวณโดย: #totalCharacters + {4000 * #problemsNotCompleted} คะแนนที่ถูกต้องคือจากศูนย์ (ดีที่สุด) ถึง 20,000 (ไม่เสร็จสมบูรณ์) ฉันไม่สนใจว่าคุณจะเก็บผลลัพธ์ไว้ที่ใดหรือคุณเก็บข้อมูลไว้หรือไม่ สมมติว่าเซลล์ 8 บิตและเซลล์ว่างมากเท่าที่คุณต้องการไปทางขวาเท่านั้น คุณอาจคิดว่าตัวเลขนั้นอยู่ในตำแหน่งหน่วยความจำที่เหมาะกับคุณที่สุดอยู่แล้วดังนั้นคุณไม่ต้องกังวลกับการทำงานของ IO
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

14
แพดไฟล์ด้วยค่าศูนย์
งานของคุณในวันนี้คือการใช้ไฟล์ที่มีอยู่และต่อท้ายศูนย์จนถึงขนาดที่กำหนด คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นซึ่งใช้ชื่อของไฟล์ในไดเรกทอรีปัจจุบันที่และจำนวนของไบต์f bในขณะที่รักษาเนื้อหาต้นฉบับของfคุณจะต้องเขียนเลขศูนย์(null null ไม่ใช่ ascii 0s)ไปยังจุดสิ้นสุดเพื่อให้ขนาดใหม่เป็นbไบต์ คุณอาจคิดว่าfมีเพียงตัวอักษรและตัวเลขในชื่อที่คุณได้รับอนุญาตเต็มรูปแบบว่าในตอนแรกมันไม่ใหญ่กว่าbแต่อาจจะมีขนาดใหญ่เท่าbและมีพื้นที่ว่างที่ไม่มีที่สิ้นสุด คุณอาจไม่ถือว่าfไม่ว่างเปล่าหรือไม่มีไบต์เป็นศูนย์อยู่ ไม่ควรแก้ไขไฟล์ที่มีอยู่อื่นและไฟล์ใหม่ไม่ควรมีอยู่หลังจากสิ้นสุดการประมวลผล กรณีทดสอบ เนื้อหาของ f | b | ส่งผลให้เนื้อหาของ f 12345 | 10 | 1234500000 0 | 3 | 000 [ว่าง] | 2 | 00 [ว่าง] | 0 | [ว่าง] 123 | 3 | 123
12 code-golf  file-system  code-golf  code-golf  string  code-golf  string  code-golf  random  game  compression  code-golf  array-manipulation  sorting  code-golf  number  arithmetic  primes  code-golf  geometry  code-golf  code-golf  decision-problem  regular-expression  code-golf  string  math  code-challenge  restricted-source  integer  palindrome  code-golf  string  palindrome  code-challenge  busy-beaver  code-golf  ascii-art  code-golf  string  code-golf  string  permutations  code-golf  code-golf  string  permutations  code-golf  number  primes  function  set-theory  code-challenge  hello-world  code-golf  math  number  decision-problem  code-golf  code-golf  sequence  arithmetic  integer  code-golf  math  number  arithmetic  decision-problem  code-golf  kolmogorov-complexity  alphabet  code-golf  combinatorics  graph-theory  tree-traversal  code-golf  set-theory  code-golf  interpreter  brainfuck  substitution  code-golf  quine  permutations 

2
ตีความ Kipple!
บทนำ Kippleเป็นภาษาการเขียนโปรแกรมแบบกองซ้อนซึ่งเป็นความลับที่คิดค้นโดย Rune Berg ในเดือนมีนาคม 2003 Kipple มี 27 กอง 4 ตัวดำเนินการและโครงสร้างการควบคุม สแต็ค สแต็กถูกตั้งชื่อa- zและมีจำนวนเต็ม 32 บิต นอกจากนี้ยังมีสแต็กพิเศษ@เพื่อให้หมายเลขเอาต์พุตสะดวกยิ่งขึ้น เมื่อตัวเลขถูกส่งเข้าสู่@ค่า ASCII ของตัวเลขนั้นจะถูกผลักเข้าไปแทน (ตัวอย่างเช่นหากคุณกด 12 ถึง@จะได้ 49 และ 50 @แทน) อินพุตถูกส่งไปยังอินพุตสแต็กiก่อนที่โปรแกรมจะถูกดำเนินการ ล่ามจะถามหาค่าที่จะจัดเก็บiก่อนดำเนินการ หลังจากการดำเนินการเสร็จสิ้นสิ่งใดในเอาท์พุทสแต็คoจะถูกตอกไปยังเอาท์พุทเป็นตัวอักษร ASCII เนื่องจากนี่เป็นเพียงกลไก IO ของ Kipple เท่านั้นการโต้ตอบกับโปรแกรม Kipple จึงเป็นไปไม่ได้ ผู้ประกอบการ ตัวถูกดำเนินการเป็นทั้งตัวระบุสแต็กหรือจำนวนเต็ม 32 บิตลงนาม กด: >หรือ< ไวยากรณ์: Operand>StackIndentifierหรือStackIndentifier<Operand ตัวดำเนินการพุชนำตัวถูกดำเนินการไปทางซ้ายแล้วผลักไปยังสแต็กที่ระบุ ตัวอย่างเช่น12>aจะส่งค่า 12 …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

1
เขียนล่ามสำหรับ 2B
เขียนล่ามสำหรับ2B ฉันชอบภาษาลึกลับของDavid Catt 2B มีหน่วยความจำเก็บไว้ในเทปที่แต่ละเซลล์เป็นเทปแยกไบต์ ('subtape') เขียนล่ามให้มัน! ข้อกำหนดภาษา สเปคอย่างเป็นทางการสามารถพบได้ที่นี่ ในสเปคนี้"หมายถึงตัวเลขในช่วง0-9( 0ถูกตีความว่าเป็น10) และ_หมายถึงสตริงที่มีความยาวใด ๆ แต่ละเซลล์เก็บค่าไว้ในช่วง0-255และโอเวอร์โฟลว์ / อันเดอร์โฟลว์จะพันรอบเหมือนที่มันเป็น BF (ขอบคุณ @ MartinBüttner) การแปลงข้อความให้เป็นตัวเลข0-255การใช้รหัส ASCII เนื่องจากฉันไม่สามารถหารายละเอียดเกี่ยวกับเรื่องนี้ได้ฉันจะบอกว่าความยาวของเทปควร255น้อยที่สุด แต่ถ้าคุณรู้อย่างอื่นโปรดแก้ไข +-------------+----------------------------------------------------------------------------------------------------------------------------------------+ | Instruction | Description | +-------------+----------------------------------------------------------------------------------------------------------------------------------------+ | 0 | Zeroes the current cell and clears the overflow/underflow flag. | | { | If the current …

2
เขียนล่าม ~ ATH
Homestuckคอมมิวนิคยอดนิยมใช้ประโยชน์จากภาษาโปรแกรมที่เรียกว่า~ATHทำลายจักรวาล ขณะนี้ความท้าทายกอล์ฟรหัสคือไม่ได้ที่จะเขียนโปรแกรมที่จะทำลายการดำรงอยู่ของเราเราจะถูกทำลายบางส่วนเชื่องมากขึ้น (แม้จะน่าสนใจไม่น้อย) หน่วยงาน: ตัวแปร ~ATH(ออกเสียง "til ตาย" แจ้งว่า~athเป็น "ตัวหนอน ATH") ทำงานโดยการสร้างตัวแปรที่เรียกว่าTHISการดำเนินการคำสั่งที่มีและจบโปรแกรมด้วยEXECUTE THIS.DIE()หน้าวิกิพีเดียสำหรับการใช้ภาษาใน Homestuck สามารถพบได้ที่นี่ เป้าหมายของการท้าทายนี้คือการสร้าง~ATHล่าม เพื่อความท้าทายฉันจะสร้างรายละเอียดบางอย่าง~ATHที่ไม่มีอยู่จริง ๆ แต่ทำให้มีประโยชน์ (บ้าง) import <variable name>;ภาษาเดียวที่จะทำงานร่วมกับจำนวนเต็มซึ่งจะมีการประกาศด้วย ตัวแปรจะถูกตั้งค่าเป็น 0 โดยอัตโนมัติสามารถนำเข้าตัวแปรได้ครั้งละหนึ่งตัวเท่านั้น ตัวแปรxสามารถคัดลอกโดยการเขียนbifurcate x[y,z];ซึ่งจะลบตัวแปรxและแทนที่ด้วยตัวแปรที่เหมือนกันและy zโปรดทราบว่ามันไม่สามารถสร้างตัวแปรที่มีชื่อเดียวกับที่ถูกลบ โดยพื้นฐานแล้วตัวแปรจะถูกเปลี่ยนชื่อจากนั้นจะสร้างสำเนาของตัวแปรที่มีชื่อแตกต่างกัน นี้ดูเหมือนว่าคุณลักษณะโง่ แต่ความโง่เขลาถูกมากลึกฝังแน่นใน Homestuck ไวยากรณ์สำหรับการเขียนโปรแกรมที่รันโค้ดบนมีx หากคุณต้องการที่จะรันโค้ดบนตัวแปรทั้งสองพร้อมกันจะกลายเป็นรหัสที่ซ้อนกันเช่นนี้~ATH(x){EXECUTE(<code>)} ~ATH(x){~ATH(y){EXECUTE(<code>)}}คำสั่งทั้งหมดใน<code>จะถูกดำเนินการทั้งในและxy ทีนี้มาดูคำสั่งกันดีกว่า +เพิ่มตัวแปรที่เกี่ยวข้องทีละ 1 และ-ลดพวกมันทีละ 1 และ ... แค่นั้นแหละ คุณสมบัติสุดท้ายของ~ATHมันคือมันฆ่าทุกอย่างที่มันทำงานด้วย ตัวแปรที่จะมีการพิมพ์ในรูปแบบ<name>=<value>(ตามด้วยการขึ้นบรรทัดใหม่) [<name>].DIE();ที่คำสั่ง หลังจากนั้นโปรแกรมจะพิมพ์คำDIE <name>และขึ้นบรรทัดใหม่จำนวนครั้งเท่ากับค่าสัมบูรณ์ของค่าของตัวแปร เมื่อตัวแปรถูกฆ่าพร้อมกันด้วย[<name1>,<name2>].DIE();(คุณสามารถฆ่าตัวแปรได้มากเท่าที่คุณต้องการตราบใดที่มีอยู่) …

2
ติดตั้งล่ามไร้ประโยชน์ [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา งานของคุณคือสร้างล่ามให้เป็นภาษาที่ไร้ประโยชน์ : นี่คือความต้องการการทำงาน: คำสั่งที่อธิบายทั้งหมดควรได้รับการยอมรับจากล่าม NO., NOOPและINCLUDE-xxxจะต้องได้รับเกียรติ DONTUSEME(n) ต้องมีวันที่ฐานเพื่อให้สามารถกำหนดค่าให้กับสิ่งที่สมเหตุสมผลสำหรับการทดสอบได้ง่ายขึ้น INCLUDE-xxxจะต้องสามารถสร้างคำสั่งใด ๆ ที่มีความน่าจะเป็นที่เท่าเทียมกันโดยประมาณ ถ้ามันสร้าง a DONTUSEME(n)เขาควรสุ่มเลือกค่าเล็กน้อยสำหรับ n DONTUSEME(n)หน้าต่างควรอยู่รอดจากNO.คำสั่ง เคล็ดลับ: วางกระบวนการใหม่สำหรับหน้าต่างเหล่านั้น BOOM!และKABOOM!จะต้องทำอะไรบางอย่างที่ไม่ดีและน่ากลัวและจะต้องเลวร้ายยิ่งกว่าKABOOM! BOOM!แต่สิ่งนี้จะต้องไม่ถูกนำมาใช้อย่างจริงจังเกินไปดังนั้นจึงไม่ควรเป็นสิ่งที่ทำลายล้างทำลายหรือทำลายยาก กรุณาอย่าทำและอย่าทำให้คำสั่งเหล่านี้เรียกใช้rm -rf \คำสั่งรันการวางระเบิดติดตั้งมัลแวร์ข้อมูลที่เสียหายในระบบไฟล์หรือโพสต์หรือดาวน์โหลดเนื้อหาที่ไม่เหมาะสมจากอินเทอร์เน็ตหรือสิ่งอื่นใดที่ไม่เหมาะสมอย่างชัดเจน TURINGVSALONZOควรทำงานราวกับว่ามันได้ทำในสิ่งที่ควรทำ เคล็ดลับ: ตัดสินใจแบบสุ่มว่าจะนอนนาน ๆ หรือสุ่มเวลาสั้น ๆ หรือตลอดไป ทุกคำแนะนำที่กำหนดไว้ล่วงหน้าอื่น ๆ ควรจะทำอะไรบางอย่างอื่นนอกเหนือจากคำแนะนำดังกล่าวข้างต้นและแตกต่างกันไปอีก แต่ไม่เคยสิ่งที่เลวร้ายยิ่งกว่าหรือBOOM! KABOOM!สิ่งที่พวกเขาทำนั้นขึ้นอยู่กับคุณ แต่การนำไปใช้งานที่เรียบง่ายจะส่งข้อความแสดงข้อผิดพลาดหรือข้อความอื่น ๆ คุณควรจัดให้มีวิธีที่ง่ายสำหรับผู้ใช้ในการจัดเตรียมโปรแกรมที่จะเรียกใช้โดยล่าม เช่นการอ่านข้อความธรรมดาจากไฟล์หรือจากstdinก็โอเค การอ่านจากไฟล์ที่เข้ารหัสที่อื่นในอินเทอร์เน็ตไม่ใช่ ไม่จำเป็น: คุณอาจคิดค้นคำสั่งใหม่บางคำสั่งหากคุณต้องการ แต่ควรอยู่ภายใต้กฎเดียวกันกับคำสั่งอื่น …

5
ใช้ชุดย่อยของเชลล์สคริปต์
ไซต์นี้มีปัญหามากมายเกี่ยวกับการใช้ภาษาต่างๆในแท็กล่าม อย่างไรก็ตามจริง ๆ แล้วพวกเขาทั้งหมดเป็นภาษาลึกลับที่ไม่มีใครใช้ ใช้เวลาในการสร้างล่ามสำหรับภาษาที่ใช้งานได้จริงซึ่งผู้ใช้ส่วนใหญ่ที่นี่อาจรู้จักอยู่แล้ว ใช่มันเป็นเชลล์สคริปต์ในกรณีที่คุณมีปัญหาในการอ่านชื่อ (ไม่ใช่ว่าคุณมี) (ใช่ฉันตั้งใจทำสิ่งนี้อย่างท้าทายเพราะฉันเบื่อภาษาอย่าง GolfScript และ Befunge ชนะทุกอย่างดังนั้นฉันจึงวางความท้าทายที่ภาษาการเขียนโปรแกรมเชิงปฏิบัติมากขึ้นมีโอกาสชนะมากขึ้น) อย่างไรก็ตามเชลล์สคริปต์เป็นภาษาที่ค่อนข้างใหญ่ดังนั้นฉันจะไม่ขอให้คุณใช้มัน ฉันจะสร้างชุดย่อยของฟังก์ชันเชลล์สคริปต์แทน ชุดย่อยที่ฉันเลือกคือชุดย่อยต่อไปนี้: การดำเนินการโปรแกรม (โปรแกรมจะมีตัวอักษรเท่านั้นแม้ว่าจะอนุญาตให้ใช้เครื่องหมายคำพูดเดี่ยว) ข้อโต้แย้งของโปรแกรม เครื่องหมายคำพูดเดี่ยว (ยอมรับอักขระ ASCII ที่พิมพ์ได้รวมถึงช่องว่างยกเว้นคำพูดเดียว) สตริงที่ไม่ได้ระบุไว้ (อนุญาตให้ตัวอักษรตัวเลขและขีดกลาง ASCII) ท่อ งบเปล่า หลายคำสั่งคั่นด้วยบรรทัดใหม่ ส่วนต่อท้าย / นำหน้า / หลายช่องว่าง ในภารกิจนี้คุณต้องอ่านอินพุตจาก STDIN และรันทุกคำสั่งที่ร้องขอ คุณสามารถสมมติระบบปฏิบัติการที่รองรับ POSIX ได้อย่างปลอดภัยดังนั้นจึงไม่จำเป็นต้องพกพากับ Windows หรืออะไรทำนองนั้น คุณสามารถสรุปได้อย่างปลอดภัยว่าโปรแกรมที่ไม่ได้ถูกไพพ์ไปยังโปรแกรมอื่นจะไม่อ่านจาก STDIN คุณสามารถสันนิษฐานได้อย่างปลอดภัยว่าคำสั่งนั้นจะมีอยู่ คุณสามารถสรุปได้อย่างปลอดภัยว่าจะไม่มีการใช้อะไรอีก หากข้อสันนิษฐานที่ปลอดภัยถูกทำลายคุณสามารถทำอะไรก็ได้ คุณสามารถสรุปได้อย่างปลอดภัยที่สุด 15 ข้อโต้แย้งและบรรทัดที่ต่ำกว่า 512 …

2
ล่ามสำหรับทฤษฎีจำนวนโมดูโล n
ประโยคของทฤษฎีจำนวน (สำหรับวัตถุประสงค์ของเรา) เป็นลำดับของสัญลักษณ์ต่อไปนี้: 0และ'(ตัวตายตัวแทน) - ตัวตายตัวแทนหมายถึง+1ดังนั้น0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(เพิ่มเติม) และ*(การคูณ) = (เท่ากับ) (และ)(วงเล็บ) ตัวดำเนินการเชิงตรรกะnand( a nand bคือnot (a and b)) forall (ปริมาณสากล) v0, v1, v2ฯลฯ (ตัวแปร) นี่คือตัวอย่างของประโยค: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) นี่not …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

3
นักแปลระดมสมอง!
BrainFlow BrainFlow คืออะไร BrainFlow เป็นส่วนเสริมของ BrainF ** k (BFk) พร้อม 3 คำสั่งเพิ่มเติมสำหรับการใช้งานและความสับสนที่เพิ่มขึ้น คำสั่งอะไร นอกจากคำสั่ง BFkปกติแล้วเรายังมี: ^ ข้ามไปยังเซลล์ # ขึ้นอยู่กับค่าในเซลล์ เช่นถ้าเราอยู่ที่เซลล์ # 0 ด้วยค่า 4 ^ จะข้ามเราไปที่เซลล์ # 4 = ตั้งค่าที่เซลล์เป็นดัชนีของเซลล์ เช่นถ้าเราอยู่ที่เซลล์ # 4 ด้วยค่า 0, = จะตั้งค่าเป็น 4 & จะตั้งค่าที่เซลล์ปัจจุบันเท่ากับค่าที่เซลล์ตามค่าในเซลล์ปัจจุบันของเรา (นี่ยากที่จะพูดดังนั้นนี่เป็นตัวอย่าง!) Ex: เราอยู่ที่เซลล์ # 33 และค่าปัจจุบันของเราที่เซลล์นี้คือ 7 และจะตั้งค่าปัจจุบันของเราที่เซลล์ # 33 …

11
จำลองแท็กวงจร Bitwise
ท้าทาย กำหนดสองสตริงในรูปแบบ I / O เริ่มต้นให้ทำดังต่อไปนี้: หมายเหตุ: ความท้าทายจะอ้างถึงสตริงแรกว่า "ข้อมูล" และที่สองเรียกว่า "โปรแกรม" เปลี่ยนโปรแกรมเป็นสตริงที่ไม่มีที่สิ้นสุดซึ่งเป็นเพียงโปรแกรมที่ทำซ้ำไม่สิ้นสุด (เช่น10-> 1010101010...) ความท้าทายจะอ้างถึงสิ่งนี้ว่า "โปรแกรมที่ไม่มีที่สิ้นสุด" ในขณะที่ข้อมูลไม่ว่างให้ทำดังต่อไปนี้ในขณะที่วนซ้ำโปรแกรมที่ไม่มีที่สิ้นสุด: หากคำสั่งปัจจุบันคือ "0" ให้ลบบิตซ้ายสุดในข้อมูล หากข้อมูลว่างเปล่า "0" จะไม่ทำอะไรเลย ข หากคำสั่งปัจจุบันคือ "1" ให้ผนวกอักขระตัวถัดไปในโปรแกรมเข้ากับข้อมูลหากบิตซ้ายสุดในข้อมูลเป็นหนึ่ง ค. ถ้าข้อมูลไม่ว่างตอนนี้ให้เอาท์พุทข้อมูล กรณีทดสอบ Data เป็นด้านซ้ายของอินพุตและโปรแกรมเป็นด้านขวา 100, 0 --> 00, 0 1111, 1 --> 11111, 111111, 1111111, ... 10, 011 --> 0, 0, 0 …

6
String Manipulation Interpreter
สรุป มีการสร้างภาษาการจัดการสตริงใหม่โดยใช้เฉพาะอักขระ$+#-!*|@>! งานของคุณคือการใช้ล่ามให้กับมันในไม่กี่ไบต์เท่าที่จะทำได้ อินพุต สตริงซึ่งเป็นบรรทัดเดียวของภาษานี้ สิ่งนี้สามารถดำเนินการได้ในวิธีที่สมเหตุสมผล (stdin, พารามิเตอร์ฟังก์ชัน, อาร์กิวเมนต์บรรทัดคำสั่ง ฯลฯ ) หรือเป็นตัวแปรที่กำหนดไว้ล่วงหน้า หากโปรแกรมขอการป้อนข้อมูลจากผู้ใช้ให้ยอมรับการป้อนข้อมูลจากผู้ใช้ทั้งหมดที่ร้องขอจาก stdinและไม่มีอะไรเพิ่มเติมดูด้านล่าง คุณอาจคิดว่ามันเป็นโปรแกรมที่ถูกต้อง เอาท์พุต สิ่งที่ภาษาจะออกข้อกำหนดรายละเอียดด้านล่าง คุณต้องส่งออกสตริงในลักษณะที่สมเหตุสมผล (stdout, ฟังก์ชั่นเอาท์พุท ฯลฯ ) หรือค่าตัวแปร เมื่อภาษาออกมาอย่างชัดเจนต้องไปที่ stdout ช่องโหว่มาตรฐานถูกแบน ข้อมูลจำเพาะภาษา การประมวลผลและไวยากรณ์ ภาษามีรูปแบบของการประมวลผลที่ง่ายมากเนื่องจากมีการจัดการสตริงเท่านั้น: เริ่มต้นด้วยสตริงว่าง ( "") และเปลี่ยนด้วยแต่ละคำ คำประกอบด้วยหนึ่งหรือสองส่วน: ฟังก์ชั่น (ด้านล่าง) ตามด้วยอาจเป็นพารามิเตอร์ (ด้านล่าง) ซึ่งแก้ไขพฤติกรรมของมัน ข้อกำหนดถูกคั่นด้วยไพพ์ ( |) คุณอาจคิดว่ามันจะไม่เป็นโปรแกรมเปล่าและไม่มีคำใดจะว่างเปล่า คุณควรส่งออกค่าในตอนท้ายของโปรแกรม ฟังก์ชั่น ภาษามีเพียง 6 ฟังก์ชันดังที่แสดงด้านล่าง แต่ละฟังก์ชั่นยอมรับพารามิเตอร์หนึ่งหรือศูนย์ + …

1
ช่วย Jason จัดรูปแบบ JSON ของเขา
เจสันมี JSON ตัวใหญ่ แต่ไม่สามารถอ่านได้ดังนั้นเขาจึงต้อง prettify การจัดรูปแบบข้อมูลจำเพาะ JSON มี 4 ประเภท: เบอร์; แค่0-9 Strings; "สตริงที่ยกมาสองครั้งหนีออกมาด้วย\ อาร์เรย์; คั่นด้วยโดย[]รายการที่คั่นด้วย,รายการสามารถเป็นประเภทใดก็ได้ วัตถุ; การจัด{}รูปแบบคั่นด้วยรูปแบบคือkey: valueคีย์เป็นสตริงและค่าเป็นประเภทใด ๆ เหล่านี้ ระยะห่าง อาร์เรย์ควรมีหนึ่งช่องว่างหลังเครื่องหมายจุลภาคระหว่างรายการ วัตถุควรมีช่องว่างเดียวระหว่างคีย์และค่าหลังจาก : รอยหยัก แต่ละระดับการซ้อนจะถูกเยื้อง 2 มากกว่าก่อนหน้า คู่ของคีย์ / ค่าของแต่ละคู่จะอยู่ในบรรทัดของตัวเองเสมอ วัตถุถูกเยื้อง อาร์เรย์จะถูกเยื้องในหลายบรรทัดถ้ามันมีอาร์เรย์หรือวัตถุอื่น มิฉะนั้นอาร์เรย์จะยังคงอยู่ในหนึ่งบรรทัด กฎระเบียบ บิวด์อินที่ไม่อนุญาตให้ทำภารกิจนี้เล็กน้อย เช่นเดียวกับช่องโหว่มาตรฐานจะไม่ได้รับอนุญาต ตัวอย่าง [1,2,3] [1, 2, 3] {"a":1,"b":4} { "a": 1, "b": 4 } …
11 code-golf  string  json  code-golf  number  code-golf  image-processing  code-golf  string  code-golf  number  sequence  arithmetic  number-theory  code-golf  string  code-golf  string  counting  code-golf  ascii-art  code-golf  math  code-golf  tips  code-golf  string  code-golf  grid  graph-theory  code-golf  parsing  interpreter  brainfuck  code-golf  math  arithmetic  number-theory  programming-puzzle  c#  code-golf  dominoes  code-golf  tips  code-golf  string  grid  crossword  code-golf  string  code-golf  kolmogorov-complexity  code-golf  number  sequence  code-golf  string  math  number  number-theory  primes  fastest-code  code-golf  number  code-golf  string  code-golf  ascii-art  number  kolmogorov-complexity  code-golf  string  grid 

1
จำลองเครื่องลงทะเบียน Minsky (II)
นี้เป็นส่วนขยายของจำลองมินสกีลงทะเบียนเครื่อง (I) ฉันจะไม่ทำซ้ำคำอธิบายทั้งหมดที่นั่นดังนั้นโปรดอ่านคำอธิบายปัญหาก่อน ไวยากรณ์ในส่วน (I) นั้นเรียบง่ายที่สุดเท่าที่จะเป็นไปได้ แต่ให้ผลลัพธ์ในโปรแกรมที่ค่อนข้างยาว เนื่องจากนี่คือไซต์รหัสกอล์ฟเราควรมีไวยากรณ์กอล์ฟใช่มั้ย ในระดับสูงการเปลี่ยนแปลงจากไวยากรณ์ดั้งเดิมมีดังนี้: ฉลากในบรรทัดแรกเป็นตัวเลือก ช่องว่างเป็นทางเลือกยกเว้นในกรณีที่จำเป็นต้องแยกตัวระบุสองตัวที่ติดกัน รัฐสามารถ inlined เพื่อให้แน่ใจว่าการวิเคราะห์คำที่ไม่กำกวมไม่ชัดเจนหากสถานะแรกของการดำเนินการลดทอนเป็นสถานะอินไลน์มันจะต้องอยู่ในวงเล็บ ซึ่งหมายความว่าโปรแกรมใด ๆ ที่สามารถเล่นกอล์ฟเป็นแบบหนึ่งเส้นได้ ตัวอย่างเช่นในกรณีทดสอบต้นฉบับเรามี: b + = a, t = 0 init : t - init d0 d0 : a - d1 a0 d1 : b + d2 d2 : t + d0 a0 : t …

3
เขียนล่าม Clem
Clem เป็นภาษาการเขียนโปรแกรมแบบกองซ้อนที่มีฟังก์ชั่นชั้นหนึ่ง จุดประสงค์ของคุณคือการเขียนล่ามสำหรับภาษา Clem มันถูกต้องควรจะดำเนินการตัวอย่างทั้งหมดรวมอยู่ในการดำเนินการอ้างอิงที่มีอยู่ที่นี่ ตามปกติจะใช้ช่องโหว่มาตรฐาน รายการที่น้อยที่สุดด้วยการนับไบต์ชนะ ภาษาเคล็ม Clem เป็นภาษาโปรแกรมสแต็กที่มีฟังก์ชั่นชั้นหนึ่ง วิธีที่ดีที่สุดในการเรียนรู้ Clem คือการใช้clemล่ามโดยไม่มีข้อโต้แย้ง มันจะเริ่มต้นในโหมดโต้ตอบช่วยให้คุณสามารถเล่นกับคำสั่งที่มีอยู่ ในการรันโปรแกรมตัวอย่างให้พิมพ์clem example.clmโดยที่ example คือชื่อของโปรแกรม บทแนะนำสั้น ๆ นี้ควรจะเพียงพอสำหรับคุณในการเริ่มต้น มีฟังก์ชั่นหลักสองประเภท ฟังก์ชั่นอะตอมมิกและฟังก์ชั่นสารประกอบ ฟังก์ชั่นผสมคือรายการที่ประกอบด้วยฟังก์ชั่นอื่น ๆ และฟังก์ชั่นอะตอมมิก โปรดทราบว่าฟังก์ชั่นผสมไม่สามารถมีตัวเอง ฟังก์ชั่นของอะตอม ชนิดแรกของฟังก์ชั่นของอะตอมเป็นคงที่ คงเป็นเพียงค่าจำนวนเต็ม ตัวอย่างเช่น -10 เมื่อล่ามพบค่าคงที่มันจะดันไปที่สแต็ก เรียกใช้clemตอนนี้ พิมพ์-10ที่พรอมต์ คุณควรเห็น > -10 001: (-10) > ค่า001อธิบายถึงตำแหน่งของฟังก์ชันในสแต็กและ(-10) เป็นค่าคงที่ที่คุณเพิ่งป้อน ตอนนี้ป้อน+11ที่พรอมต์ คุณควรเห็น > +11 002: (-10) 001: …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.