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

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

2
แก้ไขปัญหาการหยุดชะงักสำหรับ Modilar SNISP
ในจิตวิญญาณของการแก้ปัญหาลังเลสำหรับ Befingeให้มีกำหนดภาษาอื่นที่เรียกว่า 2D Modilar SNISP Modilar SNISP มีหกคำแนะนำต่อไปนี้: \ ชี้นำตัวชี้คำสั่งดังนี้: หากเข้าหาจากด้านบนไปทางขวา; ถ้าเดินจากทางขวาขึ้นไป; หากเข้าหาจากด้านล่างไปซ้าย; หากเข้าหาจากด้านซ้ายให้ลงไป / ชี้นำตัวชี้คำสั่งดังนี้: ถ้าเข้าหาจากด้านบนไปซ้าย; หากเข้าหาจากด้านซ้ายขึ้นไป; หากเข้าหาจากด้านล่างไปทางขวา; หากเข้าหาจากด้านขวาให้ลงไป ! ข้ามคำแนะนำถัดไป @ ผลักตำแหน่ง IP และทิศทางไปยังสแตกการโทร #ดึงตำแหน่ง IP และทิศทางจาก call stack และเรียกคืนจากนั้นข้ามคำสั่งถัดไป หาก call stack ว่างเปล่าการดำเนินการจะหยุดลง . ไม่ทำอะไรเลย ตัวชี้คำสั่งเริ่มต้นที่มุมซ้ายบนไปทางขวา หากเคยออกจากสนามแข่งขันการประหารชีวิตจะหยุดลง Modilar SNISP ไม่สามารถมีประสิทธิภาพมากกว่าPDAได้เพราะแหล่งเดียวของที่เก็บข้อมูลที่ไม่ได้ จำกัด คือสแต็ก (call call) ที่มีตัวอักษรที่ จำกัด (คู่ของ …

3
ล่าม RoboZZle
งานของคุณคือการเขียนล่าม RoboZZle หากคุณไม่คุ้นเคยกับเกมนี้โปรดดูวิดีโอที่ robozzle.comหรืออ่านคำอธิบายของฉันด้านล่าง หุ่นยนต์อาศัยอยู่บนกริดสี่เหลี่ยมของสี่เหลี่ยมสีแดงเขียวน้ำเงินหรือดำ สี่เหลี่ยมสีดำไม่สามารถเข้าถึงได้ คนอื่นสามารถเข้าถึงได้และบางคนก็มีดาว เป้าหมายคือการรวบรวมดาวทั้งหมดโดยไม่ต้องเหยียบบนช่องสี่เหลี่ยมสีดำหรือตกจากแผนที่ หุ่นยนต์ใช้พื้นที่หนึ่งตารางเมตรและหันไปทิศทางใดทิศทางหนึ่ง - ซ้าย, ขวา, ขึ้นหรือลง มันทำตามคำแนะนำเหมือนการประกอบที่จัดกลุ่มเป็นรูทีนย่อย F1, F2, ... , F5 คำสั่งเป็นคู่ของคำกริยา ("ไม่มี", "ถ้าเป็นสีแดง", "ถ้าเป็นสีเขียว", "ถ้าเป็นสีน้ำเงิน") และการกระทำ ("ไปข้างหน้า", "เลี้ยวซ้าย", "เลี้ยวขวา", "วาดสี่เหลี่ยมจัตุรัสสีแดงปัจจุบัน", "ทาสีเขียว", "ทาสีฟ้า", "ไม่ทำอะไรเลย", "เรียก F1", ... , "เรียก F5") การเรียกรูทีนย่อยใช้ stack และสามารถเรียกซ้ำได้ เช่นเดียวกับในการเขียนโปรแกรมทั่วไปหลังจากคำสั่งสุดท้ายของรูทีนย่อยเสร็จสมบูรณ์การดำเนินการจะดำเนินต่อจากจุดที่เรียกรูทีนย่อย การประหารเริ่มต้นจากคำสั่งแรกของ F1 และดำเนินต่อไปจนกระทั่งทั้งหุ่นยนต์ได้เยี่ยมชมช่องสี่เหลี่ยมที่มีดาวทั้งหมดหรือเมื่อหุ่นยนต์เหยียบบนสี่เหลี่ยมสีดำหรือนอกแผนที่หรือมีการดำเนินการคำสั่ง 1,000 ครั้ง (เพรดิเคตที่ล้มเหลว ไม่นับ) หรือไม่มีคำแนะนำในการดำเนินการอีกต่อไป …

