Skip to content

Instantly share code, notes, and snippets.

View Tran-Antoine's full-sized avatar

Antoine Tran Tran-Antoine

  • EPFL
  • Lausanne, Switzerland
View GitHub Profile
@Tran-Antoine
Tran-Antoine / ExpressionParsers.scala
Last active October 28, 2020 22:34
A RegexParsers implementation to parse mathematical expressions.
import scala.util.parsing.combinator.RegexParsers
class ExpressionParser extends RegexParsers {
/**
* Parses a mathematical expression.
* @return any kind of mathematical expression
*/
def expression: Parser[Expression] = allExpressions(0)

L'idée de l'abstraction, c'est de découper une classe en morceaux, pour pouvoir demander en paramètre un seul de ces morceaux plutôt que l'objet "en entier". Pour comprendre l'utilité que cela a, et comment appliquer ce principe, prenons comme exemple une classe Human, parce que c'est un truc qu'on connaît plutôt pas trop mal.

class Human {
  
    int air;
    int satiete;
    float energie;
@Tran-Antoine
Tran-Antoine / binary_tree.py
Created February 28, 2020 15:35
Simple programm to evaluate expressions
class Branch:
def __init__(self, value):
self.value = value
self.operation = None
self.left = None
self.right = None
self.split()
self.simplified_result = self.eval_branch()
@Tran-Antoine
Tran-Antoine / backup.py
Created September 30, 2019 12:41
Automates backups by converting folders to zip archives repeatedly
import zipfile
import os, sys
import time, threading
class BackUpLoop(threading.Thread):
def __init__(self, dirName, repeatTime):
threading.Thread.__init__(self)
self.dirName = dirName
self.repeatTime = repeatTime
@Tran-Antoine
Tran-Antoine / MainTester.java
Last active February 4, 2019 20:58
Mathematical expression manager
package net.akami.mask.core;
import net.akami.mask.utils.ReducerFactory;
public class MainTester {
public static void main(String... args) {
RestCalculation rest = ReducerFactory.reduce("4*3^2-12");
System.out.println(rest.asInt());