Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
# Vietnamese translation for Flex.
# Bản dịch tiếng Việt dành cho flex.
# Copyright (C) 2014 The Flex Project (msgids)
# Copyright (C) 2014 Free Software Foundation, Inc.
# This file is distributed under the same license as the flex package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2008.
# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014.
#
msgid ""
msgstr ""
"Project-Id-Version: flex-2.5.38\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
"POT-Creation-Date: 2017-05-06 10:49-0400\n"
"PO-Revision-Date: 2014-02-14 08:17+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.5.5\n"
"X-Poedit-SourceCharset: utf-8\n"

#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr "Việc phân bổ bộ đệm cho lệnh in chuỗi gặp lỗi"

#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "Việc phân bổ bộ đệm cho chỉ thị dòng gặp lỗi"

#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "Việc phân bổ bộ đệm cho “m4 def” gặp lỗi"

#: src/buf.c:198
msgid "Allocation of buffer for m4 undef failed"
msgstr "Việc phân bổ bộ đệm cho “m4 undef” gặp lỗi"

#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "Trạng thái #%d là không chấp nhận -\n"

#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "ngữ cảnh theo sau là nguy hiểm"

#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " số thứ tự dòng quy tắc tương ứng:"

#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " việc chuyển tiếp xuất: "

#: src/dfa.c:201
#, c-format
msgid ""
"\n"
" jam-transitions: EOF "
msgstr ""
"\n"
" chuyển tiếp kẹt: gặp kết thúc tập tin "

#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "việc kiểm tra sự thống nhất bị lỗi trong epsclosure()"

#: src/dfa.c:419
msgid ""
"\n"
"\n"
"DFA Dump:\n"
"\n"
msgstr ""
"\n"
"\n"
"Đổ DFA:\n"
"\n"

#: src/dfa.c:587
msgid "could not create unique end-of-buffer state"
msgstr "không thể tạo trạng thái kết-thúc-bộ-đệm duy nhất"

#: src/dfa.c:608
#, c-format
msgid "state # %d:\n"
msgstr "trạng thái# %d:\n"

#: src/dfa.c:768
msgid "Could not write yynxt_tbl[][]"
msgstr "Không thể ghi \"yynxt_tbl[][]\""

#: src/dfa.c:1028
msgid "bad transition character detected in sympartition()"
msgstr "phát hiện ký tự chuyển tiếp sai trong sympartition()"

#: src/gen.c:480
msgid ""
"\n"
"\n"
"Equivalence Classes:\n"
"\n"
msgstr ""
"\n"
"\n"
"Lớp tương đương:\n"
"\n"

#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "trạng thái # %d chấp nhận: [%d]\n"

#: src/gen.c:1115
#, c-format
msgid "state # %d accepts: "
msgstr "trạng thái # %d chấp nhận: "

#: src/gen.c:1162
msgid "Could not write yyacclist_tbl"
msgstr "Không thể ghi \"yyacclist_tbl\""

#: src/gen.c:1236
msgid "Could not write yyacc_tbl"
msgstr "Không thể ghi \"yyacc_tbl\""

#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
msgid "Could not write ecstbl"
msgstr "Không thể ghi \"ecstbl\""

#: src/gen.c:1271
msgid ""
"\n"
"\n"
"Meta-Equivalence Classes:\n"
msgstr ""
"\n"
"\n"
"Lớp tương-đương-meta:\n"

#: src/gen.c:1293
msgid "Could not write yymeta_tbl"
msgstr "Không thể ghi \"yymeta_tbl\""

#: src/gen.c:1352
msgid "Could not write yybase_tbl"
msgstr "Không thể ghi \"yybase_tbl\""

#: src/gen.c:1384
msgid "Could not write yydef_tbl"
msgstr "Không thể ghi \"yydef_tbl\""

#: src/gen.c:1422
msgid "Could not write yynxt_tbl"
msgstr "Không thể ghi \"yynxt_tbl\""

#: src/gen.c:1456
msgid "Could not write yychk_tbl"
msgstr "Không thể ghi \"yychk_tbl\""

