Skip to main content

Questions tagged [parsing]

Use this tag for code that parses its input, or that is source for a parser generator such as yacc or lex.

Filter by
Sorted by
Tagged with
38 votes
6 answers
6k views

Parser written in PHP is 5.6x faster than the same C++ program in a similar test (g++ 4.8.5)

I'm absolutely dumbfounded by this. I was trying to demonstrate to myself how much faster C++ is than even modern PHP. I ran a simple CSV parsing program in both that have the same output. The CSV ...
Luke's user avatar
  • 481
5 votes
1 answer
223 views

Overhauled tokenizer for markargs

In the previous post I've started writing a tokenizer for my imaginary programming language (which I decided to name markargs; trivia at the end of the post). Problem definition: Read the line and ...
Incomputable's user avatar
  • 9,504
4 votes
1 answer
156 views

Natural language text fast tokenizer (Rev.5)

This is the next iteration of the Natural language text fast tokenizer code review. Special thanks goes to G. Sliepen, Toby Speight and uli who conducted previous reviews and to Matthieu M. and Adrian ...
Damir Tenishev's user avatar
49 votes
1 answer
7k views

Yet another C++ JSON parser

This is a framework for a JSON parser I put together last night. Any comments appreciated. JsonLexer.l: Breaks the input into lexemes JsonParser.y: Understands the language syntax JsonParser.h: ...
Loki Astari's user avatar
  • 95.4k
20 votes
3 answers
1k views

Who's using what where - turning code into symbols

The Rubberduck project is coming along pretty nicely, and for the next version the parsing strategy is getting yet another revision, and this time around it really feels like it's done right. Or is ...
Mathieu Guindon's user avatar
15 votes
2 answers
7k views

Evaluating arithmetic expressions

