minor formatting
This commit is contained in:
parent
b35b1005d8
commit
f44d7556be
2
Makefile
2
Makefile
|
@ -2,7 +2,7 @@ CC=gcc
|
|||
|
||||
# -O3 -g
|
||||
# -std=gnu11
|
||||
CFLAGS=-Wall -pg -std=gnu11 -pedantic -DUNIX_HOST -DVER=\"`git show-ref --abbrev=8 --head --hash head`\" -DTAG=\"`git describe --abbrev=0 --tags`\"
|
||||
CFLAGS=-Wall -g -std=gnu11 -pedantic -DUNIX_HOST -DVER=\"`git show-ref --abbrev=8 --head --hash head`\" -DTAG=\"`git describe --abbrev=0 --tags`\"
|
||||
LIBS=-lm -lreadline
|
||||
|
||||
TARGET = picoc
|
||||
|
|
|
@ -650,7 +650,7 @@ void ExpressionPrefixOperator(struct ParseState *Parser,
|
|||
TypeGetMatching(Parser->pc, Parser, TopValue->Typ,
|
||||
TypePointer, 0, Parser->pc->StrEmpty, true),
|
||||
false, NULL, false);
|
||||
Result->Val->Pointer = (void *)ValPtr;
|
||||
Result->Val->Pointer = (void*)ValPtr;
|
||||
ExpressionStackPushValueNode(Parser, StackTop, Result);
|
||||
break;
|
||||
case TokenAsterisk:
|
||||
|
|
108
interpreter.h
108
interpreter.h
|
@ -59,32 +59,100 @@ enum LexToken
|
|||
{
|
||||
/* 0x00 */ TokenNone,
|
||||
/* 0x01 */ TokenComma,
|
||||
/* 0x02 */ TokenAssign, TokenAddAssign, TokenSubtractAssign, TokenMultiplyAssign, TokenDivideAssign, TokenModulusAssign,
|
||||
/* 0x08 */ TokenShiftLeftAssign, TokenShiftRightAssign, TokenArithmeticAndAssign, TokenArithmeticOrAssign, TokenArithmeticExorAssign,
|
||||
/* 0x0d */ TokenQuestionMark, TokenColon,
|
||||
/* 0x02 */ TokenAssign,
|
||||
TokenAddAssign,
|
||||
TokenSubtractAssign,
|
||||
TokenMultiplyAssign,
|
||||
TokenDivideAssign,
|
||||
TokenModulusAssign,
|
||||
/* 0x08 */ TokenShiftLeftAssign,
|
||||
TokenShiftRightAssign,
|
||||
TokenArithmeticAndAssign,
|
||||
TokenArithmeticOrAssign,
|
||||
TokenArithmeticExorAssign,
|
||||
/* 0x0d */ TokenQuestionMark,
|
||||
TokenColon,
|
||||
/* 0x0f */ TokenLogicalOr,
|
||||
/* 0x10 */ TokenLogicalAnd,
|
||||
/* 0x11 */ TokenArithmeticOr,
|
||||
/* 0x12 */ TokenArithmeticExor,
|
||||
/* 0x13 */ TokenAmpersand,
|
||||
/* 0x14 */ TokenEqual, TokenNotEqual,
|
||||
/* 0x16 */ TokenLessThan, TokenGreaterThan, TokenLessEqual, TokenGreaterEqual,
|
||||
/* 0x1a */ TokenShiftLeft, TokenShiftRight,
|
||||
/* 0x1c */ TokenPlus, TokenMinus,
|
||||
/* 0x1e */ TokenAsterisk, TokenSlash, TokenModulus,
|
||||
/* 0x21 */ TokenIncrement, TokenDecrement, TokenUnaryNot, TokenUnaryExor, TokenSizeof, TokenCast,
|
||||
/* 0x27 */ TokenLeftSquareBracket, TokenRightSquareBracket, TokenDot, TokenArrow,
|
||||
/* 0x2b */ TokenOpenBracket, TokenCloseBracket,
|
||||
/* 0x2d */ TokenIdentifier, TokenIntegerConstant, TokenFPConstant, TokenStringConstant, TokenCharacterConstant,
|
||||
/* 0x32 */ TokenSemicolon, TokenEllipsis,
|
||||
/* 0x34 */ TokenLeftBrace, TokenRightBrace,
|
||||
/* 0x36 */ TokenIntType, TokenCharType, TokenFloatType, TokenDoubleType, TokenVoidType, TokenEnumType,
|
||||
/* 0x3c */ TokenLongType, TokenSignedType, TokenShortType, TokenStaticType, TokenAutoType, TokenRegisterType, TokenExternType, TokenStructType, TokenUnionType, TokenUnsignedType, TokenTypedef,
|
||||
/* 0x46 */ TokenContinue, TokenDo, TokenElse, TokenFor, TokenGoto, TokenIf, TokenWhile, TokenBreak, TokenSwitch, TokenCase, TokenDefault, TokenReturn,
|
||||
/* 0x52 */ TokenHashDefine, TokenHashInclude, TokenHashIf, TokenHashIfdef, TokenHashIfndef, TokenHashElse, TokenHashEndif,
|
||||
/* 0x59 */ TokenNew, TokenDelete,
|
||||
/* 0x14 */ TokenEqual,
|
||||
TokenNotEqual,
|
||||
/* 0x16 */ TokenLessThan,
|
||||
TokenGreaterThan,
|
||||
TokenLessEqual,
|
||||
TokenGreaterEqual,
|
||||
/* 0x1a */ TokenShiftLeft,
|
||||
TokenShiftRight,
|
||||
/* 0x1c */ TokenPlus,
|
||||
TokenMinus,
|
||||
/* 0x1e */ TokenAsterisk,
|
||||
TokenSlash,
|
||||
TokenModulus,
|
||||
/* 0x21 */ TokenIncrement,
|
||||
TokenDecrement,
|
||||
TokenUnaryNot,
|
||||
TokenUnaryExor,
|
||||
TokenSizeof,
|
||||
TokenCast,
|
||||
/* 0x27 */ TokenLeftSquareBracket,
|
||||
TokenRightSquareBracket,
|
||||
TokenDot,
|
||||
TokenArrow,
|
||||
/* 0x2b */ TokenOpenBracket,
|
||||
TokenCloseBracket,
|
||||
/* 0x2d */ TokenIdentifier,
|
||||
TokenIntegerConstant,
|
||||
TokenFPConstant,
|
||||
TokenStringConstant,
|
||||
TokenCharacterConstant,
|
||||
/* 0x32 */ TokenSemicolon,
|
||||
TokenEllipsis,
|
||||
/* 0x34 */ TokenLeftBrace,
|
||||
TokenRightBrace,
|
||||
/* 0x36 */ TokenIntType,
|
||||
TokenCharType,
|
||||
TokenFloatType,
|
||||
TokenDoubleType,
|
||||
TokenVoidType,
|
||||
TokenEnumType,
|
||||
/* 0x3c */ TokenLongType,
|
||||
TokenSignedType,
|
||||
TokenShortType,
|
||||
TokenStaticType,
|
||||
TokenAutoType,
|
||||
TokenRegisterType,
|
||||
TokenExternType,
|
||||
TokenStructType,
|
||||
TokenUnionType,
|
||||
TokenUnsignedType,
|
||||
TokenTypedef,
|
||||
/* 0x46 */ TokenContinue,
|
||||
TokenDo,
|
||||
TokenElse,
|
||||
TokenFor,
|
||||
TokenGoto,
|
||||
TokenIf,
|
||||
TokenWhile,
|
||||
TokenBreak,
|
||||
TokenSwitch,
|
||||
TokenCase,
|
||||
TokenDefault,
|
||||
TokenReturn,
|
||||
/* 0x52 */ TokenHashDefine,
|
||||
TokenHashInclude,
|
||||
TokenHashIf,
|
||||
TokenHashIfdef,
|
||||
TokenHashIfndef,
|
||||
TokenHashElse,
|
||||
TokenHashEndif,
|
||||
/* 0x59 */ TokenNew,
|
||||
TokenDelete,
|
||||
/* 0x5b */ TokenOpenMacroBracket,
|
||||
/* 0x5c */ TokenEOF, TokenEndOfLine, TokenEndOfFunction
|
||||
/* 0x5c */ TokenEOF,
|
||||
TokenEndOfLine,
|
||||
TokenEndOfFunction
|
||||
};
|
||||
|
||||
/* used in dynamic memory allocation */
|
||||
|
|
|
@ -261,7 +261,7 @@ void VariableScopeEnd(struct ParseState *Parser, int ScopeID, int PrevScopeID)
|
|||
Parser->ScopeID = PrevScopeID;
|
||||
}
|
||||
|
||||
int VariableDefinedAndOutOfScope(Picoc * pc, const char* Ident)
|
||||
int VariableDefinedAndOutOfScope(Picoc *pc, const char* Ident)
|
||||
{
|
||||
int Count;
|
||||
struct TableEntry *Entry;
|
||||
|
|
Loading…
Reference in a new issue