CHDK_DE Vorschauversion  Trunk Rev. 5411
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
tokenizer.h-Dateireferenz
+ Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

gehe zum Quellcode dieser Datei

Aufzählungen

enum  ubasic_token {
  TOKENIZER_ERROR, TOKENIZER_ENDOFINPUT, TOKENIZER_NUMBER, TOKENIZER_STRING,
  TOKENIZER_VARIABLE, TOKENIZER_LET, TOKENIZER_PRINT_SCREEN, TOKENIZER_PRINT,
  TOKENIZER_IF, TOKENIZER_THEN, TOKENIZER_ELSE, TOKENIZER_ENDIF,
  TOKENIZER_SELECT, TOKENIZER_CASE_ELSE, TOKENIZER_CASE, TOKENIZER_END_SELECT,
  TOKENIZER_FOR, TOKENIZER_TO, TOKENIZER_NEXT, TOKENIZER_STEP,
  TOKENIZER_GOTO, TOKENIZER_DO, TOKENIZER_UNTIL, TOKENIZER_WHILE,
  TOKENIZER_WEND, TOKENIZER_GOSUB, TOKENIZER_RETURN, TOKENIZER_REM,
  TOKENIZER_END, TOKENIZER_CLS, TOKENIZER_COMMA, TOKENIZER_SEMICOLON,
  TOKENIZER_PLUS, TOKENIZER_MINUS, TOKENIZER_AND, TOKENIZER_OR,
  TOKENIZER_XOR, TOKENIZER_ASTR, TOKENIZER_SLASH, TOKENIZER_MOD,
  TOKENIZER_LEFTPAREN, TOKENIZER_RIGHTPAREN, TOKENIZER_LT, TOKENIZER_GT,
  TOKENIZER_EQ, TOKENIZER_NE, TOKENIZER_LE, TOKENIZER_GE,
  TOKENIZER_LNOT, TOKENIZER_LAND, TOKENIZER_LOR, TOKENIZER_CR,
  TOKENIZER_LABEL, TOKENIZER_SLEEP, TOKENIZER_CLICK, TOKENIZER_PRESS,
  TOKENIZER_RELEASE, TOKENIZER_SHOOT, TOKENIZER_SET_CONSOLE_LAYOUT, TOKENIZER_SET_CONSOLE_AUTOREDRAW,
  TOKENIZER_CONSOLE_REDRAW, TOKENIZER_GET_TV96, TOKENIZER_GET_USER_TV96, TOKENIZER_GET_USER_TV_ID,
  TOKENIZER_SET_TV96_DIRECT, TOKENIZER_SET_TV96, TOKENIZER_SET_USER_TV96, TOKENIZER_SET_USER_TV_BY_ID,
  TOKENIZER_SET_USER_TV_BY_ID_REL, TOKENIZER_GET_AV96, TOKENIZER_GET_USER_AV96, TOKENIZER_GET_USER_AV_ID,
  TOKENIZER_SET_AV96_DIRECT, TOKENIZER_SET_AV96, TOKENIZER_SET_USER_AV96, TOKENIZER_SET_USER_AV_BY_ID,
  TOKENIZER_SET_USER_AV_BY_ID_REL, TOKENIZER_GET_DAY_SECONDS, TOKENIZER_GET_TICK_COUNT, TOKENIZER_GET_TIME,
  TOKENIZER_GET_ZOOM, TOKENIZER_SET_ZOOM, TOKENIZER_SET_ZOOM_REL, TOKENIZER_SET_ZOOM_SPEED,
  TOKENIZER_SET_RECORD, TOKENIZER_GET_FOCUS, TOKENIZER_SET_FOCUS, TOKENIZER_GET_NEAR_LIMIT,
  TOKENIZER_GET_FAR_LIMIT, TOKENIZER_GET_DOF, TOKENIZER_GET_HYPERFOCAL_DIST, TOKENIZER_GET_SD_OVER_MODES,
  TOKENIZER_GET_ISO_MARKET, TOKENIZER_GET_ISO_REAL, TOKENIZER_GET_BV96, TOKENIZER_GET_SV96,
  TOKENIZER_GET_ISO_MODE, TOKENIZER_SET_ISO_REAL, TOKENIZER_SET_ISO_MODE, TOKENIZER_SET_SV96,
  TOKENIZER_GET_PROP, TOKENIZER_SET_PROP, TOKENIZER_GET_VBATT, TOKENIZER_SET_LED,
  TOKENIZER_SET_ISO_DIRECT, TOKENIZER_WAIT_CLICK, TOKENIZER_IS_PRESSED, TOKENIZER_IS_KEY,
  TOKENIZER_SET_EXIT_KEY, TOKENIZER_WHEEL_LEFT, TOKENIZER_WHEEL_RIGHT, TOKENIZER_MD_DETECT_MOTION,
  TOKENIZER_MD_GET_CELL_DIFF, TOKENIZER_MD_GET_CELL_VAL, TOKENIZER_MD_AF_LED_CONTROL, TOKENIZER_MEM_DUMP,
  TOKENIZER_GET_RAW_SUPPORT, TOKENIZER_SET_RAW_NR, TOKENIZER_GET_RAW_NR, TOKENIZER_SET_RAW,
  TOKENIZER_GET_RAW, TOKENIZER_SCRIPT_AUTOSTARTED, TOKENIZER_GET_SCRIPT_AUTOSTART, TOKENIZER_SET_SCRIPT_AUTOSTART,
  TOKENIZER_GET_USB_POWER, TOKENIZER_SET_REMOTE_TIMING, TOKENIZER_FORCE_USB_PRESENT, TOKENIZER_USB_SYNC_WAIT,
  TOKENIZER_EXIT_ALT, TOKENIZER_ENTER_ALT, TOKENIZER_GET_ALT_MODE, TOKENIZER_SHUT_DOWN,
  TOKENIZER_SET_ND_FILTER, TOKENIZER_GET_DISK_SIZE, TOKENIZER_GET_FREE_DISK_SPACE, TOKENIZER_GET_JPG_COUNT,
  TOKENIZER_GET_RAW_COUNT, TOKENIZER_GET_VIDEO_BUTTON, TOKENIZER_RANDOM, TOKENIZER_GET_MOVIE_STATUS,
  TOKENIZER_GET_MODE, TOKENIZER_PLAY_SOUND, TOKENIZER_GET_DISPLAY_MODE, TOKENIZER_GET_EXP_COUNT,
  TOKENIZER_GET_DRIVE_MODE, TOKENIZER_GET_FOCUS_MODE, TOKENIZER_GET_FLASH_MODE, TOKENIZER_GET_SHOOTING,
  TOKENIZER_GET_FLASH_READY, TOKENIZER_GET_IS_MODE, TOKENIZER_SET_EV, TOKENIZER_GET_EV,
  TOKENIZER_GET_ORIENTATION_SENSOR, TOKENIZER_GET_ZOOM_STEPS, TOKENIZER_GET_ND_PRESENT, TOKENIZER_GET_PROPSET,
  TOKENIZER_SHOT_HISTO_ENABLE, TOKENIZER_GET_HISTO_RANGE, TOKENIZER_GET_TEMPERATURE, TOKENIZER_SET_MOVIE_STATUS,
  TOKENIZER_GET_RESOLUTION, TOKENIZER_GET_QUALITY, TOKENIZER_SET_RESOLUTION, TOKENIZER_SET_QUALITY,
  TOKENIZER_GET_PLATFORM_ID, TOKENIZER_SET_BACKLIGHT, TOKENIZER_SET_LCDDISPLAY, TOKENIZER_SET_DRAW_TITLE_LINE,
  TOKENIZER_GET_DRAW_TITLE_LINE, TOKENIZER_SET_AELOCK, TOKENIZER_SET_AFLOCK, TOKENIZER_SET_MF,
  TOKENIZER_GET_CAPTURE_MODE, TOKENIZER_SET_CAPTURE_MODE, TOKENIZER_SET_CAPTURE_MODE_CANON, TOKENIZER_IS_CAPTURE_MODE_VALID,
  TOKENIZER_REBOOT, TOKENIZER_GET_FOCAL_LENGTH, TOKENIZER_GET_FOCUS_STATE, TOKENIZER_GET_FOCUS_OK,
  TOKENIZER_GET_MIN_STACK_DIST, TOKENIZER_GET_CONFIG_VALUE, TOKENIZER_SET_CONFIG_VALUE, TOKENIZER_SET_YIELD,
  TOKENIZER_SWAP_PARTITIONS, TOKENIZER_ISO_TO_SV96, TOKENIZER_SV96_TO_ISO, TOKENIZER_ISO_REAL_TO_MARKET,
  TOKENIZER_ISO_MARKET_TO_REAL, TOKENIZER_SV96_REAL_TO_MARKET, TOKENIZER_SV96_MARKET_TO_REAL, TOKENIZER_APERTURE_TO_AV96,
  TOKENIZER_AV96_TO_APERTURE, TOKENIZER_USEC_TO_TV96, TOKENIZER_TV96_TO_USEC, TOKENIZER_SECONDS_TO_TV96,
  TOKENIZER_GET_VIDEO_RECORDING, TOKENIZER_GET_CURRENT_AV96, TOKENIZER_GET_CURRENT_TV96, TOKENIZER_GET_IMAGER_ACTIVE,
  TOKENIZER_GET_MAX_AV96, TOKENIZER_GET_MIN_AV96, TOKENIZER_GET_ND_VALUE_EV96, TOKENIZER_GET_ND_CURRENT_EV96
}
 

