source: dev/trunk/jenga/include/smoothie/LexicalAnalysis.h@ 342

Last change on this file since 342 was 341, checked in by dai_9181, 17 years ago
File size: 1.5 KB
Line 
1#pragma once
2
3#include <string>
4#include <vector>
5
6#include <windows.h>
7
8#include <jenga/include/common/String.h>
9
10typedef std::vector<int> Subscripts;
11
12enum ReferenceKind
13{
14 RefNon = 0, // no reference member
15 RefDot, // obj.member
16 RefPointer, // obj->member
17};
18
19bool IsVariableTopChar(char c);
20bool IsVariableChar(char c);
21bool IsBlank(char c);
22int GetOneParameter(const char *Parameter,int pos,char *retAns);
23int JumpOneParameter(char *Parameter,int i);
24int GetStringInQuotation(char *buffer,char *ReadBuffer);
25int GetStringInPare(char *buffer,const char *ReadBuffer);
26int GetStringInBracket(char *buffer,const char *ReadBuffer);
27int GetStringInGenericBracket(char *buffer,const char *ReadBuffer);
28int JumpStringInPare(const char *buffer,int pos);
29int JumpStringInBracket(const char *buffer,int pos);
30bool IsCommandDelimitation( char c );
31int GetStringInPare_RemovePare(char *buffer,const char *ReadBuffer);
32void GetArrange(char *variable,char *variAnswer, Subscripts &subscripts );
33void SplitParameter( const std::string &src, Jenga::Common::Strings &dests, bool isClear = true );
34bool SplitMemberName( const char *desc, char *object, char *member, ReferenceKind &refType );
35bool SplitMemberName( const char *desc, char *object, char *member );
36void GetCalcName(int idCalc,char *name);
37BYTE ToCalcId( const char *name );
38std::string Operator_NaturalStringToCalcMarkString( const std::string &name );
39std::string Operator_CalcMarkStringToNaturalString( const std::string &name );
40bool IsGenericTypeSourcePart( const char *buffer );
Note: See TracBrowser for help on using the repository browser.