I have written some simple code for evaluating expressions. However, I am not sure how well I am following conventions (this is my first time trying to). Specs for problem: All binary operators (+, -...
internet_user's user avatar
13 votes
3 answers
13k views

ini file parser in C++

Please review my ini file parser (and potentially some general config file formats). The data structure used is a section, see below. Does that seem a good approach? I was wondering about the name. ...
arcomber's user avatar
  • 2,449
5 votes
1 answer
230 views

Replacing Uri with a more convenient class

I needed some data structure for holding Uris so I thought I try the Uri class. It quickly turned out that it's very impractical because: it's missing an implicit ...
t3chb0t's user avatar
  • 44.3k
5 votes
2 answers
518 views

Natural language text fast tokenizer (Rev.3)

This is the third iteration of the Natural language text fast tokenizer code review. Special thanks goes to G. Sliepen, Toby Speight and uli who conducted previous reviews and to Matthieu M. and ...
Damir Tenishev's user avatar
26 votes
4 answers
5k views

Poor man's JIT using nested lambdas

While answering this code review question, I came up with a way to convert an equation given at runtime to a std::function<double(double)> that would evaluate ...
G. Sliepen's user avatar
  • 58.7k
24 votes
2 answers
2k views

parcel: a JSON parsing library in C

I've created a JSON parsing library in C, and would like some feedback on it (feel free to submit a pull request on GitHub). Any and all suggestions are acceptable, but I would prefer if reviews were ...
syb0rg's user avatar
  • 21.8k
16 votes
2 answers
3k views

A completely overkill BrainFuck lexer/parser

I'll need to build a syntax tree (AST) for Rubberduck, but since VBA has dozens of tokens and complex rules, I needed a simpler language to play with first, so I thought BrainFuck would be a perfect ...
Mathieu Guindon's user avatar
15 votes
2 answers
2k views

Markdown to HTML

...
bjb568's user avatar
  • 659
12 votes
2 answers
4k views

More efficient way to retrieve data from JSON

I am using the jsmn JSON parser (source code) to get extract data from a JSON string. jsmn stores the data in tokens that just point to the token boundaries in the JSON string instead of copying the ...
syb0rg's user avatar
  • 21.8k
10 votes
1 answer
438 views

Python - basis of a parser library

This is a followup of sorts to this question: link. 'Of sorts' because, as pointed out in the comments, this question should have been asked first. I'm writing a parser library in Python, mostly for ...
Michail's user avatar
  • 459
10 votes
2 answers
196 views

Of Procedures and Variables: never enough nodes

Building on my ANTLR tree listener, I'm now starting to see how the whole thing is coming together. As I proceed to implement the numerous Node classes I'm going ...
Mathieu Guindon's user avatar
9 votes
1 answer
11k views

Creating truth table from a logical statement

This code creates a truth table from a statement in logic. The statement is input as a string, and it is identified as a tautology if it is true for all true and false combinations of the variables. ...
Vermillion's user avatar
9 votes
1 answer
6k views

Equation parser and solver

I wrote this equation parser and solver, I feel like it is well documented and tested: ...
Caridorc's user avatar
  • 27.5k
5 votes
4 answers
5k views

`atof` implementation

I have implemented the atof function. Here is my implementation ...
lost_in_the_source's user avatar
5 votes
1 answer
475 views

Python parser for attributes in a HAML template

I'm working on a feature for the HamlPy (Haml for Django) project: About Haml For those who don't know, Haml is an indentation-based markup language which compiles to HTML: ...
waitinforatrain's user avatar
4 votes
1 answer
729 views

Basic recursive descent parser in C

The purpose of this code is to evaluate simple integer expressions that make use of the C arithmetic and bitwise operators while respecting C operator precedence and parenthesis. I wrote this code ...
CPlus's user avatar
  • 928
4 votes
3 answers
602 views

Parse 2D matrix, 2 versions

I'm writing a little C program that computes matrices (for learning purpose). The matrix is fed through arguments in the following form : "{{43,543.324,34},{43,432,87}}" The user doesn't give the ...
Vincent Pasquier's user avatar
3 votes
1 answer
74 views

Natural language text fast tokenizer (Rev.4)

This is the forth iteration of the Natural language text fast tokenizer code review. Special thanks goes to G. Sliepen, Toby Speight and uli who conducted previous reviews and to Matthieu M. and ...
Damir Tenishev's user avatar
3 votes
1 answer
107 views

Natural language text fast tokenizer (Rev.2)

This is the second iteration of the Natural language text fast tokenizer code review. Special thanks goes to G. Sliepen and Toby Speight who conducted the first review. Functional specification ...
Damir Tenishev's user avatar
3 votes
1 answer
744 views

Type converter framework (v2)

This is the second version of my type converter framework. The the previous one can be found here: Type creator service & framework In this version I mostly implemented what @Dmitry Nogin ...
t3chb0t's user avatar
  • 44.3k
2 votes
1 answer
71 views

Multithreaded natural language text parser (Rev.2)

This is the second iteration of the Multithreaded natural language text parser code review. Special thanks goes to G. Sliepen who conducted the first review. Before reading this post, please read the ...
Damir Tenishev's user avatar
2 votes
1 answer
300 views

Parser Combinators in OO C

In trying to understand and use the Parser Combinator concept, I've coded up as close an analogue as I could manage within the constraints of the C language. C doesn't have first-class functions or ...
luser droog's user avatar
  • 2,038
1 vote
1 answer
330 views

Deserializing a customly formatted string

The component receives a serialized message as a string and a serialized schema as a string. The ...
Sam's user avatar
  • 179
1 vote
1 answer
71 views

Advent of Code 2020 - Day 3: tobogganing down a slope

Previous: Advent of Code 2020 - Day 2: validating passwords Problem statement I decided to take a shot at Advent of Code 2020 to exercise my Rust knowledge. Here's the task for Day 3: Day 3: ...
L. F.'s user avatar
  • 9,570
27 votes
5 answers
12k views

High performance txt file parsing

EDIT2: There is a summary below of the findings with new improved code and run time results achieved. Multi threaded follow up has been posted here. I find, in my daily programming, that text-file ...
Oliver Schönrock's user avatar
23 votes
3 answers
3k views

Parsing log files of HearthStone: The log reading API

I'm still working on a parser that can parse log entries from a game called HearthStone, the overall idea is that it will read the log file live when the game is running, parses the log file and show ...
skiwi's user avatar
  • 10.6k
15 votes
5 answers
8k views

Finding longest word in a string

I was working on a problem from Coderbyte. The challenge was to write a function that takes in a string and returns the longest word in the string. If two words are the same size then it asks to ...
user2801122's user avatar
15 votes
2 answers
338 views

My recursive parser is wet behind the ears (well, it's not DRY at least)

I have an issue opened on GitHub since mid-November, to refactor & DRY up the Rubberduck Parser module (the idea is to model the code in a VBA project or code ...
Mathieu Guindon's user avatar
14 votes
1 answer
808 views

Rubberduck VBA Parser, Episode IV: A New Hope

My home-made wannabe-a-parser was wet behind the ears, so I started seriously looking into more mature alternatives, and ended up adding a dependency to the ANTLR lexer/parser generator tool, and ...
Mathieu Guindon's user avatar
12 votes
1 answer
661 views

C++ Parsing with chain of responsibility

The task was to create the parser for the string input, that would return the std::vector< int > of parsed numeric results and the type of given input (e.g. numbers, division by zero error, out of ...
Wawrzyn321's user avatar
11 votes
3 answers
2k views

Parsing expression with exponents and evaluating

I'm programming a basic command line calculator in java that can parse expressions and evaluate them, does not handle brackets yet. For example an expression: \$9+9/2^2*5-1\$. At this point I can ...
penguinguy's user avatar
11 votes
2 answers
212 views

Using state transitions to filter C comments

This is my second attempt at K&R 1-23, Write a program to remove all comments from a C program. Don't forget to handle quoted strings and character constants properly. C comments don't nest....
ivan's user avatar
  • 795
10 votes
4 answers
543 views

Improving the readability and efficiency of parser code

Recently, I had a test and I wrote this code, but they didn't like my code because it was "deplete and nested". In order to improve my skills, what would be good ways to make this more readable and ...
Emilio Gort's user avatar
10 votes
5 answers
2k views

Using TryXXX pattern to avoid exceptions

I have been using the TryXXX and GetXXX pattern lately to give clients a choice whether to trap an exception or to read a boolean. An example of this concept would be ...
Mike's user avatar
  • 243
10 votes
2 answers
1k views

Simple parser using Flex and C++

This is an alternative parser based on the specifications from this question. Briefly stated, the input file is a text file which has at least 33 fields separated by semicolons. If the fourth field ...
Edward's user avatar
  • 66.5k
10 votes
2 answers
9k views

Parsing cron expression

I'm building my own scheduler and I took the first step by creating a cron expression parser. To test it I used this expression to cover each case. (I guess the 52W is wrong but this doesn't matter ...
t3chb0t's user avatar
  • 44.3k
9 votes
3 answers
1k views

Match a simple balanced language

I apologise if the title is not very descriptive. If someone can recommend a clearer one I'll edit it. I have an exercise question as: The language L={anbn} where n ≥ 1, is a language of all words ...
user931018's user avatar
9 votes
2 answers
251 views

JSON4 parser in Typescript

Context I may have accidentally gotten a little sidetracked during homeschooling, and wrote a JSON4 parser in Typescript during the down-time. This project started as an idea that I got while ...
Patrick Hollweck's user avatar
9 votes
2 answers
911 views

Serializing JSON data coming from two URLs in the same object

I have two URLs (urlA and urlB) and both the URL gives me a JSON response back in the same JSON format. Below is my JSON string ...
arsenal's user avatar
  • 2,167
8 votes
3 answers
2k views

Calculator using tokens of numbers and operators

Lately there has been some questions regarding calculators, where the response typically has suggested simplifying the logic and using either abstract syntax tree or token lists (like I did myself in ...
holroy's user avatar
  • 11.5k
8 votes
2 answers
555 views

Command line parser only with switches (if-less)

I've been playing around with C# 7 and created this if-less and switch-only command-line parser. What do you think of it? Can it be made more C# 7 or otherwise ...
t3chb0t's user avatar
  • 44.3k
8 votes
2 answers
2k views

Parsing Wikipedia table with Python

I am new to Python and recently started exploring web crawling. The code below parses the S&P 500 List Wikipedia page and writes the data of a specific table into a database. While this script is ...
DatenBergwerker's user avatar
8 votes
2 answers
978 views

JVM bytecode instruction struct with serializer & parser

I am writing a java class file parsing & serialization library. As part of that i needed to implement a structure for the JVM bytecode instructions as well as come up with a way to parse & ...
p0sa's user avatar
  • 81
8 votes
2 answers
331 views

Log messages parser

I've been studying Haskell for some time, but I have never used it for real. So, I started following the CIS 194 Course from UPenn. I resolved the second homework but I'm not fully satisfied with the ...
Lucas Kreutz's user avatar
8 votes
1 answer
690 views

HTML Parser (using SAX)

Got bored writing a review on an HTML parser and decided I wanted to try. So I threw this together to see I could parse an Amazon page. ...
Loki Astari's user avatar
  • 95.4k