Questions tagged [parsing]
This tag denotes challenges where parsing input is a large / the main part of the challenge.
234
questions
23
votes
20
answers
4k
views
Is this expression Python 2/3 safe?
Given an expression like 4 / 2 + 3, determine whether the expression has the same value in Python 2 and Python 3. Recall that in Python 2 division rounds down (so ...
14
votes
5
answers
692
views
Is this propositional formula an instance of an axiom?
Please help me automate my discrete mathematics homework. Given a valid propositional formula, check if it is an instance of one of Łukasiewicz's axioms. Here's how it works.
A term can be defined ...
9
votes
5
answers
299
views
Convert the type modifiers from prefix to C-fix
Given a base type T, this can be augmented with * or [], each meaning pointer and array. For ...
3
votes
9
answers
1k
views
int, float or neither?
Given a string, determine if it is an int, a float or neither.
Examples
123 - int
62727.0033 - float
644c.33 - neither
Your code should output a different value depending on which it is. For example ...
23
votes
5
answers
1k
views
+250
Ungolf my tinylisp code
I like golfing in tinylisp:
(d M(q((x)(i x(i(disp x)0(M x))0
But I also like posting explanations with nicely formatted code:
...
8
votes
4
answers
220
views
Split along groups (hard mode)
This is an alternate version of this earlier challenge with a twist that adds a significant bit of difficulty.
Like last time, you are going to be given a string containing some alphabetic characters ...
19
votes
8
answers
483
views
Split along groups
You are going to be given a string containing some alphabetic characters along with [ and ]. Your task is to split into ...
14
votes
11
answers
684
views
AoCG2021 Day 20: Wonky license check
Part of Advent of Code Golf 2021 event. See the linked meta post for details.
Related to AoC2018 Day 8.
The license file for an imaginary software system is defined as follows:
The entire file is a ...
11
votes
3
answers
283
views
Is it a valid line in "Girls & Boys"?
Intro
Blur's song Girls & Boys featured the lines
girls who are boys who like boys to be girls
who do boys like they're girls, who do girls like they're boys
...
15
votes
15
answers
970
views
Fully matched numbers
For the context of this challenge, a matched group is a digit \$n\$, followed by \$n\$ more matched groups. In the case of \$n = 0\$, that's the whole matched group. Digits only go up to 9.
For ...
13
votes
16
answers
887
views
AoCG2021 Day 11: Garbageful streams
Part of Advent of Code Golf 2021 event. See the linked meta post for details.
Related to AoC2017 Day 9.
Weekends are Bubbler's days off from posting these lol
A large stream blocks your path. ...
11
votes
16
answers
859
views
Cartesian literal notation
Introduction
In computer science, a literal is a notation for representing a fixed value in source code. Almost all programming languages have notations for atomic values, some also have notations ...
27
votes
24
answers
2k
views
Convert prefix to infix
Infix notation is a method of printing mathematical expressions where each operator sits between its two arguments, such as \$ \left(5 \cdot 4\right) + 3 \$.
Prefix notation is a method of printing ...
2
votes
2
answers
119
views
Tips for parsing Standard Input in JavaScript
I've been doing quite a few code golf recently and I realised that a lot of times, I have to do something involving list.
Most of the times lists are space-separated or comma-separated values in the ...
29
votes
31
answers
3k
views
Open or Close the Parentheses
Every phone needs a calculator app. Because of the limited screen real estate, the developer of mine has decided to save some buttons. Instead of having two dedicated bracket buttons - one for open <...
19
votes
12
answers
2k
views
How many values of this type?
Background
The number of values for a given type is called the cardinality of that type, and that of type T is written as |T|.
Haskell and a few other languages ...
18
votes
22
answers
2k
views
Parentheses Clusters
Write a program that groups a string into parentheses cluster. Each cluster should be balanced.
Examples :
...
15
votes
8
answers
988
views
Simplify K projections
Background
K functions have a feature called projection, which is essentially partial application of values to a function. The syntax for projections is a natural extension of the regular function ...
21
votes
31
answers
2k
views
Remove oddly nested substrings
Task:
Input will consist of some text, with nested [] separating some of it into nested groups:
...
11
votes
5
answers
387
views
Parse Ternary Lambda Calculus for correctness
Wheat Wizard has once tried to come up with a parsing problem unsuitable for regex, but it failed due to Anders Kaseorg's Perl regex answer. This is the second attempt. Now that we know that Perl ...
24
votes
5
answers
1k
views
Parse a lambda for correctness
The goal of this challenge is to fill a niche that is mostly lacking on this site. In my observations there most parsing verification challenges fall into two categories:
Super easy parsing. This ...
19
votes
5
answers
848
views
What if function application was right-associative?
Background
In Haskell and many other functional languages, function application f(x) is simply written as f x. Also, this form ...
26
votes
17
answers
1k
views
r flag my Vyxal
Vyxal is a stack-based language, meaning that everything operates by popping and pushing values onto a stack. It has a bunch of useful flags, one of which is r.
...
12
votes
4
answers
574
views
Leave the times out!
Everyone knows, that you can leave out the multiplication symbol (\$\times\$, or *) in
a*b
...
7
votes
3
answers
172
views
Distribute the additions!
Challenge: Given an expressions made of additions and multiplications, output an expression that is a sum of products. The output must be equivalent to the input modulo the law of distribution. For ...
51
votes
11
answers
4k
views
Write a C++ demangler
If you have ever looked at an objdump of a C++ program, you have likely seen something like this:
_ZN3foo3bar3bazI6sampleEE3quxvi3foo
This is a C++ mangled symbol, ...
14
votes
8
answers
2k
views
Visualize a Risky program
Risky is a new language of mine, which features an interesting form of tacit programming. In this challenge, you'll take a Risky program as input, and visualize the parsing.
No knowledge of Risky is ...
15
votes
14
answers
1k
views
Evaluation order of an APL n-train
From Codidact with permission.
Description
APL trains are a series of functions, that get applied to an argument in this way:
(f g) x = f g x here ...
19
votes
11
answers
4k
views
I'm Lazy: Close my Superparens
Picolisp has a feature called "super parentheses":
Brackets ('[' and ']') can be used as super parentheses. A closing bracket will match [all parentheses to and including] the innermost ...
13
votes
8
answers
999
views
What is the link to your answer?
Goal
Your task is to create a program taking no input that returns the link to your answer. You can find a link to your answer by clicking at the share button on your answer.
Rules
Standard loopholes ...
10
votes
1
answer
273
views
CDGLF: TMN to APL
In this challenge you will remove one of my least favorite features, operator precedence from traditional math notation, to acheive the syntax of one of my favorite languages, APL. The APL subset we ...
17
votes
1
answer
532
views
Golfing Expressions
We can write mathematical expressions using the standard math operators (,),+,...
11
votes
6
answers
474
views
Approx how many search results
When one performs a search query using Google, one of the first things you see is an approximation of how many results were found. Today, you'll be simulating this in as few bytes as possible.
Input
A ...
8
votes
5
answers
762
views
Does this JavaScript function support keyword arguments?
JavaScript has no direct support for keyword arguments, but it supports argument object destructuring. It is standard to use a destructed final argument for keyword arguments. Here is an example:
<...
28
votes
10
answers
2k
views
Help Stack Exchange transpose tables
Stack Exchange doesn't know how to transpose tables. Let's help.
Given a markdown table, transpose it.
Input assumptions:
There will be at least two rows (including header) and two columns
Either all ...
23
votes
18
answers
1k
views
Interpret Interval Notation
Interval notation is a way to write complicated range bounds more conveniently and concisely than writing an inequality. The challenge, should you choose to accept it, is to write a program or ...
17
votes
8
answers
1k
views
How Many Atoms?
Your task is when given a chemical formula as input, output the total number of atoms in the formula.
Input
A chemical formula in any reasonable format. Each chemical formula has the following:
A ...
8
votes
6
answers
718
views
(1) Determine the amount of statues
Inspired by this stack of little statues that are currently on my desk at work, given to me by my colleagues from Sri Lanka when they visited The Netherlands:
This is split into two different ...
7
votes
2
answers
240
views
(2) Can the statues be stacked?
Inspired by this stack of little statues that are currently on my desk at work, given to me by my colleagues from Sri Lanka when they visited The Netherlands:
This is split into two different ...
11
votes
21
answers
3k
views
Advent of Code 2020, Day 2, Part 1
Today, my girlfriend and I started with this year's Advent of Code to improve our Python. So far we only did Day 1 and the first part of Day 2. The latter, I found to be very fun, so, to spice it up a ...
7
votes
3
answers
611
views
Day of Week - Natural language processing and date parsing
You'll get a human-readable question matching one of the following syntaxes, and are expected to print/return the corresponding result. Finding similarities between the human-readable inputs and ...
10
votes
6
answers
850
views
Parse a Scala expression
Scala isn't a very commonly used language around here. Most of those who know it like it[citation needed], but some go :\ when they encounter its user-defined ...
3
votes
4
answers
2k
views
Parse a nested parentheses
Objective
Mimic Haskell's reads :: ReadS ().
Or in other words, parse nested parentheses. Since the target type is () (the type ...
16
votes
27
answers
2k
views
Compactify the query string
Introduction
Just on Hacker news, John Resig contemplates
transforming a query “foo=1&foo=2&foo=3&blah=a&blah=b” into one that looks like this: “foo=1,2,3&blah=a,b", https://...
12
votes
7
answers
622
views
De-interleave log lines: HARD MODE
In the face of some regrettable rules that turned the original into a glorified sorting task, I am posting a more challenging variant. Shout out to Luis Mendo for the suggestion of how to improve the ...
18
votes
21
answers
2k
views
De-interleave log lines [duplicate]
You've inherited a server that runs several apps which all output to the same log.
Your task is to de-interleave the lines of the log file by source. Fortunately, each line begins with a tag that ...
26
votes
21
answers
5k
views
Create a Boolean Calculator
Our boolean operators are AND, OR, XOR, NAND, ...
13
votes
3
answers
1k
views
Implement a UNIX file system and command line parser
Description
Your task is to implement a simple UNIX command parser and file system. Your program will have to implement a file system that can be modified via commands.
The starting directory of your ...
15
votes
12
answers
3k
views
Parse a Unicode vulgar fraction
Objective
Given a string with single Unicode vulgar fraction, parse it to a rational number.
Valid inputs
A valid input is one of:
¼ U+00BC; one quarter
...
11
votes
1
answer
180
views
Explicit-ify APL expressions involving trains
Related: Clearly parenthesize APL trains
Background
In the most basic form, APL has two kinds of tokens: arrays and functions. For this challenge, we will use a lowercase letter ...