mirror of
https://github.com/Ed94/gencpp.git
synced 2025-06-30 19:01:02 -07:00
first serialization of singlehearder without asserts. (Still failing after around 4k lines.
This commit is contained in:
@ -2036,6 +2036,22 @@ CodeVar parse_variable_after_name(
|
||||
return result;
|
||||
}
|
||||
|
||||
internal inline
|
||||
Code parse_simple_preprocess( Parser::TokType which )
|
||||
{
|
||||
using namespace Parser;
|
||||
push_scope();
|
||||
|
||||
Token tok = currtok;
|
||||
tok.Text = str_fmt_buf( "%.*s\n", tok.Length, tok.Text );
|
||||
tok.Length++;
|
||||
Code result = untyped_str( tok );
|
||||
eat( which );
|
||||
|
||||
Context.pop();
|
||||
return result;
|
||||
}
|
||||
|
||||
internal inline
|
||||
Code parse_variable_assignment()
|
||||
{
|
||||
@ -2070,7 +2086,6 @@ Code parse_variable_assignment()
|
||||
return expr;
|
||||
}
|
||||
|
||||
|
||||
internal inline
|
||||
Code parse_operator_function_or_variable( bool expects_function, CodeAttributes attributes, CodeSpecifiers specifiers )
|
||||
{
|
||||
@ -2351,8 +2366,7 @@ CodeBody parse_class_struct_body( Parser::TokType which )
|
||||
break;
|
||||
|
||||
case TokType::Preprocess_Macro:
|
||||
member = untyped_str( currtok );
|
||||
eat( TokType::Preprocess_Macro );
|
||||
member = parse_simple_preprocess( TokType::Preprocess_Macro );
|
||||
break;
|
||||
|
||||
case TokType::Preprocess_Pragma:
|
||||
@ -2370,8 +2384,7 @@ CodeBody parse_class_struct_body( Parser::TokType which )
|
||||
break;
|
||||
|
||||
case TokType::Preprocess_Unsupported:
|
||||
member = untyped_str( currtok );
|
||||
eat( TokType::Preprocess_Unsupported );
|
||||
member = parse_simple_preprocess( TokType::Preprocess_Unsupported );
|
||||
break;
|
||||
|
||||
case TokType::StaticAssert:
|
||||
@ -2687,8 +2700,7 @@ CodeBody parse_global_nspace( CodeT which )
|
||||
break;
|
||||
|
||||
case TokType::Preprocess_Macro:
|
||||
member = untyped_str( currtok );
|
||||
eat( TokType::Preprocess_Macro );
|
||||
member = parse_simple_preprocess( TokType::Preprocess_Macro );
|
||||
break;
|
||||
|
||||
case TokType::Preprocess_Pragma:
|
||||
@ -2706,8 +2718,7 @@ CodeBody parse_global_nspace( CodeT which )
|
||||
break;
|
||||
|
||||
case TokType::Preprocess_Unsupported:
|
||||
member = untyped_str( currtok );
|
||||
eat( TokType::Preprocess_Unsupported );
|
||||
member = parse_simple_preprocess( TokType::Preprocess_Unsupported );
|
||||
break;
|
||||
|
||||
case TokType::StaticAssert:
|
||||
@ -2892,7 +2903,8 @@ CodeEnum parse_enum( bool inplace_def )
|
||||
|
||||
if ( currtok.Type == TokType::BraceCurly_Open )
|
||||
{
|
||||
body = (CodeBody) make_code();
|
||||
body = (CodeBody) make_code();
|
||||
body->Type = ECode::Enum_Body;
|
||||
|
||||
eat( TokType::BraceCurly_Open );
|
||||
|
||||
@ -2929,14 +2941,17 @@ CodeEnum parse_enum( bool inplace_def )
|
||||
break;
|
||||
|
||||
case TokType::Preprocess_Macro:
|
||||
member = untyped_str( currtok );
|
||||
eat( TokType::Preprocess_Macro );
|
||||
member = parse_simple_preprocess( TokType::Preprocess_Macro );
|
||||
break;
|
||||
|
||||
case TokType::Preprocess_Pragma:
|
||||
member = parse_pragma();
|
||||
break;
|
||||
|
||||
case TokType::Preprocess_Unsupported:
|
||||
member = parse_simple_preprocess( TokType::Preprocess_Unsupported );
|
||||
break;
|
||||
|
||||
default:
|
||||
Token entry = currtok;
|
||||
|
||||
@ -3986,14 +4001,17 @@ CodeUnion parse_union( bool inplace_def )
|
||||
break;
|
||||
|
||||
case TokType::Preprocess_Macro:
|
||||
member = untyped_str( currtok );
|
||||
eat( TokType::Preprocess_Macro );
|
||||
member = parse_simple_preprocess( TokType::Preprocess_Macro );
|
||||
break;
|
||||
|
||||
case TokType::Preprocess_Pragma:
|
||||
member = parse_pragma();
|
||||
break;
|
||||
|
||||
case TokType::Preprocess_Unsupported:
|
||||
member = parse_simple_preprocess( TokType::Preprocess_Unsupported );
|
||||
break;
|
||||
|
||||
default:
|
||||
member = parse_variable();
|
||||
break;
|
||||
|
Reference in New Issue
Block a user