Liqun Wu / Mbed 2 deprecated 90418_mbed_controller

Dependencies:   mbed

Committer:
wuliqunyy
Date:
Mon Jan 17 13:20:09 2022 +0000
Revision:
0:be95bfb06686
a working non_flat + adc_didt for ehp regulation version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wuliqunyy 0:be95bfb06686 1 grammar scpi;
wuliqunyy 0:be95bfb06686 2
wuliqunyy 0:be95bfb06686 3 terminatedProgramMessage
wuliqunyy 0:be95bfb06686 4 : programMessage NL? EOF
wuliqunyy 0:be95bfb06686 5 ;
wuliqunyy 0:be95bfb06686 6
wuliqunyy 0:be95bfb06686 7 programMessage
wuliqunyy 0:be95bfb06686 8 : programMessageUnit (SEMICOLON programMessageUnit)*
wuliqunyy 0:be95bfb06686 9 ;
wuliqunyy 0:be95bfb06686 10
wuliqunyy 0:be95bfb06686 11
wuliqunyy 0:be95bfb06686 12 programMessageUnit
wuliqunyy 0:be95bfb06686 13 : WS* programHeader (WS programData (COMMA programData)*)?
wuliqunyy 0:be95bfb06686 14 ;
wuliqunyy 0:be95bfb06686 15
wuliqunyy 0:be95bfb06686 16 programHeader
wuliqunyy 0:be95bfb06686 17 : compoundProgramHeader
wuliqunyy 0:be95bfb06686 18 | commonProgramHeader
wuliqunyy 0:be95bfb06686 19 ;
wuliqunyy 0:be95bfb06686 20
wuliqunyy 0:be95bfb06686 21 compoundProgramHeader
wuliqunyy 0:be95bfb06686 22 : COLON? PROGRAM_MNEMONIC (COLON PROGRAM_MNEMONIC)* QUESTION?
wuliqunyy 0:be95bfb06686 23 ;
wuliqunyy 0:be95bfb06686 24
wuliqunyy 0:be95bfb06686 25 commonProgramHeader
wuliqunyy 0:be95bfb06686 26 : STAR PROGRAM_MNEMONIC QUESTION?
wuliqunyy 0:be95bfb06686 27 ;
wuliqunyy 0:be95bfb06686 28
wuliqunyy 0:be95bfb06686 29 programDataSeparator
wuliqunyy 0:be95bfb06686 30 : WS*
wuliqunyy 0:be95bfb06686 31 ;
wuliqunyy 0:be95bfb06686 32
wuliqunyy 0:be95bfb06686 33 programData
wuliqunyy 0:be95bfb06686 34 : WS* programDataType WS*
wuliqunyy 0:be95bfb06686 35 ;
wuliqunyy 0:be95bfb06686 36
wuliqunyy 0:be95bfb06686 37 programDataType
wuliqunyy 0:be95bfb06686 38 : nondecimalNumericProgramData
wuliqunyy 0:be95bfb06686 39 | characterProgramData
wuliqunyy 0:be95bfb06686 40 | decimalNumericProgramData
wuliqunyy 0:be95bfb06686 41 | stringProgramData
wuliqunyy 0:be95bfb06686 42 | arbitraryBlockProgramData
wuliqunyy 0:be95bfb06686 43 | expressionProgramData
wuliqunyy 0:be95bfb06686 44 // | suffixProgramData
wuliqunyy 0:be95bfb06686 45 ;
wuliqunyy 0:be95bfb06686 46
wuliqunyy 0:be95bfb06686 47 nondecimalNumericProgramData
wuliqunyy 0:be95bfb06686 48 : HEXNUM
wuliqunyy 0:be95bfb06686 49 | OCTNUM
wuliqunyy 0:be95bfb06686 50 | BINNUM
wuliqunyy 0:be95bfb06686 51 ;
wuliqunyy 0:be95bfb06686 52
wuliqunyy 0:be95bfb06686 53 characterProgramData
wuliqunyy 0:be95bfb06686 54 : PROGRAM_MNEMONIC
wuliqunyy 0:be95bfb06686 55 ;
wuliqunyy 0:be95bfb06686 56
wuliqunyy 0:be95bfb06686 57 decimalNumericProgramData
wuliqunyy 0:be95bfb06686 58 : DECIMAL_NUMERIC_PROGRAM_DATA_WITH_SUFFIX
wuliqunyy 0:be95bfb06686 59 ;
wuliqunyy 0:be95bfb06686 60
wuliqunyy 0:be95bfb06686 61 //suffixProgramData
wuliqunyy 0:be95bfb06686 62 // : PROGRAM_MNEMONIC//SUFFIX_PROGRAM_DATA
wuliqunyy 0:be95bfb06686 63 // ;
wuliqunyy 0:be95bfb06686 64
wuliqunyy 0:be95bfb06686 65 stringProgramData
wuliqunyy 0:be95bfb06686 66 : SINGLE_QUOTE_PROGRAM_DATA
wuliqunyy 0:be95bfb06686 67 | DOUBLE_QUOTE_PROGRAM_DATA
wuliqunyy 0:be95bfb06686 68 ;
wuliqunyy 0:be95bfb06686 69
wuliqunyy 0:be95bfb06686 70 expressionProgramData
wuliqunyy 0:be95bfb06686 71 : PROGRAM_EXPRESSION
wuliqunyy 0:be95bfb06686 72 ;
wuliqunyy 0:be95bfb06686 73
wuliqunyy 0:be95bfb06686 74 // support only nonzero prefix
wuliqunyy 0:be95bfb06686 75 arbitraryBlockProgramData
wuliqunyy 0:be95bfb06686 76 : SHARP NONZERO_DIGIT NUMBER .*
wuliqunyy 0:be95bfb06686 77 ;
wuliqunyy 0:be95bfb06686 78
wuliqunyy 0:be95bfb06686 79 PROGRAM_MNEMONIC : ALPHA (ALPHA | DIGIT | UNDERSCORE)*;
wuliqunyy 0:be95bfb06686 80 HEXNUM : SHARP H HEXDIGIT*;
wuliqunyy 0:be95bfb06686 81 BINNUM : SHARP Q OCTDIGIT*;
wuliqunyy 0:be95bfb06686 82 OCTNUM : SHARP B BINDIGIT*;
wuliqunyy 0:be95bfb06686 83 UNDERSCORE : '_';
wuliqunyy 0:be95bfb06686 84 SEMICOLON : ';';
wuliqunyy 0:be95bfb06686 85 QUESTION : '?';
wuliqunyy 0:be95bfb06686 86 COLON : ':';
wuliqunyy 0:be95bfb06686 87 COMMA : ',';
wuliqunyy 0:be95bfb06686 88 STAR : '*';
wuliqunyy 0:be95bfb06686 89 NL : '\r'? '\n' ;
wuliqunyy 0:be95bfb06686 90 WS : (SPACE | TAB);
wuliqunyy 0:be95bfb06686 91
wuliqunyy 0:be95bfb06686 92 DECIMAL_NUMERIC_PROGRAM_DATA_WITH_SUFFIX : DECIMAL_NUMERIC_PROGRAM_DATA WS* (SUFFIX_PROGRAM_DATA)?;
wuliqunyy 0:be95bfb06686 93 fragment DECIMAL_NUMERIC_PROGRAM_DATA : MANTISA WS* (EXPONENT)?;
wuliqunyy 0:be95bfb06686 94 SINGLE_QUOTE_PROGRAM_DATA : SINGLE_QUOTE ( (NON_SINGLE_QUOTE) | (SINGLE_QUOTE SINGLE_QUOTE))* SINGLE_QUOTE;
wuliqunyy 0:be95bfb06686 95 DOUBLE_QUOTE_PROGRAM_DATA : DOUBLE_QUOTE ( (NON_DOUBLE_QUOTE) | (DOUBLE_QUOTE DOUBLE_QUOTE))* DOUBLE_QUOTE;
wuliqunyy 0:be95bfb06686 96 //SUFFIX_PROGRAM_DATA : SLASH? (ALPHA+ (MINUS? DIGIT)?) ((SLASH | DOT) (ALPHA+ (MINUS? DIGIT)?))*;
wuliqunyy 0:be95bfb06686 97 fragment SUFFIX_PROGRAM_DATA : SLASH? ALPHA+ ((SLASH | DOT) ALPHA+)*;
wuliqunyy 0:be95bfb06686 98 //fragment SUFFIX_PROGRAM_DATA : ALPHA+;
wuliqunyy 0:be95bfb06686 99
wuliqunyy 0:be95bfb06686 100 fragment PROGRAM_EXPRESSION_CHARACTER : (SPACE | '!' | '$'..'&' | '*'..':' | '<' ..'~');
wuliqunyy 0:be95bfb06686 101 PROGRAM_EXPRESSION : LBRACKET PROGRAM_EXPRESSION_CHARACTER RBRACKET;
wuliqunyy 0:be95bfb06686 102
wuliqunyy 0:be95bfb06686 103 fragment PLUSMN : (PLUS | MINUS);
wuliqunyy 0:be95bfb06686 104 fragment MANTISA : PLUSMN? ( (NUMBER) | (NUMBER DOT NUMBER?) | (DOT NUMBER));
wuliqunyy 0:be95bfb06686 105
wuliqunyy 0:be95bfb06686 106 //fragment EXPONENT : WS* E WS* PLUSMN? NUMBER;
wuliqunyy 0:be95bfb06686 107 fragment EXPONENT : E WS* PLUSMN? NUMBER;
wuliqunyy 0:be95bfb06686 108
wuliqunyy 0:be95bfb06686 109 fragment NUMBER : DIGIT+;
wuliqunyy 0:be95bfb06686 110
wuliqunyy 0:be95bfb06686 111 fragment LBRACKET : '(';
wuliqunyy 0:be95bfb06686 112 fragment RBRACKET : ')';
wuliqunyy 0:be95bfb06686 113
wuliqunyy 0:be95bfb06686 114 fragment ALPHA : ('a'..'z'|'A'..'Z');
wuliqunyy 0:be95bfb06686 115 fragment DIGIT : ('0'..'9');
wuliqunyy 0:be95bfb06686 116 fragment NONZERO_DIGIT : ('1'..'9');
wuliqunyy 0:be95bfb06686 117
wuliqunyy 0:be95bfb06686 118 fragment HEXDIGIT : (DIGIT | 'a'..'f' | 'A'..'F');
wuliqunyy 0:be95bfb06686 119 fragment OCTDIGIT : ('0'..'7');
wuliqunyy 0:be95bfb06686 120 fragment BINDIGIT : ('0' | '1');
wuliqunyy 0:be95bfb06686 121
wuliqunyy 0:be95bfb06686 122 fragment SHARP : '#';
wuliqunyy 0:be95bfb06686 123
wuliqunyy 0:be95bfb06686 124 fragment E : ('E'|'e');
wuliqunyy 0:be95bfb06686 125 fragment H : ('H'|'h');
wuliqunyy 0:be95bfb06686 126 fragment Q : ('Q'|'q');
wuliqunyy 0:be95bfb06686 127 fragment B : ('B'|'b');
wuliqunyy 0:be95bfb06686 128
wuliqunyy 0:be95bfb06686 129 fragment SPACE : ' ';
wuliqunyy 0:be95bfb06686 130 fragment TAB : '\t';
wuliqunyy 0:be95bfb06686 131
wuliqunyy 0:be95bfb06686 132 fragment PLUS : '+';
wuliqunyy 0:be95bfb06686 133 fragment MINUS : '-';
wuliqunyy 0:be95bfb06686 134 fragment DOT : '.';
wuliqunyy 0:be95bfb06686 135 fragment SLASH : '/';
wuliqunyy 0:be95bfb06686 136 fragment SINGLE_QUOTE : '\'';
wuliqunyy 0:be95bfb06686 137 fragment DOUBLE_QUOTE : '"';
wuliqunyy 0:be95bfb06686 138 fragment NON_SINGLE_QUOTE : ~SINGLE_QUOTE;
wuliqunyy 0:be95bfb06686 139 fragment NON_DOUBLE_QUOTE : ~DOUBLE_QUOTE;
wuliqunyy 0:be95bfb06686 140
wuliqunyy 0:be95bfb06686 141
wuliqunyy 0:be95bfb06686 142