Questions tagged «syntax»

对于与编程或标记语言语法有关的挑战,包括但不限于检查语法的有效性,从一种语法转换为另一种语法或修复无效的语法。另请参见[balanced-string]标签。

28
计算Phi(非Pi)
不,我不是说ϕ = 1.618...和π = 3.14159...。我的意思是功能。 φ(x)的是一个整数小于或等于的数量x互质到x。 π(x)是小于或等于的素数x。 假设“非pi”为π̅(x),并将其定义为小于或等于的复合数x。 任务 给定一个严格的正整数x,计算φ(π̅(x))。得分以字节为单位。 例子 每行包括输入(从1到100,包括1和100),以及由空格分隔的相应输出。 1 0 2 0 3 0 4 1 5 1 6 1 7 1 8 2 9 2 10 4 11 4 12 2 13 2 14 6 15 4 16 6 17 6 18 4 19 4 …
73 code-golf  sequence  primes  number-theory  code-golf  decision-problem  code-golf  date  code-golf  typography  code-golf  math  number  multiple-holes  code-golf  quine  code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

30
无糖语法
在Haskell中,列表符号: [a,b,c] 只是语法糖,用于: a:b:c:[] 和字符串符号: "abc" 只是语法糖,用于: ['a','b','c'] 这意味着字符串: "abc" 是相同的: 'a':'b':'c':[] 任务 给定一个字符串,您应该输出在Haskell中看起来像无语法的版本。 规则 您将通过任何有效的输入方法收到一个字符串,您应该输出一个字符串,该字符串以:[]输入中的每个字符结尾,并用包围'并用分隔:。空字符串应该输出[]。 您可以假设您不会收到任何需要转义的字符(例如',换行符,制表符...),并且输入内容处于可打印的ascii范围内 这是代码高尔夫球,您应尽量减少答案的字节数 测试用例 "" -> [] "a" -> 'a':[] "Hello, World" -> 'H':'e':'l':'l':'o':',':' ':'W':'o':'r':'l':'d':[]

12
读出C变量声明
背景 C语言中的变量声明语句由三部分组成:变量的名称,其基本类型和类型修饰符。 有三种类型修饰符: 指针*(前缀) 数组[N](后缀) 功能()(后缀) 您可以在括号内指定一个函数参数列表,但是为了解决这一难题,让我们忽略它而只使用它()(从技术上讲,这意味着“该函数可以接受任何类型的参数”)。 读取符号的方法如下: int i; // i is an int float *f; // f is a pointer to a float my_struct_t s[10]; // s is an array of 10 my_struct_t int func(); // func is a function returning an int 问题是我们可以将所有这些混合使用以形成更复杂的类型,例如数组数组或函数指针数组或指向指针数组的指针: int arr[3][4]; // arr …
41 code-golf  parsing  c  syntax 

18
代码罗马化
挑战在于使任何罗马数字成为您选择的语言的有效代码。 他们应该不会出现串的内部或任何类似,但工作就像任何其他记号,文字如(阿拉伯语)数字,字符或字符串; 或变量/方法/功能标识符等 例如,在Java中,以下代码必须像i初始化为那样编译并运行42: int i = XLII; 数字的实际解析是次要的,因此您可以根据需要使用库,但这是一场人气竞赛,因此鼓励创造力。 如果存在这种情况,则不能使用任何实际使用罗马数字的语言。 祝好运。

13
评估三元运算符的表达式
考虑过字母表语法{ 0, 1, ?, :}由定义的产生式规则 小号→交通0┃ 1┃ 0 ?小号:小号┃ 1 ?小号:小号 给定从s生成的字符串,将其解析?:为右关联的表达式(例如,a?B?X:Y:c?d:e?f:gmeans a?(B?X:Y):(c?d:(e?f:g))),并使用以下语义对其进行求值: eval(0) = 0 eval(1) = 1 eval(0?a:b) = eval(b) eval(1?a:b) = eval(a) 如果结果为0,则输出一些固定值;如果输出为1,则输出不同的固定值。在答案中指定您选择的输出值(例如0/ 1或False/ True)。 测试用例 0 -> 0 1 -> 1 0?0:1 -> 1 0?1:0 -> 0 1?0:1 -> 0 1?1:0 -> 1 0?1?0:1:1 -> 1 …
29 code-golf  syntax 

