Skip to content

Instantly share code, notes, and snippets.

View TomasDrozdik's full-sized avatar

drozt TomasDrozdik

View GitHub Profile
module CFG where
type NT = String
type T = String
data RightSide = NTs (NT, NT) | Term T deriving (Show, Eq, Ord)
type Rule = (NT, RightSide)
type CFG = [Rule]
data Tree a = Tree a [Tree a] deriving Show
label :: Tree a -> Tree (a, Int)
label t = label' 1 t
label' :: Int -> Tree a -> Tree (a, Int)
label' i (Tree x []) = Tree (x, i) []
label' i (Tree x ts) =
let
processed = goThrough i ts
permurations(Xs, Pss) :-
findall(Ys, permutace(Xs, Ys), Pss).
permList(Xs, AkYss, Yss) :-
permutace(Xs, Ys),
\+member(Ys, AkYss),
permList(Xs, [Ys|AkYss], Yss), !.
permList(_, AkYss, Yss) :-
reverse(AkYss, Yss), !.
using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Uloha4_ViceZarovnani;
namespace Uloha4ViceZarovnaniTests
{
[TestClass]
public class ReaderUT
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ConsoleApp1
{
@TomasDrozdik
TomasDrozdik / bitfield.c
Last active November 3, 2018 15:25
C_specialities
#include <stdio.h>
#include <stddef.h>
struct foo {
unsigned short a : 15;
short b : 2;
};
int
main(void)
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace Uloha7_Excel
{
<p><strong><em>CZ (English version below):</em></strong></p>
<p>Napište výrazovou kalkulačku, která dostává na standardní vstup instrukce a na
standardní výstup vypisuje výsledky, případně chybové hlášky. Na jednom řádku
vstupu je vždy jediný příkaz. Kalkulačka zpracovává příkazy jeden po druhém,
přičemž nejprve dokončí jeden příkaz než začne načítat další. Kalkulačka končí
svou práci, pokud dojdou vstupní data (čtení řádku vrátí <code>null</code>) nebo narazí
na řádek obsahující pouze řetězec <code>"end"</code>. Kalkulačka rozeznává tři příkazy:</p>
<ul>
<li>Řádek začínající symbolem <code>"="</code>, za kterým následuje právě jedna mezera a výraz v preorder formátu (viz níže). Kalkulačka si výraz načte a nadále bude pracovat pouze s ním. Pokud již dříve načetla jiný výraz, starý výraz zapomene a nahradí jej novým. Předchozí správně načtený výraz program zapomene i v případě, že při zpracování příkazu <code>"="</code> došlo k chybě.</li>
<li>Samostatný řetězec <code>"i"</code> vyhodnotí naposledy načtený výr
private void ParallelSort<T>(List<T> list, Comparer<T> comparer) {
void MergeSort(List<T> l, Comparer<T> comp, int low, int high) {
int mid = (high - low) / 2;
var t1 = new Thread(() => MergeSort(l, comp, low, mid));
t1.Start();
t1.Join();
MergeSort(l, comp, mid, high);
Merge(l, comp, low, mid, high);
}
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes, calc, positioning, fit, topaths}
\pgfdeclarelayer{background}
\pgfsetlayers{background,main}
\begin{document}