9
ทำล่ามให้ใช่!
ใช่เป็นสแต็คที่ใช้ภาษาที่มีคำแนะนำการใช้พื้นที่ที่แยกออกจากกันไม่กี่: yes: Push 1 to the stack no: Push 0 to the stack what: Push the input to the stack (input is taken at the start of program execution and is the same for the whole execution) sure: Increment the last item in the stack nah: Decrement the last item …

4
เขียน Shift Interpreter
แก้ไข:ในขณะที่บางคนสงสัยว่ามีข้อผิดพลาดในล่ามอย่างเป็นทางการ: ลำดับขององค์ประกอบใน.ถูกกลับรายการ ฉันมีล่ามสองรุ่นและใช้ผิดที่นี่ ตัวอย่างถูกเขียนขึ้นสำหรับรุ่นที่ไม่ถูกต้อง ฉันแก้ไขล่ามในที่เก็บและตัวอย่างด้านล่าง คำอธิบายของ>มันค่อนข้างคลุมเครือดังนั้นฉันจึงแก้ไขได้ นอกจากนี้ขอโทษสำหรับการใช้เวลานานมากฉันถูกจับในบางสิ่งในชีวิตจริง แก้ไข 2:ล่ามของฉันมีข้อบกพร่องในการใช้งาน.ซึ่งสะท้อนให้เห็นในตัวอย่าง (พวกเขาอาศัยพฤติกรรมที่ไม่ได้กำหนด) ปัญหาได้รับการแก้ไขแล้ว บทนำ Shiftเป็นภาษาโปรแกรมฟังก์ชั่นลึกลับที่ฉันสร้างเมื่อสองสามปีก่อน แต่เผยแพร่ในวันนี้ มันเป็นแบบกองซ้อน แต่ก็มีการแกงอัตโนมัติเช่น Haskell สเปค มีสองประเภทข้อมูลใน Shift: ฟังก์ชั่นซึ่งมีarityบวกโดยพลการ(จำนวนอินพุต) และส่งคืนรายการเอาต์พุต ตัวอย่างเช่นฟังก์ชั่นที่ซ้ำกันของอินพุตเพียงอย่างเดียวมี arity 1 และฟังก์ชั่นที่แลกเปลี่ยนสองอินพุตมี arity 2 ช่องว่างซึ่งเหมือนกันหมดและไม่มีวัตถุประสงค์อื่นนอกเหนือจากการไม่ทำหน้าที่ โปรแกรม Shift ประกอบด้วยคำสั่งเป็นศูนย์หรือมากกว่าซึ่งแต่ละคำสั่งเป็นอักขระ ASCII เดียว มีทั้งหมด 8 คำสั่ง: !( ใช้ ) ปรากฏฟังก์ชั่นfและคุ้มค่าxจากสแต็คและนำไปใช้ในการf xหากfมี arity 1 รายการf(x)จะถูกเพิ่มที่ด้านหน้าของสแต็ก ถ้ามันมี arity ฟังก์ชัน -ary n …

30
พูดคุยล่าม
"Talk" เป็นภาษาที่สะสมจากภาษา Baroquified ซึ่งสร้างขึ้นเพื่อตอบสนองต่อคำพูดของ Dennis ที่ talk.tryitonline.net Waiting for someone to create an esolang called talk. . ภาษา "Talk" มี 4 คำสั่ง: 00 ถ้าตัวสะสมเป็น 0 ให้ตั้งตัวสะสมเป็น 0 01 ถ้าตัวสะสมเป็น 0 ให้ตั้งตัวสะสมเป็น 1 10 ถ้าตัวสะสมคือ 1 ให้ตั้งตัวสะสมเป็น 0 11 ถ้าตัวสะสมคือ 1 ให้ตั้งตัวสะสมเป็น 1 การป้อนข้อมูล: อินพุตสามารถใช้วิธีการอินพุตที่ยอมรับได้โดยกฎ I / O มาตรฐานของเรา มีสองอินพุตค่าเริ่มต้นสะสมและโปรแกรม คุณสามารถรวมทั้งสองอินพุตนี้เป็นหนึ่งอินพุตหรือแยกอินพุตของคุณเป็นคำสั่งที่ถูกต้อง …