#: src/gen.c:1608 src/gen.c:1637
msgid "Could not write ftbl"
msgstr "Không thể ghi \"ftbl\""

#: src/gen.c:1614
msgid "Could not write ssltbl"
msgstr "Không thể ghi \"ssltbl\""

#: src/gen.c:1665
msgid "Could not write eoltbl"
msgstr "Không thể ghi \"eoltbl\""

#: src/gen.c:1722
msgid "Could not write yynultrans_tbl"
msgstr "Không thể ghi \"yynultrans_tbl\""

#: src/main.c:178
msgid "rule cannot be matched"
msgstr "quy tắc không thể được khớp"

#: src/main.c:183
msgid "-s option given but default rule can be matched"
msgstr "đưa ra tùy chọn \"-s\" còn quy tắc mặc định có thể được khớp"

#: src/main.c:221
msgid "Can't use -+ with -l option"
msgstr "Không thể dùng ký tự \"-+\" với tùy chọn \"-l\""

#: src/main.c:224
msgid "Can't use -f or -F with -l option"
msgstr "Không thể dùng cờ \"-f\" hoặc \"-F\" với tùy chọn \"-l\""

#: src/main.c:228
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr ""
"Không thể dùng đối số \"--reentrant\" (điều vào lại) hoặc \"--bison-bridge"
"\" (chiếc cầu bison) với tùy chọn \"-l\""

#: src/main.c:260
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "Hai tùy chọn \"-Cf/-CF\" và \"-Cm\" với nhau thì không có ý nghĩa"

#: src/main.c:263
msgid "-Cf/-CF and -I are incompatible"
msgstr "Hai tùy chọn \"-Cf/-CF\" và \"-I\" không tương thích với nhau"

#: src/main.c:267
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr ""
"Tùy chọn \"-Cf/-CF\" không tương thích với chế độ \"lex-compatibility"
"\" (tương thích với lex)"

#: src/main.c:272
msgid "-Cf and -CF are mutually exclusive"
msgstr "Hai tùy chọn \"-Cf\" and \"-CF\" loại từ lẫn nhau"

#: src/main.c:276
msgid "Can't use -+ with -CF option"
msgstr "Không thể dùng ký tự \"-+\" với tùy chọn \"-CF\""

#: src/main.c:279
#, c-format
msgid "%array incompatible with -+ option"
msgstr "\"%array\" (mảng) không tương thích với tùy chọn \"-+\""

#: src/main.c:284
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Hai tùy chọn \"- +\" và \"--reentrant\" xung đột với nhau."

#: src/main.c:287
msgid "bison bridge not supported for the C++ scanner."
msgstr "bison bridge (chiếc cầu bison) không được hỗ trợ với bộ quét C++."

#: src/main.c:336 src/main.c:419
#, c-format
msgid "could not create %s"
msgstr "không thể tạo %s"

#: src/main.c:431
msgid "could not write tables header"
msgstr "không thể ghi phần đầu bảng"

#: src/main.c:435
#, c-format
msgid "can't open skeleton file %s"
msgstr "không thể mở tập tin khung sườn %s"

#: src/main.c:450
msgid "Prefix cannot include '[' or ']'"
msgstr ""

#: src/main.c:474
msgid "allocation of macro definition failed"
msgstr "việc phân bổ cho định nghĩa macro gặp lỗi"

#: src/main.c:521
#, c-format
msgid "input error reading skeleton file %s"
msgstr "gặp lỗi nhập vào khi đọc tập tin khung sườn %s"

#: src/main.c:525
#, c-format
msgid "error closing skeleton file %s"
msgstr "gặp lỗi khi đóng tập tin khung sườn %s"

#: src/main.c:709
#, c-format
msgid "error creating header file %s"
msgstr "gặp lỗi khi tạo tập tin phần đầu %s"

#: src/main.c:717
#, c-format
msgid "error writing output file %s"
msgstr "gặp lỗi khi ghi tập tin xuất %s"

