前言
闲来无是的我用define写了一种“语言”
代码
sentence.h:
char *notuse_sentence="notuse";
#ifndef SENTENCE_H
#define SENTENCE_H
#ifndef assert
#include<assert.h>
#endif
#define Space namespace
#define Uncertain(a) template<typename a>
#define Use using
#define BEGIN ( /*(*/
#define END ) /*)*/
#define Then ){ /*){*/
#define End } /*}*/
#define Begin { /*{*/
#define And , /*,*/
#define BE () /*()*/
/*if*/
#define If if( /*if语句*/
/*while*/
#define While while( /*while*/
/*for*/
#define For for(
#define Next ;
/*assert*/
#define MustBeTrue(a) ((a) ? (void)0 : _assert(#a, __FILE__, __LINE__))
#define Mustbe MustBeTrue(
/*---end---*/
#endif
newtype.h:
char *notuse_newtype="notuse";
#ifndef NEWTYPE_H
#define NEWTYPE_H
#define L_ long
#define l_ long
#define Typedef typedef
/*void*/
Typedef void Empty;
/*整形*/
Typedef short Short;
Typedef int Int;
/*实形*/
Typedef float Float;
Typedef double Double;
//字符
Typedef char Char;
/*类*/
#define CLASS class{
#define Expose public:
#define Hide private:
#define Pexpose protected:
#define Total struct{
/*其他*/
#define Line __LINE__
#define File __FILE__
#endif
standard:
#ifndef STANDARD_H
#define STANDARD_H
/*头文件*/
#include<sentence.h>
#include<newtype.h>
#include<stdio.h>
/*std库*/
Space STD Begin
Int print BEGIN const char *__format, ... Then
register int __retval;
__builtin_va_list __local_argv;__builtin_va_start( __local_argv, __format );
__retval=__builtin_vprintf( __format, __local_argv );
__builtin_va_end( __local_argv );
return __retval;
End
End Next
#endif
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
记录:
2023.7.4:
完成senence.h,newtype.h,开始制造standard,开始制造STD,完成print
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
有兴趣的可以看看。
资源
一个用c++define做的“语言” standard
一个用c++define做的“语言” sentence.h
一个用c++define做的“语言” newtype.h
写在最后
谢谢大家能看到最后,在下感激不尽。
附:第一的“c”程序
#include<standard>
Use Space STD Next
Int main BEGIN Then
print BEGIN "Hello,words!" END Next
End