Skip to content

Instantly share code, notes, and snippets.

@mezoni
mezoni / main.dart
Last active February 15, 2025 18:00
Mathematical formula evaluator with support for variables and functions
// ignore_for_file: prefer_conditional_assignment, prefer_final_locals
import 'dart:math' as math;
void main() {
final data = <(String, Map<String, num>, Map<String, Function>)>[
('1 + -10.25e2', {}, {}),
('1 + a * 3', {'a': 2}, {}),
('sin(x)', {'x': 1}, {}),
('2^2^x', {'x': 2}, {}),
@mezoni
mezoni / main.dart
Last active February 15, 2025 18:06
Dart calculator generated by PEG generator. https://pub.dev/packages/peg
// ignore_for_file: prefer_conditional_assignment, prefer_final_locals
void main() {
const source = ' 1 + 2 * 3 + x ';
final result = calc(source, {'x': 5});
print(result);
}
int calc(String source, Map<String, int> vars) {
final parser = CalcParser(vars);
@mezoni
mezoni / csv_parser.dart
Created September 15, 2023 08:54
csv_parser.dart
void main(List<String> args) {
final parser = CsvParser();
final rows = parseString(parser.parseStart, _source);
for (var i = 0; i < rows.length; i++) {
final row = rows[i];
print('Row #$i');
print(row);
}
}