#: src/main.c:721
#, c-format
msgid "error closing output file %s"
msgstr "gặp lỗi khi đóng tập tin xuất %s"

#: src/main.c:725
#, c-format
msgid "error deleting output file %s"
msgstr "gặp lỗi khi xoá bỏ tập tin xuất %s"

#: src/main.c:732
#, c-format
msgid "No backing up.\n"
msgstr "Không sao lưu.\n"

#: src/main.c:736
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d đang sao lưu các trạng thái (kiểu không chấp nhận).\n"

#: src/main.c:740
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Bảng đã nén lúc nào cũng sao lưu.\n"

#: src/main.c:743
#, c-format
msgid "error writing backup file %s"
msgstr "găp lỗi khi ghi tập tin sao lưu %s"

#: src/main.c:747
#, c-format
msgid "error closing backup file %s"
msgstr "gặp lỗi khi đóng tập tin sao lưu %s"

#: src/main.c:752
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s phiên bản %s thống kê sử dụng:\n"

#: src/main.c:755
#, c-format
msgid "  scanner options: -"
msgstr "  tùy chọn bộ quét: —"

#: src/main.c:834
#, c-format
msgid "  %d/%d NFA states\n"
msgstr "  %d/%d trạng thái NFA\n"

#: src/main.c:836
#, c-format
msgid "  %d/%d DFA states (%d words)\n"
msgstr "  %d/%d trạng thái DFA (%d từ)\n"

#: src/main.c:838
#, c-format
msgid "  %d rules\n"
msgstr "  %d quy tắc\n"

#: src/main.c:843
#, c-format
msgid "  No backing up\n"
msgstr "  Không sao lưu\n"

#: src/main.c:847
#, c-format
msgid "  %d backing-up (non-accepting) states\n"
msgstr "  %d đang sao lưu các trạng thái (kiểu không chấp nhận)\n"

#: src/main.c:852
#, c-format
msgid "  Compressed tables always back-up\n"
msgstr "  Bảng đã nén lúc nào cũng sao lưu\n"

#: src/main.c:856
#, c-format
msgid "  Beginning-of-line patterns used\n"
msgstr "  Dùng mẫu kiểu đầu dòng\n"

#: src/main.c:858
#, c-format
msgid "  %d/%d start conditions\n"
msgstr "  %d/%d điều kiện bắt đầu\n"

#: src/main.c:862
#, c-format
msgid "  %d epsilon states, %d double epsilon states\n"
msgstr "  %d trạng thái épxilông (ε), %d trạng thái épxilông đôi\n"

#: src/main.c:866
#, c-format
msgid "  no character classes\n"
msgstr "  không có lớp ký tự\n"

#: src/main.c:870
#, c-format
msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
msgstr "  %d/%d lớp ký tự cần %d/%d từ bộ nhớ, %d được dùng lại\n"

#: src/main.c:875
#, c-format
msgid "  %d state/nextstate pairs created\n"
msgstr "  %d cặp trạng_thái/trạng_thái_kế đã được tạo\n"

#: src/main.c:878
#, c-format
msgid "  %d/%d unique/duplicate transitions\n"
msgstr "  %d/%d việc chuyển tiếp duy nhất/trùng\n"

#: src/main.c:883
#, c-format
msgid "  %d table entries\n"
msgstr "  %d mục tin bảng\n"

#: src/main.c:891
#, c-format
msgid "  %d/%d base-def entries created\n"
msgstr "  %d/%d mục tin base-def (định nghĩa cơ bản) đã được tạo\n"

#: src/main.c:895
#, c-format
msgid "  %d/%d (peak %d) nxt-chk entries created\n"
msgstr "  %d/%d (tối đa %d) mục tin nxt-chk (kiểm tra kế tiếp) đã được tạo\n"

#: src/main.c:899
#, c-format
msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
msgstr ""
"  %d/%d (tối đa %d) mục tin biểu mẫu nxt-chk (kiểm tra kế tiếp) đã được tạo\n"