Funktionen

void tokenizer_init (const char *program)
 
void tokenizer_next (void)
 
int tokenizer_token (void)
 
int tokenizer_num (void)
 
int tokenizer_variable_num (void)
 
void tokenizer_string (char *dest, int len)
 
void tokenizer_label (char *dest, int len)
 
int tokenizer_line_number (void)
 
int tokenizer_finished (void)
 
void tokenizer_error_print (void)
 

Dokumentation der Aufzählungstypen

Aufzählungswerte
TOKENIZER_ERROR 
TOKENIZER_ENDOFINPUT 
TOKENIZER_NUMBER 
TOKENIZER_STRING 
TOKENIZER_VARIABLE 
TOKENIZER_LET 
TOKENIZER_PRINT_SCREEN 
TOKENIZER_PRINT 
TOKENIZER_IF 
TOKENIZER_THEN 
TOKENIZER_ELSE 
TOKENIZER_ENDIF 
TOKENIZER_SELECT 
TOKENIZER_CASE_ELSE 
TOKENIZER_CASE 
TOKENIZER_END_SELECT 
TOKENIZER_FOR 
TOKENIZER_TO 
TOKENIZER_NEXT 
TOKENIZER_STEP 
TOKENIZER_GOTO 
TOKENIZER_DO 
TOKENIZER_UNTIL 
TOKENIZER_WHILE 
TOKENIZER_WEND 
TOKENIZER_GOSUB 
TOKENIZER_RETURN 
TOKENIZER_REM 
TOKENIZER_END 
TOKENIZER_CLS 
TOKENIZER_COMMA 
TOKENIZER_SEMICOLON 
TOKENIZER_PLUS 
TOKENIZER_MINUS 
TOKENIZER_AND 
TOKENIZER_OR 
TOKENIZER_XOR 
TOKENIZER_ASTR 
TOKENIZER_SLASH 
TOKENIZER_MOD 
TOKENIZER_LEFTPAREN 
TOKENIZER_RIGHTPAREN 
TOKENIZER_LT 
TOKENIZER_GT 
TOKENIZER_EQ 
TOKENIZER_NE 
TOKENIZER_LE 
TOKENIZER_GE 
TOKENIZER_LNOT 
TOKENIZER_LAND 
TOKENIZER_LOR 
TOKENIZER_CR 
TOKENIZER_LABEL 
TOKENIZER_SLEEP 
TOKENIZER_CLICK 
TOKENIZER_PRESS 
TOKENIZER_RELEASE 
TOKENIZER_SHOOT 
TOKENIZER_SET_CONSOLE_LAYOUT 
TOKENIZER_SET_CONSOLE_AUTOREDRAW 
TOKENIZER_CONSOLE_REDRAW 
TOKENIZER_GET_TV96 
TOKENIZER_GET_USER_TV96 
TOKENIZER_GET_USER_TV_ID 
TOKENIZER_SET_TV96_DIRECT 
TOKENIZER_SET_TV96 
TOKENIZER_SET_USER_TV96 
TOKENIZER_SET_USER_TV_BY_ID 
TOKENIZER_SET_USER_TV_BY_ID_REL 
TOKENIZER_GET_AV96 
TOKENIZER_GET_USER_AV96 
TOKENIZER_GET_USER_AV_ID 
TOKENIZER_SET_AV96_DIRECT 
TOKENIZER_SET_AV96 
TOKENIZER_SET_USER_AV96 
TOKENIZER_SET_USER_AV_BY_ID 
TOKENIZER_SET_USER_AV_BY_ID_REL 
TOKENIZER_GET_DAY_SECONDS 
TOKENIZER_GET_TICK_COUNT 
TOKENIZER_GET_TIME 
TOKENIZER_GET_ZOOM 
TOKENIZER_SET_ZOOM 
TOKENIZER_SET_ZOOM_REL 
TOKENIZER_SET_ZOOM_SPEED 
TOKENIZER_SET_RECORD 
TOKENIZER_GET_FOCUS 
TOKENIZER_SET_FOCUS 
TOKENIZER_GET_NEAR_LIMIT 
TOKENIZER_GET_FAR_LIMIT 
TOKENIZER_GET_DOF 
TOKENIZER_GET_HYPERFOCAL_DIST 
TOKENIZER_GET_SD_OVER_MODES 
TOKENIZER_GET_ISO_MARKET 
TOKENIZER_GET_ISO_REAL 
TOKENIZER_GET_BV96 
TOKENIZER_GET_SV96 
TOKENIZER_GET_ISO_MODE 
TOKENIZER_SET_ISO_REAL 
TOKENIZER_SET_ISO_MODE 
TOKENIZER_SET_SV96 
TOKENIZER_GET_PROP 
TOKENIZER_SET_PROP 
TOKENIZER_GET_VBATT 
TOKENIZER_SET_LED 
TOKENIZER_SET_ISO_DIRECT 
TOKENIZER_WAIT_CLICK 
TOKENIZER_IS_PRESSED 
TOKENIZER_IS_KEY 
TOKENIZER_SET_EXIT_KEY 
TOKENIZER_WHEEL_LEFT 
TOKENIZER_WHEEL_RIGHT 
TOKENIZER_MD_DETECT_MOTION 
TOKENIZER_MD_GET_CELL_DIFF 
TOKENIZER_MD_GET_CELL_VAL 
TOKENIZER_MD_AF_LED_CONTROL 
TOKENIZER_MEM_DUMP 
TOKENIZER_GET_RAW_SUPPORT 
TOKENIZER_SET_RAW_NR 
TOKENIZER_GET_RAW_NR 
TOKENIZER_SET_RAW 
TOKENIZER_GET_RAW 
TOKENIZER_SCRIPT_AUTOSTARTED 
TOKENIZER_GET_SCRIPT_AUTOSTART 
TOKENIZER_SET_SCRIPT_AUTOSTART 
TOKENIZER_GET_USB_POWER 
TOKENIZER_SET_REMOTE_TIMING 
TOKENIZER_FORCE_USB_PRESENT 
TOKENIZER_USB_SYNC_WAIT 
TOKENIZER_EXIT_ALT 
TOKENIZER_ENTER_ALT 
TOKENIZER_GET_ALT_MODE 
TOKENIZER_SHUT_DOWN 
TOKENIZER_SET_ND_FILTER 
TOKENIZER_GET_DISK_SIZE 
TOKENIZER_GET_FREE_DISK_SPACE 
TOKENIZER_GET_JPG_COUNT 
TOKENIZER_GET_RAW_COUNT 
TOKENIZER_GET_VIDEO_BUTTON 
TOKENIZER_RANDOM 
TOKENIZER_GET_MOVIE_STATUS 
TOKENIZER_GET_MODE 
TOKENIZER_PLAY_SOUND 
TOKENIZER_GET_DISPLAY_MODE 
TOKENIZER_GET_EXP_COUNT 
TOKENIZER_GET_DRIVE_MODE 
TOKENIZER_GET_FOCUS_MODE 
TOKENIZER_GET_FLASH_MODE 
TOKENIZER_GET_SHOOTING 
TOKENIZER_GET_FLASH_READY 
TOKENIZER_GET_IS_MODE 
TOKENIZER_SET_EV 
TOKENIZER_GET_EV 
TOKENIZER_GET_ORIENTATION_SENSOR 
TOKENIZER_GET_ZOOM_STEPS 
TOKENIZER_GET_ND_PRESENT 
TOKENIZER_GET_PROPSET 
TOKENIZER_SHOT_HISTO_ENABLE 
TOKENIZER_GET_HISTO_RANGE 
TOKENIZER_GET_TEMPERATURE 
TOKENIZER_SET_MOVIE_STATUS 
TOKENIZER_GET_RESOLUTION 
TOKENIZER_GET_QUALITY 
TOKENIZER_SET_RESOLUTION 
TOKENIZER_SET_QUALITY 
TOKENIZER_GET_PLATFORM_ID 
TOKENIZER_SET_BACKLIGHT 
TOKENIZER_SET_LCDDISPLAY 
TOKENIZER_SET_DRAW_TITLE_LINE 
TOKENIZER_GET_DRAW_TITLE_LINE 
TOKENIZER_SET_AELOCK 
TOKENIZER_SET_AFLOCK 
TOKENIZER_SET_MF 
TOKENIZER_GET_CAPTURE_MODE 
TOKENIZER_SET_CAPTURE_MODE 
TOKENIZER_SET_CAPTURE_MODE_CANON 
TOKENIZER_IS_CAPTURE_MODE_VALID 
TOKENIZER_REBOOT 
TOKENIZER_GET_FOCAL_LENGTH 
TOKENIZER_GET_FOCUS_STATE 
TOKENIZER_GET_FOCUS_OK 
TOKENIZER_GET_MIN_STACK_DIST 
TOKENIZER_GET_CONFIG_VALUE 
TOKENIZER_SET_CONFIG_VALUE 
TOKENIZER_SET_YIELD 
TOKENIZER_SWAP_PARTITIONS 
TOKENIZER_ISO_TO_SV96 
TOKENIZER_SV96_TO_ISO 
TOKENIZER_ISO_REAL_TO_MARKET 
TOKENIZER_ISO_MARKET_TO_REAL 
TOKENIZER_SV96_REAL_TO_MARKET 
TOKENIZER_SV96_MARKET_TO_REAL 
TOKENIZER_APERTURE_TO_AV96 
TOKENIZER_AV96_TO_APERTURE 
TOKENIZER_USEC_TO_TV96 
TOKENIZER_TV96_TO_USEC 
TOKENIZER_SECONDS_TO_TV96 
TOKENIZER_GET_VIDEO_RECORDING 
TOKENIZER_GET_CURRENT_AV96 
TOKENIZER_GET_CURRENT_TV96 
TOKENIZER_GET_IMAGER_ACTIVE 
TOKENIZER_GET_MAX_AV96 
TOKENIZER_GET_MIN_AV96 
TOKENIZER_GET_ND_VALUE_EV96 
TOKENIZER_GET_ND_CURRENT_EV96 