7
Code-Golf: ลำดับ Farey (I)
ท้าทาย ในภารกิจนี้คุณจะได้รับจำนวนเต็ม N (น้อยกว่า 10 ^ 5) ออกลำดับ Fareyของคำสั่ง N อินพุต N ถูกกำหนดในบรรทัดเดียวอินพุตถูกยกเลิกโดย EOF อินพุต 4 3 1 2 เอาท์พุต F4 = {0/1, 1/4, 1/3, 1/2, 2/3, 3/4, 1/1} F3 = {0/1, 1/3, 1/2, 2/3, 1/1} F1 = {0/1, 1/1} F2 = {0/1, 1/2, 1/1} ข้อ จำกัด จำนวนอินพุตไม่เกิน 10 ^ …
10 code-golf  math  code-golf  math  code-golf  number  number-theory  code-golf  math  arithmetic  repeated-transformation  code-golf  geometry  popularity-contest  code-golf  code-golf  tips  haskell  math  fastest-algorithm  code-golf  combinatorics  code-golf  math  polynomials  rational-numbers  code-golf  code-golf  popularity-contest  javascript  code-golf  kolmogorov-complexity  code-golf  code-golf  math  combinatorics  permutations  code-challenge  restricted-source  random  array-manipulation  code-challenge  generation  code-golf  code-golf  ascii-art  arithmetic  division  code-challenge  number  code-golf  math  number  binary  code-golf  ascii-art  code-golf  interpreter  stack  code-golf  internet  networking  code-golf  math  code-golf  ascii-art  code-golf  math  sequence  code-golf  hello-world  restricted-source  code-golf  ascii-art  code-golf  geometry  code-golf  kolmogorov-complexity  pi  code-golf  math  combinatorics  permutations  code-golf  math  code-challenge  ascii-art  code-golf  string  code-golf  quine  code-golf  math  floating-point  golfscript  code-golf  string  code-golf  sliding-puzzle  code-challenge  arithmetic  code-golf  math  code-golf  geometry  optimized-output 

2
เคล็ดลับการเล่นกอล์ฟใน The Powder Toy
ขอให้สนุกกับเกมนี้The Powder Toyเป็นความท้าทายที่น่าสนใจสำหรับกอล์ฟโดยเฉพาะกับตัวกรอง สิ่งที่ทำให้ TPT เป็นความท้าทายคือหลาย ๆ วิธีในการแก้ไขปัญหา: Should I use Cellular Automaton rules, SWCH logic, Filt logic, subframe filt logic, and/or wall logic? ดังนั้นสถานที่สำหรับเคล็ดลับสำหรับการเล่นกอล์ฟ TPT จะค่อนข้างมีประโยชน์ดังนั้นฉันจึงสร้างคำถามนี้ขึ้นมา เธรดนี้มีแนวโน้มที่จะใช้ตัวย่อจำนวนมาก ส่วนใหญ่จะเป็นองค์ประกอบในเกมดังนั้นการค้นหาพวกเขาบนWikiจะทำให้คุณได้รับข้อมูลมากมายเกี่ยวกับพวกเขาเช่นที่พวกเขาเป็น ต่อไปนี้เป็นสิ่งที่พบบ่อยที่สุดที่คุณจะเห็นในกระทู้นี้พร้อมแนบคำอธิบายในเกม (และชื่อเต็มของพวกเขา) สำหรับผู้ที่ไม่ต้องการค้นหา: SPRK: ไฟฟ้า พื้นฐานของอุปกรณ์อิเล็กทรอนิกส์ทั้งหมดใน TPT เดินทางไปตามสายไฟและองค์ประกอบนำไฟฟ้าอื่น ๆ กรอง: ตัวกรอง กรองโฟตอนเปลี่ยนสี ARAY: Ray Emitter รังสีสร้างคะแนนเมื่อชนกัน BTRY: แบตเตอรี่ สร้างกระแสไฟฟ้าไม่สิ้นสุด DRAY: เครื่องทำสำเนาเรย์ …
9 code-golf  tips  the-powder-toy  code-golf  number  array-manipulation  integer  code-golf  string  decision-problem  boggle  code-golf  array-manipulation  average  code-golf  math  code-golf  decision-problem  restricted-source  code-golf  code-golf  math  primes  code-golf  random  code-golf  tips  perl  code-golf  string  parsing  code-golf  math  number  decision-problem  code-golf  math  number  code-golf  string  alphabet  code-golf  math  geometry  code-golf  interpreter  brainfuck  code-golf  code-golf  decision-problem  boggle  code-golf  math  number  sequence  code-golf  math  code-golf  ascii-art  code-challenge  restricted-source  quine  code-golf  math  decision-problem  number-theory  primes  code-golf  ascii-art  code-golf  integer  graph-theory  chess  code-golf  math  interpreter  code-golf  code-golf  code-golf  ascii-art  code-golf  arithmetic  number-theory  code-golf  string  kolmogorov-complexity  code-golf  string  decision-problem  code-golf  primes  factoring  encode  code-golf  decision-problem  code-golf  geometry  grid  code-golf  quine  code-golf  matrix  code-golf  matrix  code-golf  code-golf  number  array-manipulation  code-golf  array-manipulation  sorting  code-golf  matrix  code-golf  brain-flak 