#: src/main.c:903
#, c-format
msgid "  %d empty table entries\n"
msgstr "  %d mục tin bảng trống\n"

#: src/main.c:905
#, c-format
msgid "  %d protos created\n"
msgstr "  %d proto (khai báo nguyên mẫu) đã được tạo\n"

#: src/main.c:908
#, c-format
msgid "  %d templates created, %d uses\n"
msgstr "  %d mẫu đã được tạo, %d lần dùng\n"

#: src/main.c:916
#, c-format
msgid "  %d/%d equivalence classes created\n"
msgstr "  %d/%d lớp kiểu tương đương đã được tạo\n"

#: src/main.c:924
#, c-format
msgid "  %d/%d meta-equivalence classes created\n"
msgstr "  %d/%d lớp tương-đương-meta đã được tạo\n"

#: src/main.c:930
#, c-format
msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr "  %d (%d được lưu) lần va chạm mã băm, %d DFA bằng nhau\n"

#: src/main.c:932
#, c-format
msgid "  %d sets of reallocations needed\n"
msgstr "  cần %d tập hợp tái cấp phát\n"

#: src/main.c:934
#, c-format
msgid "  %d total table entries needed\n"
msgstr "  cần tổng %d mục tin bảng\n"

#: src/main.c:1008
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Gặp lỗi nội bộ vì những flexopts sai dạng.\n"

#: src/main.c:1018
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Hãy thử lệnh \"%s --help\" (trợ giúp) để xem thêm thông tin.\n"

#: src/main.c:1075
#, c-format
msgid "unknown -C option '%c'"
msgstr "không hiểu tùy chọn \"-C\" là \"%c\""

#: src/main.c:1204
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"

#: src/main.c:1476
msgid "fatal parse error"
msgstr "gặp lỗi phân tích nghiêm trọng"

#: src/main.c:1508
#, c-format
msgid "could not create backing-up info file %s"
msgstr "không thể tạo tập tin thông tin sao lưu %s"

#: src/main.c:1529
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr ""
"Tùy chọn kiểu tương thích lex AT&T \"-l\" làm giảm hiệu suất rất nhiều\n"

#: src/main.c:1532
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr " thì có lẽ thật gây ra trường hợp giảm hiệu suất khác\n"

#: src/main.c:1538
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
"newline characters\n"
msgstr ""
"%%tùy chọn \"yylineno\" giảm hiệu suất CHỈ với quy tắc khớp với ký tự dòng "
"mới\n"

#: src/main.c:1545
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "Tùy chọn \"-I\" (tương tác) giảm hiệu suất một ít\n"

#: src/main.c:1550
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() giảm hiệu suất một ít\n"

#: src/main.c:1556
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT (đẩy ra) làm suy giảm hiệu suất nghiêm trọng\n"

#: src/main.c:1561
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr "Quy tắc ngữ cảnh theo sau biến rất giảm hiệu suất\n"

#: src/main.c:1573
msgid "REJECT cannot be used with -f or -F"
msgstr "Không cho phép dùng REJECT (đẩy ra) với tùy chọn \"-f\" hay \"-F\""

#: src/main.c:1576
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr ""
"Không cho phép dùng %option (tùy chọn) \"yylineno\" với REJECT (đẩy ra)"

#: src/main.c:1579
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr ""
"không cho phép dùng quy tắc ngữ cảnh theo sau biến với tùy chọn \"-f\" hay "
"\"-F\""

#: src/main.c:1704
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option (tùy chọn) \"yyclass\" chỉ có ý nghĩa với bộ quét C++"

#: src/main.c:1791
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Cách dùng: %s [TÙY_CHỌN] [TẬP_TIN]...\n"

