#Spider Protocols
###Enveloppe.proto
message Enveloppe {
required string UUID = 1;
required string PayloadBuffer = 2;
required google.protobuf.Any Payload = 3;
}
#Spider Protocols
###Enveloppe.proto
message Enveloppe {
required string UUID = 1;
required string PayloadBuffer = 2;
required google.protobuf.Any Payload = 3;
}
| #include <stdio.h> | |
| #define PRINT(...) CAT(CT(__VA_ARGS__))(__VA_ARGS__) | |
| #define CAT(N) DOG(N) | |
| #define DOG(N) PRINT ## N | |
| /* max supported args is 5 for now */ | |
| #define CT(...) VALS(__VA_ARGS__, 5, 4, 3, 2, 1) | |
| #define VALS(N1, N2, N3, N4, N5, N, ...) N |
IronBNF is a context-sensitive derivate of the original BNF notation.
The BNF syntax describe a grammar by defining rules, and each rule may be a block that may contain blocks.
| #include <stdio.h> | |
| void dummy(float *blblbl) | |
| { | |
| int i; | |
| for (i = 0; i < 2; i++) | |
| printf("%f\n", blblbl[i]); | |
| } |
| CC := gcc | |
| CFLAGS := -fpic | |
| LD := $(CC) | |
| LDFLAGS := -shared | |
| LDLIBS := | |
| all:; @echo $(hello ) | |
| say:; @echo $(say "hello, world") |
| [CCode (cheader_filename = "hello.h")] | |
| namespace Go { | |
| [CCode (cname = "hello")] | |
| extern void hello(); | |
| } |
| #pragma once | |
| #ifndef _EXPAND_MACRO_H_ | |
| # define _EXPAND_MACRO_H_ | |
| # define __DONOTHING(...) | |
| # define __EXPAND(...) __VA_ARGS__ | |
| # define __COMMA(A) A, | |
| # define __CAT(A, B) A ## B | |
| # define CAT(A, B) __CAT(A, B) | |
| # define __SELECT( \ |