/[svn]/linuxsampler/trunk/src/scriptvm/editor/nksp.l
ViewVC logotype

Diff of /linuxsampler/trunk/src/scriptvm/editor/nksp.l

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3561 by schoenebeck, Fri Aug 23 11:44:00 2019 UTC revision 3562 by schoenebeck, Fri Aug 23 12:51:58 2019 UTC
# Line 67  static int countNewLineChars(const char* Line 67  static int countNewLineChars(const char*
67  /* inclusive scanner conditions */  /* inclusive scanner conditions */
68  %s PREPROC_BODY_USE  %s PREPROC_BODY_USE
69  /* exclusive scanner conditions */  /* exclusive scanner conditions */
70  %x PREPROC_SET_COND PREPROC_RESET_COND PREPROC_IF PREPROC_IF_NOT PREPROC_BODY_EAT PREPROC_PRE_BODY_USE PREPROC_PRE_BODY_EAT PREPROC_EVENT_NAME PREPROC_END_NAME  %x PREPROC_SET_COND PREPROC_RESET_COND PREPROC_IF PREPROC_IF_NOT PREPROC_BODY_EAT PREPROC_PRE_BODY_USE PREPROC_PRE_BODY_EAT PREPROC_EVENT_NAME PREPROC_END_NAME METRIC UNIT
71    
72  DIGIT    [0-9]  DIGIT    [0-9]
73  ID       [a-zA-Z][a-zA-Z0-9_]*  ID       [a-zA-Z][a-zA-Z0-9_]*
74  METRIC   (k|h|(da)|d|c|m|u)  METRIC   (k|h|da|d|c|m|u)
75  UNIT     (s|(Hz)|B)  UNIT     (s|Hz|B)
76  END_ID   on|while|if|select|function|synchronized  END_ID   on|while|if|select|function|synchronized
77    
78  %%  %%
# Line 87  END_ID   on|while|if|select|function|syn Line 87  END_ID   on|while|if|select|function|syn
87      return yyextra->token.baseType;      return yyextra->token.baseType;
88  }  }
89    
90  {DIGIT}+({METRIC}{1,2}|({METRIC}{0,2}{UNIT}?)) {  {DIGIT}+/{METRIC}{1,2} {
91        yy_push_state(METRIC, yyscanner);
92      yyextra->token = NumberLiteralToken(yytext);      yyextra->token = NumberLiteralToken(yytext);
93      return yyextra->token.baseType;      return yyextra->token.baseType;
94  }  }
95    
96    {DIGIT}+/{UNIT} {
97        yy_push_state(UNIT, yyscanner);
98        yyextra->token = NumberLiteralToken(yytext);
99        return yyextra->token.baseType;
100    }
101    
102    <METRIC>{METRIC}{1,2} {
103        yyextra->token = MetrixPrefixToken(yytext);
104        yy_pop_state(yyscanner);
105        return yyextra->token.baseType;
106    }
107    
108    <METRIC>{METRIC}{1,2}/{UNIT} {
109        yyextra->token = MetrixPrefixToken(yytext);
110        yy_pop_state(yyscanner);
111        yy_push_state(UNIT, yyscanner);
112        return yyextra->token.baseType;
113    }
114    
115    <UNIT>{UNIT} {
116        yyextra->token = StdUnitToken(yytext);
117        yy_pop_state(yyscanner);
118        return yyextra->token.baseType;
119    }
120    
121   /* there is currently no support for floating point numbers in NKSP yet */   /* there is currently no support for floating point numbers in NKSP yet */
122   /*{DIGIT}+"."{DIGIT}* {   /*{DIGIT}+"."{DIGIT}* {
123      yyextra->token = NumberLiteralToken(yytext);      yyextra->token = NumberLiteralToken(yytext);

Legend:
Removed from v.3561  
changed lines
  Added in v.3562

  ViewVC Help
Powered by ViewVC