#: src/main.c:1794
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
"\n"
"Table Compression:\n"
"  -Ca, --align      trade off larger tables for better memory alignment\n"
"  -Ce, --ecs        construct equivalence classes\n"
"  -Cf               do not compress tables; use -f representation\n"
"  -CF               do not compress tables; use -F representation\n"
"  -Cm, --meta-ecs   construct meta-equivalence classes\n"
"  -Cr, --read       use read() instead of stdio for scanner input\n"
"  -f, --full        generate fast, large scanner. Same as -Cfr\n"
"  -F, --fast        use alternate table representation. Same as -CFr\n"
"  -Cem              default compression (same as --ecs --meta-ecs)\n"
"\n"
"Debugging:\n"
"  -d, --debug             enable debug mode in scanner\n"
"  -b, --backup            write backing-up information to %s\n"
"  -p, --perf-report       write performance report to stderr\n"
"  -s, --nodefault         suppress default rule to ECHO unmatched text\n"
"  -T, --trace             %s should run in trace mode\n"
"  -w, --nowarn            do not generate warnings\n"
"  -v, --verbose           write summary of scanner statistics to stdout\n"
"      --hex               use hexadecimal numbers instead of octal in debug "
"outputs\n"
"\n"
"Files:\n"
"  -o, --outfile=FILE      specify output filename\n"
"  -S, --skel=FILE         specify skeleton file\n"
"  -t, --stdout            write scanner on stdout instead of %s\n"
"      --yyclass=NAME      name of C++ class\n"
"      --header-file=FILE   create a C header file in addition to the "
"scanner\n"
"      --tables-file[=FILE] write tables to FILE\n"
"\n"
"Scanner behavior:\n"
"  -7, --7bit              generate 7-bit scanner\n"
"  -8, --8bit              generate 8-bit scanner\n"
"  -B, --batch             generate batch scanner (opposite of -I)\n"
"  -i, --case-insensitive  ignore case in patterns\n"
"  -l, --lex-compat        maximal compatibility with original lex\n"
"  -X, --posix-compat      maximal compatibility with POSIX lex\n"
"  -I, --interactive       generate interactive scanner (opposite of -B)\n"
"      --yylineno          track line count in yylineno\n"
"\n"
"Generated code:\n"
"  -+,  --c++               generate C++ scanner class\n"
"  -Dmacro[=defn]           #define macro defn  (default defn is '1')\n"
"  -L,  --noline            suppress #line directives in scanner\n"
"  -P,  --prefix=STRING     use STRING as prefix instead of \"yy\"\n"
"  -R,  --reentrant         generate a reentrant C scanner\n"
"       --bison-bridge      scanner for bison pure parser.\n"
"       --bison-locations   include yylloc support.\n"
"       --stdinit           initialize yyin/yyout to stdin/stdout\n"
"       --nounistd          do not include <unistd.h>\n"
"       --noFUNCTION        do not generate a particular FUNCTION\n"
"\n"
"Miscellaneous:\n"
"  -c                      do-nothing POSIX option\n"
"  -n                      do-nothing POSIX option\n"
"  -?\n"
"  -h, --help              produce this help message\n"
"  -V, --version           report %s version\n"
msgstr ""
"Tạo ra chương trình để thực hiện tiến trình khớp mẫu trên văn bản thường.\n"
"\n"
"Cách nén bảng:\n"
"  -Ca, --align      thoả hiệp giữa bảng lớn hơn và độ _canh lề_ bộ nhớ khá "
"hơn\n"
"  -Ce, --ecs        cấu tạo lớp kiểu tương đương\n"
"  -Cf               không nén bảng; dùng sự tiêu biểu \"-f\"\n"
"  -CF               không nén bảng; dùng sự cách tiêu biểu \"-F\"\n"
"  -Cm, --meta-ecs   cấu tạo lớp kiểu meta tương đương\n"
"  -Cr, --read       dùng chức năng read() thay thế thiết bị nhập/xuất chuẩn "
"để nhập bộ quét\n"
"  -f, --full        tạo ra bộ quét nhanh và lớn; bằng -Cfr (_đầy đủ_)\n"
"  -F, --fast        dùng sự tiêu biểu bảng xen kẽ; bằng -CFr (_nhanh_)\n"
"  -Cem              phương pháp nén mặc định; bằng \"--ecs\" \"--meta-ecs"
"\")\n"
"\n"
"Gỡ lỗi:\n"
"  -d, --debug             bật chế độ _gỡ lỗi_ trong bộ quét\n"
"  -b, --backup            ghi thông tin _sao lưu_ vào %s\n"
"  -p, --perf-report       ghi _thông báo hiệu suất_ vào thiết bị lỗi chuẩn\n"
"  -s, --nodefault         thu hồi quy tắc _mặc định_ để ECHO (vọng) đoạn "
"chưa khớp\n"
"  -T, --trace             %s nên chạy trong chế độ theo _dấu vết_\n"
"  -w, --nowarn            _không_ tạo ra lời _cảnh báo_\n"
"  -v, --verbose           ghi tóm tắt các thống kê bộ quét vào thiết bị xuất "
"chuẩn (_chi tiêt_)\n"
"\n"
"Tập tin:\n"
"  -o, --outfile=TẬP_TIN   ghi rõ tên _tập tin xuất_\n"
"  -S, --skel=TẬP_TIN      ghi rõ tập tin _khung sườn_\n"
"  -t, --stdout            ghi bộ quét ra _thiết bị xuất chuẩn_ thay thế ra "
"%s\n"
"      --yyclass=TÊN       tên của _lớp_ C++\n"
"      --header-file=TẬP_TIN   tạo _tập tin phần đầu_ C thêm vào bộ quét\n"
"      --tables-file[=TẬP_TIN] ghi các bảng vào TẬP_TIN này\n"
"\n"
"Ứng xử của bộ quét:\n"
"  -7, --7bit              tạo ra bộ quét kiểu 7-bit\n"
"  -8, --8bit              tạo ra bộ quét kiểu 8-bit\n"
"  -B, --batch             tạo ra bộ quét _bó_ (ngược với \"-I\")\n"
"  -i, --case-insensitive  _không phân biệt HOA/thường_ trong mẫu\n"
"  -l, --lex-compat        độ _tương thích_ tối đa với lex gốc\n"
"  -X, --posix-compat      độ _tương thích_ tối đa với lex _POSIX_\n"
"  -I, --interactive       tạo ra bộ quét _tương tác_ (ngược với \"-B\")\n"
"      --yylineno          theo dõi số đếm số dòng trong yylineno\n"
"\n"
"Mã đã tạo ra :\n"
"  -+,  --c++               tạo ra hang bộ quét kiểu C++\n"
"  -Dmacro[=định_nghĩa]     _định nghĩa_ cho lệnh #define (mặc định là "
"\"1\")\n"
"  -L,  --noline            thu hồi các chỉ thị #line trong bộ quét\n"
"  -P,  --prefix=CHUỖI      dùng CHUỖI này là _tiền tố_ thay thế \"yy\"\n"
"  -R,  --reentrant         tạo ra một bộ quét C kiểu _vào lại_\n"
"       --bison-bridge      bộ quét cho trình phân tách thuần tuý kiểu "
"bison.\n"
"       --bison-locations   gồm khả năng hỗ trợ yylloc (_địa điểm_).\n"
"       --stdinit           khởi động yyin/yyout vào thiết bị nhập/xuất "
"chuẩn\n"
"       --noansi-definitions _lời định nghĩa_ chức năng kiểu cũ (_không "
"ANSI_)\n"
"       --noansi-prototypes danh sách tham số trống trong _khai báo nghi "
"thức_ (_không ANSI_)\n"
"       --nounistd          _không_ bao gồm <unistd.h>\n"
"       --noCHỨC_NĂNG       không tạo ra một CHỨC NĂNG cá biệt\n"
"\n"
"Lặt vặt:\n"
"  -c                    tùy chọn POSIX không làm gì\n"
"  -n                    tùy chọn POSIX không làm gì\n"
"  -?\n"
"  -h, --help          hiển thị _trợ giúp_ này\n"
"  -V, --version       thông báo phiên bản %s\n"

