Skip to content

Instantly share code, notes, and snippets.

「int main(int x) { return x; }」
function-definition => 「int main(int x) { return x; }」
declaration-specifiers => 「int 」
declaration-specifier => 「int 」
type-specifier => 「int 」
sym => 「int」
declarator => 「main(int x) 」
direct-declarator => 「main(int x) 」
direct-declarator-first => 「main」
ident => 「main」
use v6;
module C::CAST;
class TranslationUnit {
has ExternalDeclaration @decls;
}
class ExternalDeclaration {
}
@andydude
andydude / myVisitor.cpp
Created April 25, 2013 00:39
My attempt at adding a function to help with the bubbling phase of walking the AST.
unsigned clang_visitChildrenWithPost(CXCursor parent,
CXCursorVisitor visitor,
CXPostChildrenVisitor post_visitor,
CXClientData client_data) {
clang::cxcursor::CursorVisitor CursorVis(clang_Cursor_getTranslationUnit(parent), visitor, client_data,
/*VisitPreprocessorLast=*/false,
/*VisitIncludedPreprocessingEntries=*/false,
/*RegionOfInterest=*/clang::SourceRange(),
/*VisitDeclsOnly=*/false,
/*PostChildrenVisitor=*/post_visitor);
@andydude
andydude / echo.rs
Last active December 17, 2015 22:38
POSIX echo
fn unwords(args: &[~str]) -> ~str {
return str::connect(args, " ");
}
fn echo(args: &[~str]) {
match args.tail() {
[~"-n", ..strs] => print(unwords(strs)),
strs => println(unwords(strs)),
}
}
@andydude
andydude / wc.rs
Last active December 18, 2015 02:38
POSIX wc (word count)
extern mod extra;
use extra::getopts::*;
pub struct Total {
lines: uint,
words: uint,
chars: uint,
bytes: uint
}
;; Default font
(set-default-font "unifont-16")
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (
:family "unifont"
:background "White"
@andydude
andydude / i8kmon.sh
Created November 25, 2014 00:17
Reimplemtnation of i8kmon in Bash because Tcl sucks.
#!/bin/bash
#set config(0) {{- 0} -1 56 -1 56}
#set config(1) {{- 1} 47 75 47 75}
#set config(2) {{- 2} 65 128 65 128}
## config
I8KCTL_FAN="i8kctl fan"
I8KCTL_TEMP="i8kctl temp"
@andydude
andydude / dgst.rs
Last active August 29, 2015 14:10
dgst.rs
extern crate webclient;
use std::io::Reader;
use std::io::stdin;
use webclient::digest::types::HashAlgorithm;
pub fn hash_algorithm_from_lower(name: &str) -> Option<Box<HashAlgorithm+'static>> {
match name {
"-md5" => Some(box webclient::digest::md5::md5_new() as Box<HashAlgorithm>),
"-sha1" => Some(box webclient::digest::sha1::sha1_new() as Box<HashAlgorithm>),
@andydude
andydude / wc.rs
Last active August 29, 2015 14:11
wc.rs
extern crate getopts;
use std::io::File;
use std::path::Path;
use getopts::optflag;
pub struct Total {
lines: uint,
words: uint,
chars: uint,
bytes: uint
trait Mappable
{
type A;
type B;
type M<A> where M<A> = Self;
type M<B>;
fn map<A, B>(self, f: A -> B) -> M<B>;
}