5
ตีความ TwoMega
ในความท้าทายนี้คุณจะเขียนล่ามสำหรับ2 Ω (ถ่ายเมื่อTwoMega ) ภาษาเคร่งครัดตามbrainfuckที่มีพื้นที่จัดเก็บอนันต์มิติ ภาษา 2 Ωมีสถานะสามส่วน: เทปซึ่งเป็นรายการที่ไม่มีที่สิ้นสุดของบิตทั้งหมดเริ่มต้นได้ที่ 0 มันมีองค์ประกอบทางด้านซ้ายสุด แต่ไม่มีองค์ประกอบด้านขวาสุด หน่วยความจำตัวชี้ซึ่งเป็นติดลบที่เป็นดัชนีขององค์ประกอบในเทป ตัวชี้หน่วยความจำที่สูงกว่าหมายถึงเซลล์เทปทางด้านขวา ตัวชี้หน่วยความจำ 0 หมายถึงองค์ประกอบด้านซ้ายสุด ตัวชี้หน่วยความจำถูกเตรียมใช้งานเป็น 0 Hypercubeซึ่งเป็นแนวคิด∞มิติ "กล่อง" ของเซลล์แต่ละที่มีบิตเริ่มต้น 0 ความกว้างของ Hypercube ถูกผูกไว้ในทุกมิติให้เพียง 2 เซลล์ แต่อินฟินิตี้ของมิติหมายถึงจำนวนของ เซลล์คือนับไม่ได้ ดัชนีเข้า hypercube เป็นรายการที่ไม่มีที่สิ้นสุดของบิตที่หมายถึงเซลล์ใน hypercube ที่ (ในทางเดียวกันว่าเป็นรายการที่ จำกัด ของบิตสามารถนำมาใช้ในการอ้างถึง hypercube ของมิติ จำกัด ก) เนื่องจากเทปเป็นรายการที่ไม่มีที่สิ้นสุดของบิตเทปทั้งหมดจึงอ้างอิงองค์ประกอบของ Hypercube เสมอ องค์ประกอบนี้จะเรียกว่าอ้างอิง 2 Ωให้ความหมายถึง 7 ตัวอักษรที่แตกต่างกัน: …

2
ตีความ DOGO!
ตีความ DOGO DOGOเป็นภาษาการเขียนโปรแกรมที่รู้จักน้อย ในขณะที่ DOGO ดั้งเดิม (ภาษาตลกจากโพสต์ Usenet) ไม่เคยถูกนำมาใช้ แต่ภาษาที่คล้ายกันนั้นถูกสร้างขึ้น คำสั่งสำหรับภาษาคือ: +===========+================================================================+ | Command | Description | +===========+================================================================+ | SIT | If the value of the current memory cell is 0, jump to STAY. | +-----------+----------------------------------------------------------------+ | STAY | If the value of the current memory cell is not 0, …

14
Golf a Compute interpreter
บทนำ การคำนวณเป็นภาษาตลกที่ลึกลับ จากรายการ esolangs: การคำนวณไม่มีไวยากรณ์ที่จำเป็นและมีอำนาจในการแก้ปัญหาใด ๆ และทั้งหมด มันฉลาดพอที่จะตีความภาษามนุษย์ใด ๆ (อังกฤษ, สเปน, ละติน, ฯลฯ ), ภาษาการเขียนโปรแกรมใด ๆ (C ++, Java, brainfuck, ฯลฯ ) หรือข้อมูลประเภทใด ๆ ที่คุณนึกออก ข้อเสียเพียงอย่างเดียวคือไม่มี I / O อย่างแน่นอน ตัวอย่างโปรแกรมบางโปรแกรม Hello World โปรแกรม Hello World พื้นฐาน What is love? กำหนดว่ารักคืออะไร (ที่รักอย่าทำร้ายฉัน) When will we ever graduate? กำหนดวันที่แน่นอนของเว็บไซต์นี้เพื่อให้พ้นเบต้า ความท้าทาย งานของคุณคือการเขียนล่ามคำนวณแบบเต็ม …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.