#: src/misc.c:64
msgid "allocation of sko_stack failed"
msgstr "việc phân bổ cho sko_stack gặp lỗi"

#: src/misc.c:100
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "tên \"%s\" là dài nhố nhăng"

#: src/misc.c:155
msgid "memory allocation failed in allocate_array()"
msgstr "việc phân chia bộ nhớ bị lỗi trong allocate_array() (phân bổ mảng)"

#: src/misc.c:205
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "phát hiện ký tự sai \"%s\" trong check_char() (kiểm tra ký tự)"

#: src/misc.c:210
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "bộ quét cần thiết cờ \"-8\" để dùng ký tự %s"

#: src/misc.c:229
#, fuzzy
msgid "memory allocation failure in xstrdup()"
msgstr "việc phân chia bộ nhớ bị lỗi trong allocate_array() (phân bổ mảng)"

#: src/misc.c:303
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: gặp lỗi nôi bộ nghiêm trọng, %s\n"

#: src/misc.c:671
msgid "attempt to increase array size failed"
msgstr "việc thử tăng kích cỡ mảng đã thất bại"

#: src/misc.c:795
msgid "bad line in skeleton file"
msgstr "gặp dòng sai trong tập tin khung sườn"

#: src/misc.c:845
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "việc phân bổ bộ nhớ bị lỗi trong yy_flex_xmalloc()"