Definiert in Zeile 33 der Datei tokenizer.h.

33  {
100  //TOKENIZER_SET_SHUTTER_SPEED,
132  //TOKENIZER_SET_ISO_DL_F_B,
133  //TOKENIZER_SET_ISO_MARKET,
241 } ubasic_token;

Dokumentation der Funktionen

void tokenizer_error_print ( void  )

Definiert in Zeile 480 der Datei tokenizer.c.

481 {
482  DEBUG_PRINTF("tokenizer_error_print: '%s'\n", ptr);
483 }
int tokenizer_finished ( void  )

Definiert in Zeile 486 der Datei tokenizer.c.

487 {
488  return *ptr == 0 || current_token == TOKENIZER_ENDOFINPUT;
489 }
void tokenizer_init ( const char *  program)

Definiert in Zeile 397 der Datei tokenizer.c.

398 {
399  ptr = program;
400  current_line = 1;
403 }
void tokenizer_label ( char *  dest,
int  len 
)

Definiert in Zeile 457 der Datei tokenizer.c.

458 {
459  char *string_end;
460  int string_len;
461 
463  return;
464  }
465  // allow string \r, \n, tabulation and space to end labels
466  string_end = strpbrk(ptr + 1, " \t\r\n");
467 
468  if(string_end == NULL) {
469  return;
470  }
471  string_len = string_end - ptr - 1;
472  if(len < string_len) {
473  string_len = len;
474  }
475  memcpy(dest, ptr + 1, string_len);
476  dest[string_len] = 0;
477 }
int tokenizer_line_number ( void  )