30
聪明人的海市age楼
从前,我在阅读有关Quora的问题/答案 真的有没有计算机科学学位的程序员无法通过FizzBu​​zz测试 此代码是显而易见的答案 for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i 当然,FizzBu​​zz已经被打死了,但这并不是这个问题的实质。您会在评论中看到有人提到该答案很不错,因为很容易添加额外条件,例如将“ Jazz”打印为4的倍数。(我不同意。扩展此方案需要O(2 ** n )代码行。) 您的挑战是编写由同行判断的最漂亮的FizzJazzBuzz版本。 选民需要考虑的一些事项: 干 除法/模运算的效率 …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

7
基本的类Pyth语法检查器
Pyth是一种基于Python的高尔夫语言。它使用前缀表示法,每个命令具有不同的Arity(接受的参数数量)。 您的任务是为(不存在的)类Pyth语言Pith编写语法检查器。 Pith的语法 Pith只有8个单字符命令: 01234()" 01234每个都有对应的数字,因此期望后面有很多参数。例如, 400010 是一个正确的髓部程序,因为4后面四个参数0 0 0和10,是其中最后一个1接着一个参数0。为了可视化,我们可以看下面的树: R | 4 | ------------- | | | | 0 0 0 1 | 0 R根节点在哪里。考虑此问题的另一种方法是,每个数字都指相应节点在上面的树中具有的子代数。 这是另一个有效的Pith程序,具有多个基本命令: 210010 对应于 R | ------------- | | 2 1 | | --------- 0 | | 1 0 | 0 另一方面, 3120102100 这不是正确的Pith程序,因为开头3只有两个参数,可以通过查看下面的树来查看它们: R …

9
格式化类似Lisp的语法
背景 (根据真实的,令人费解的故事) 在我的时间里,我经常玩Lisp和类似语言。我已经与他们一起书写,运行它们,对其进行了解释,对其进行了设计,并让机器为我为它们编写了……如果有什么困扰着我,那就是Lisp不符合我的特定格式样式。 不幸的是,每当复制和粘贴代码时,一些文本编辑器(cough XCode cough)都会剥离我漂亮的制表符和空格。 (A (B (C) (D)) (E)) (哪里ABCDE有任意函数) 一些文本编辑器将此可爱的代码分割到了下面: (A (B (C) (D)) (E)) 真是一团糟!这是不可读的! 帮帮我吗? 挑战 您在此挑战中的目标是采用一系列功能,这些功能以换行符分隔,格式如下所述,并返回更加美观的布局,突出可读性和优雅性。 输入 我们将Farity N参数的函数定义为类似于以下内容的构造: (F (G1 ...) (G2 ...) (G3 ...) ... (GN ...)) G1, G2, ..., GN自身的功能在哪里?一个arity 0函数A很简单(A),而arity 2函数B的形式是(B (...) (...)) 您的代码应在每个函数的前导括号之前(第一个函数除外)以一个换行符作为一系列函数来输入输入。上面的示例是有效输入。 您可以假设: 括号是平衡的。 一个函数缩进的次数永远不会超过250次。 每个函数都用括号括起来: () 函数名称将仅包含可打印的ASCII字符。 …