#: src/nfa.c:100
#, c-format
msgid ""
"\n"
"\n"
"********** beginning dump of nfa with start state %d\n"
msgstr ""
"\n"
"\n"
"********** bắt đầu đổ NFA có trạng thái bắt đầu là %d\n"

#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "trạng thái # %4d\t"

#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** đổ xong\n"

#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "máy trống trong dupmachine() (nhân đôi máy)"

#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "Gặp quy tắc ngữ cảnh theo sau biến tại dòng %d\n"

#: src/nfa.c:357
msgid "bad state type in mark_beginning_as_normal()"
msgstr ""
"kiểu trạng thái sai trong mark_beginning_as_normal() (đánh dấu đầu là thường)"

#: src/nfa.c:595
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "các quy tắc đầu vào là quá phức tạp (≥ %d trạng thái NFA)"

#: src/nfa.c:673
msgid "found too many transitions in mkxtion()"
msgstr "gặp quá nhiều chuyển tiếp trong mkxtion()"

#: src/nfa.c:699
#, c-format
msgid "too many rules (> %d)!"
msgstr "quá nhiều quy tắc (> %d) !"

#: src/parse.y:159
msgid "unknown error processing section 1"
msgstr "gặp lỗi không rõ khi xử lý phần 1"

#: src/parse.y:184 src/parse.y:353
msgid "bad start condition list"
msgstr "danh sách điều kiện bắt đầu là sai"

#: src/parse.y:204
msgid "Prefix must not contain [ or ]"
msgstr ""

#: src/parse.y:317
msgid "unrecognized rule"
msgstr "gặp quy tắc không được thừa nhận"

#: src/parse.y:436 src/parse.y:449 src/parse.y:518
msgid "trailing context used twice"
msgstr "ngữ cảnh theo sau được dùng hai lần"

#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
msgid "bad iteration values"
msgstr "gặp giá trị lặp lại sai"

#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
msgid "iteration value must be positive"
msgstr "giá trị lặp lại phải là số dương"

#: src/parse.y:806 src/parse.y:816
#, c-format
msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
msgstr ""
"phạm vi ký tự [%c-%c] là chưa rõ ràng trong trường hợp quét bỏ qua chữ HOA/"
"thường"

#: src/parse.y:821
msgid "negative range in character class"
msgstr "gặp phạm vi âm trong lớp ký tự"

#: src/parse.y:918
msgid "[:^lower:] is ambiguous in case insensitive scanner"
msgstr "[:^lower:] là chưa rõ ràng trong trường hợp quét bỏ qua chữ HOA/thường"

#: src/parse.y:924
msgid "[:^upper:] ambiguous in case insensitive scanner"
msgstr "[:^upper:] là chưa rõ ràng trong trường hợp quét bỏ qua chữ HOA/thường"