Definiert in Zeile 497 der Datei tokenizer.c.

498 {
499  return current_line;
500 }
void tokenizer_next ( void  )

Definiert in Zeile 412 der Datei tokenizer.c.

413 {
414 
415  if(tokenizer_finished()) {
416  return;
417  }
418 
419  DEBUG_PRINTF("tokenizer_next: %p\n", nextptr);
420  ptr = nextptr;
421  while((*ptr == ' ') || (*ptr == '\t')) {
422  ++ptr;
423  }
425  DEBUG_PRINTF("tokenizer_next: '%s' %d\n", ptr, current_token);
426  return;
427 }
int tokenizer_num ( void  )

Definiert in Zeile 430 der Datei tokenizer.c.

431 {
432  return atoi(ptr);
433 }
void tokenizer_string ( char *  dest,
int  len 
)

Definiert in Zeile 436 der Datei tokenizer.c.

437 {
438  char *string_end;
439  int string_len;
440 
442  return;
443  }
444  string_end = strchr(ptr + 1, '"');
445  if(string_end == NULL) {
446  return;
447  }
448  string_len = string_end - ptr - 1;
449  if(len < string_len) {
450  string_len = len;
451  }
452  memcpy(dest, ptr + 1, string_len);
453  dest[string_len] = 0;
454 }
int tokenizer_token ( void  )

Definiert in Zeile 406 der Datei tokenizer.c.

407 {
408  return current_token;
409 }
int tokenizer_variable_num ( void  )

Definiert in Zeile 492 der Datei tokenizer.c.

493 {
494  return *ptr - (*ptr>='a'?'a':('A'-26));
495 }