[][src]Constant lrl_test_compiler::test_assembly::_PEST_GRAMMAR_TAFParser

const _PEST_GRAMMAR_TAFParser: &'static str = "// Ignore all spaces and tabs\nWHITESPACE = _{ \" \" | \"\\t\" }\n// Ignore all comments\n// Comments start with a \"//\" and end at a newline character\nCOMMENT = _{ \"//\" ~ (!\"\\n\" ~ ANY)* }\n\n// The Test as a whole unit\nTEST = { SOI ~ \"\\n\"* ~ (ABORT ~ \"\\n\"*)* ~ TEST_BODY ~ \"\\n\"* ~ EOI }\n\n// Abort Sections\nABORT = { ABORT_HEADER ~ SEGMENT+ }\nABORT_HEADER = { ^\"abort\" ~ \"#\" ~ DEC_NUM ~ \":\" ~ \"\\n\"+ } \n\n\n// The Test Body Section\nTEST_BODY = { TEST_BODY_HEADER ~ SEGMENT+ }\nTEST_BODY_HEADER = { ^\"test:\" ~ \"\\n\"+ }\n\n// Instruction Segments\nSEGMENT = { SEGMENT_HEADER ~ (SENSOR_STATEMENT | RELAY_STATEMENT)* }\nSEGMENT_HEADER = { ^\"segment\" ~ \"+\" ~ DEC_NUM ~ ^\"ms\" ~ \"\\n\"+ }\n\n// Sensor Statements\nSENSOR_STATEMENT = { SENSOR_CHECK_STATEMENT | SENSOR_STOP_STATEMENT }\nSENSOR_CHECK_STATEMENT = { SENSOR_CHECK ~ ADDRESS ~ \",\" ~ HEX_NUM ~ \",\" ~ HEX_NUM ~ \",\" ~ \"#\" ~ DEC_NUM ~ \"\\n\"+ }\nSENSOR_CHECK = {\n    ^\"is_now_in\"\n    | ^\"start_check_in\"\n}\nSENSOR_STOP_STATEMENT = { ^\"stop_check\" ~ ADDRESS ~ \"\\n\"+ }\n\n// Relay Statements\nRELAY_STATEMENT = { RELAY_OP ~ ADDRESS ~ \"\\n\"+ }\nRELAY_OP = { ^\"set\" | ^\"unset\" }\n\n// The address of a relay or sensor\nADDRESS = {ADDRESS_TYPE ~ DEC_NUM}\n// The identifier for physical or virtual address\nADDRESS_TYPE = {\"P\" | \"V\"}\n\n// A Decimal Number Literal\nDEC_NUM = @{ \'1\'..\'9\' ~ (\'0\'..\'9\')* | \"0\" }\n// A Hexadecimal Number Literal\nHEX_NUM = @{ \"0x\" ~ (\'0\'..\'9\' | \'a\'..\'f\' | \'A\'..\'F\')+ }\n";