#: src/scan.l:82 src/scan.l:644 src/scan.l:702
msgid "Input line too long\n"
msgstr "dòng nhập quá dài\n"

#: src/scan.l:183
#, c-format
msgid "malformed '%top' directive"
msgstr "chỉ thị kiểu \"%top\" (đầu) dạng sai"

#: src/scan.l:205
#, no-c-format
msgid "unrecognized '%' directive"
msgstr "gặp chỉ thị kiểu \"%\" không được nhận dạng"

#: src/scan.l:214
msgid "Definition name too long\n"
msgstr "Tên định nghĩa quá dài\n"

#: src/scan.l:309
msgid "Unmatched '{'"
msgstr "Chưa khớp \"{\""

#: src/scan.l:325
#, c-format
msgid "Definition value for {%s} too long\n"
msgstr "Giá trị định nghĩa cho {%s} quá dài\n"

#: src/scan.l:342
msgid "incomplete name definition"
msgstr "lời đinh nghĩa tên chưa hoàn tất"

#: src/scan.l:467
msgid "Option line too long\n"
msgstr "dòng tùy chọn quá dài\n"

#: src/scan.l:475
#, c-format
msgid "unrecognized %%option: %s"
msgstr "gặp tùy chọn %% không được nhận dạng: %s"

#: src/scan.l:659 src/scan.l:832
msgid "bad character class"
msgstr "lớp ký tự sai"

#: src/scan.l:709
#, c-format
msgid "undefined definition {%s}"
msgstr "chưa định nghĩa định danh {%s}"

#: src/scan.l:772
msgid "unbalanced parenthesis"
msgstr ""

#: src/scan.l:787
#, c-format
msgid "bad <start condition>: %s"
msgstr "<start condition> (điệu kiện bắt đầu) sai: %s"

#: src/scan.l:800
msgid "missing quote"
msgstr "thiếu dấu trích dẫn"

#: src/scan.l:866
#, c-format
msgid "bad character class expression: %s"
msgstr "biểu thức lớp ký tự sai: %s"

#: src/scan.l:888
msgid "bad character inside {}'s"
msgstr "có ký tự sai ở trong hai dấu ngoặc móc {}"

#: src/scan.l:894
msgid "missing }"
msgstr "thiếu }"

#: src/scan.l:972
msgid "EOF encountered inside an action"
msgstr "gặp kết thúc tập tin ở trong một hành động"

#: src/scan.l:977
msgid "EOF encountered inside pattern"
msgstr "gặp kết thúc tập tin ở trong mẫu"

#: src/scan.l:1010
#, c-format
msgid "bad character: %s"
msgstr "ký tự sai: %s"

#: src/scan.l:1038
#, c-format
msgid "can't open %s"
msgstr "không thể mở %s"

#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Cách dùng: %s [TÙY_CHỌN]...\n"

#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "tùy chọn \"%s\" không cho phép đối số\n"

#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "tùy chọn \"%s\" cần một đối số\n"

#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "tùy chọn \"%s\" chưa rõ ràng\n"

#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Không nhận ra tùy chọn \"%s\"\n"

#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Không rõ lỗi=(%d)\n"

#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "gặp lỗi khi phân bổ bộ nhớ của bảng ký hiệu"

#: src/sym.c:183
msgid "name defined twice"
msgstr "tên đã được định nghĩa hai lần"

#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "điều kiện bắt đầu %s đã được khai báo hai lần"

#: src/yylex.c:57
msgid "premature EOF"
msgstr "gặp kết thúc tập tin quá sớm"

#: src/yylex.c:200
#, c-format
msgid "End Marker\n"
msgstr "Dấu kết thúc\n"

#: src/yylex.c:206
#, c-format
msgid "*Something Weird* - tok: %d val: %d\n"
msgstr "* Điều lạ * — thẻ bài: %d giá trị: %d\n"

#~ msgid "dynamic memory failure in copy_string()"
#~ msgstr "bộ nhớ động đã thất bại trong copy_string() (sao chép chuỗi)"