6
修正我对矩阵列表的表示法,第1部分
有时,我的代码中包含常数矩阵列表: [ [[1, 0], [0, 1]], [[1, 0], [0,-1]], [[0, 1], [1, 0]], [[0,-1], [1, 0]] ] 屏幕空间的使用非常糟糕。我宁愿将它们彼此相邻写: [ [[1, 0], [[1, 0], [[0, 1], [[0,-1], [0, 1]], [0,-1]], [1, 0]], [1, 0]] ] 您会发现这仍然是一个语法上有效的嵌套列表,它不再是矩形,并且具有非常不同的结构(特别是,每当我添加大于1x1的矩阵时,它就会变得更深)。但是,仍然可以从这个新列表中重建矩阵的初始列表。 为了将来能够使用此语法,我需要您编写一些代码,以将以水平排列方式编写的数组转换为它们表示的矩阵列表。 为确保答案不对源代码中的布局执行2D模式匹配,输入将仅作为数组对象给出,或者如果您采用字符串表示形式,则输入将不包含任何空格以指示文字是用代码编写的。因此,您将获得如下输入: [[[1, 0], [[1, 0], [[0, 1], [[0,-1], [0, 1]], [0,-1]], [1, 0]], [1, …

11
制作数字列表转换器
当您想将一个数字列表(向量,数组...)从一个程序复制粘贴到另一个程序时,您是否讨厌它,但是您使用数字的格式与您所需要的格式不匹配? 例如,在MATLAB中,您可能会有一个用空格分隔的列表,如下所示: [1 2 3 4 5] (you can also have it comma separated, but that's not the point) 在Python中,您需要插入逗号以使该列表成为有效输入,因此您必须将其转换为 [1, 2, 3, 4, 5] 使它工作。在C ++中,您可能需要类似以下内容: {16,2,77,29} 等等。 为了简化每个人的生活,让我们创建一个列表转换器,该转换器接受任何格式的列表*,然后输出另一种指定格式的列表。 有效括号为: [list] {list} (list) <list> list (no surrounding brackets) 有效的分隔符为: a,b,c a;b;c a b c a, b, c <-- Several …

10
SQL选择数字范围
我发现很难获得一定数量的数字作为行中的数字MySQL。 例如,范围1-5是通过以下方式实现的: SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 将导致: 1 2 3 4 5 对于0-99,我可以交叉连接两个0-9表: CREATE TABLE nums as SELECT 0 as num UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION …
19 code-golf  tips  syntax  sql 

6
翻译Glypho程序
给定任何有效Glypho程序的输入,输出其“人类可读”的对应内容。 Glypho是一个有趣的esolang创意: 此处提供了指令参考。对于每条指令,字符abcd代表组成每条指令的符号。a表示第一个唯一符号,b表示第二个唯一符号,依此类推。 aaaa ..... n NOP - no operation; do nothing aaab ..... i Input - push input onto top of stack aaba ..... > Rot - pops top stack element and pushes to bottom of stack aabb ..... \ Swap - swaps top two stack elements aabc ..... …

3
展平Stack Cats程序
Stack Cats是一种可逆的基于堆栈的语言。它的可逆性导致一些怪异的循环。这个挑战是关于条件循环的(...)。当这些循环以某些方式嵌套时,可以对代码进行转换以减小嵌套深度。下面是规则(其中A,并B代表任意片段): 当一个循环从另一个循环开始时,我们可以将内部循环提取到最前面:((A)B)变成(A)(B)。 当一个循环以另一循环结束时,我们可以将内部循环提取到最后:(B(A))变成(B)(A)。 空循环()可以从程序中完全删除。作为推论(结合其他规则),((A))等效于(A)。 唯一的嵌套循环所留的形式为(A(B)C),其中A,B和C非空。 挑战 您将获得一个有效的Stack Cats程序,并且您的任务是使用上述转换尽可能地降低循环的嵌套级别,不留空循环。 有效的Stack Cats程序... ...仅由字符组成()/\<>[]{}!"*+-:=ITX^_|。 ...具有镜像对称性(例如,\(]{}!{}[)/是有效程序,但/|/不是)。 ...已正确匹配和嵌套,()并且{}([],<>并且\/不一定要像往常一样进行匹配,尽管由于镜像对称性要求,它们将成对出现)。 您可以将字符串或字符列表作为输入,但是输出必须以相同的格式显示。 您可以编写程序或函数,并使用我们的任何标准方法来接收输入和提供输出。请注意,默认情况下,这些漏洞是禁止的。 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。 测试用例 测试用例每行两行(输入和输出),用空行分隔。请注意,一个输出为空。您还需要支持空输入(这将导致空输出)。 (((=+|+=))) (=+|+=) ({(=+|+=)}) ({(=+|+=)}) ((\)/)I(\(/)) (\)(/)I(\)(/) (()()(())()()) ((<|>((X((T)))[_]))\^/(([_](((T))X))<|>)) (<|>)(X)(T)([_])(\^/)([_])(T)(X)(<|>)

2
关闭标签!
这是基于先前删除的同名我的挑战 介绍 您的任务是编写一个程序,该程序根据输入是否正确地按正确的顺序打开和关闭其所有类似于XML的1标签来返回真或假值。考虑以下内容作为输入: <Apple> 因为标签未正确关闭,这将返回falsey值。这个: <Apple></Apple> 相反,返回正确值,因为它已正确关闭。该程序还应该检查嵌套标签,以确保它们位于正确的位置。例如,将此作为输入: <mango><Apple></mango></Apple> 所有标签均已正确关闭,但顺序不正确。您的程序必须检查正确的标记层次结构和嵌套。 定义 在我进入规则和假设之前,请先定义一些内容。 标签 基本的XML样式标签。例如:<Apple>。它们最多可以有一个前导和尾随空格(否则它是无效的和虚假的),因此< Apple >和<Apple>是相同的。这些标签也可以包含类似的属性foo="bar" (需要用双引号,否则无效,falsey) ,属性名只能包含任何字母数字字符或_,:,-,和.。属性名称也不需要属性值,并且值可以包含除"右双引号之前的任何内容。结束标签不得包含属性,并且标签中不得包含换行符。 标签名称 标签名称是标签的名称。例如,<Apple>的标签名称是Apple。标记名称可以包含与属性名称相同的字符,并且区分大小写。这意味着,<Apple>是不是 <apple>。 自闭合标签 会自行关闭的常规标记,例如<Apple />或<Apple/>(它们相同)。斜杠和标签名称之间的空格是允许的。 纯文本 一个字符串,可以包含任何内容,并且不包含在<和中>。 “简单”标签 打开,关闭或自动关闭标签。 规则 输出可以退回或打印,并且输入可以按照您喜欢的任何方式进行 输入是一个字符串,由标签,纯文本或两者组成 您的程序可以是一个功能或整个工作程序 纯文本可以在任何地方;如果输入仅包含纯文本,则程序应返回真实值。 该程序需要识别嵌套标签。如果标签嵌套在标签中,则该嵌套标签必须在关闭父级之前关闭,就像常规XML一样,否则应返回falsey值 假设条件 您可以假设输入将始终是一个或多个“简单”标签 您可以假设输入将始终遵循上面定义的标签的格式 测试用例 虚假 <apple> <apple></Apple> <apple></mango> <apple><mango> <a><b></a></b> Text<ul><li></li><ul /> <pear attr=foo></pear attr=foo> <Ketchup flavor=spicy></Ketchup> …

4
获取吸气剂
任务 我想每个人都喜欢自动代码生成并节省工作时间。您白天必须创建许多类和成员,而又不想getters手动创建所有这些类和成员。 任务是编写一个程序或函数,该程序或函数getters将为您自动为所有类成员生成。 输入 在我们的语言中,对象非常简单。类和成员的名称必须以字符开头,[a-zA-Z]并且只能包含字符[a-zA-Z0-9]。这是一个例子: class Stack { public overflow; protected trace; private errorReport; } 输出 这是基于给定示例的有效输出: class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } 吸气剂 getter方法的要求是: …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.