Конструирование моделей лексического и синтаксического анализа
Характеристика процесса конструирования модели синтаксического анализа. Описание предметной области. Регулярная грамматика для лексического анализа. КС-грамматика. Нисходящий синтаксический анализатор. Логическое проектирование. Проектирование интерфейса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 04.11.2018 |
Размер файла | 252,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
529. }
530. break;
531. case 9:
532. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
533. else {
534. if (num_tex[j] == 's') { num_si = 10; token += Convert.ToString(num_tex[j]); }
535. else
536. {
537. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
538. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
539. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
540. }
541. }
542. break;
543. case 10:
544. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
545. else {
546. if (num_tex[j] == 't') { num_si = 11; token += Convert.ToString(num_tex[j]); }
547. else
548. {
549. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
550. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
551. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
552. }
553. }
554. break;
555. case 11:
556. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
557. else {
558. if (num_tex[j] == 'r') { num_si = 12; token += Convert.ToString(num_tex[j]); }
559. else
560. {
561. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
562. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
563. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
564. }
565. }
566. break;
567. case 12:
568. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
569. else {
570. if (num_tex[j] == 'e') { num_si = 13; token += Convert.ToString(num_tex[j]); }
571. else
572. {
573. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
574. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
575. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
576. }
577. }
578. break;
579. case 13:
580. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
581. else {
582. if (num_tex[j] == 'a') { num_si = 14; token += Convert.ToString(num_tex[j]); }
583. else
584. {
585. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
586. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
587. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
588. }
589. }
590. break;
591. case 14:
592. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
593. else {
594. if (num_tex[j] == 'm') { num_si = 15; token += Convert.ToString(num_tex[j]); }
595. else
596. {
597. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
598. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
599. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
600. }
601. }
602. break;
603. case 15:
604. if (num_tex[j] == ' ' || num_tex[j] == '\n')
605. {
606. add_key(token, ref v_k); token = null; num_si = 0;
607. }
608. else
609. {
610. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
611. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
612. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
613. }
614. break;
615. case 16:
616. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
617. else {
618. if (num_tex[j] == 'a') { num_si = 17; token += Convert.ToString(num_tex[j]); }
619. else
620. {
621. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
622. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
623. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
624. }
625. }
626. break;
627. case 17:
628. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
629. else {
630. if (num_tex[j] == 'i') { num_si = 18; token += Convert.ToString(num_tex[j]); }
631. else
632. {
633. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
634. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
635. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
636. }
637. }
638. break;
639. case 18:
640. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
641. else {
642. if (num_tex[j] == 'n') { num_si = 19; token += Convert.ToString(num_tex[j]); }
643. else
644. {
645. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
646. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
647. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
648. }
649. }
650. break;
651. case 19:
652. if (num_tex[j] == ' ' || num_tex[j] == '\n')
653. {
654. add_key(token, ref v_k); token = null; num_si = 0;
655. }
656. else
657. {
658. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
659. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
660. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
661. }
662. break;
663. case 20:
664. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
665. else {
666. if (num_tex[j] == 'l') { num_si = 21; token += Convert.ToString(num_tex[j]); }
667. else
668. {
669. if (num_tex[j] == 'o') { num_si = 46; token += Convert.ToString(num_tex[j]); }
670. else
671. {
672. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
673. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
674. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
675. }
676. }
677. }
678. break;
679. case 21:
680. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
681. else {
682. if (num_tex[j] == 'o') { num_si = 22; token += Convert.ToString(num_tex[j]); }
683. else
684. {
685. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
686. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
687. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
688. }
689. }
690. break;
691. case 22:
692. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
693. else {
694. if (num_tex[j] == 'a') { num_si = 23; token += Convert.ToString(num_tex[j]); }
695. else
696. {
697. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
698. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
699. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
700. }
701. }
702. break;
703. case 23:
704. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
705. else {
706. if (num_tex[j] == 't') { num_si = 24; token += Convert.ToString(num_tex[j]); }
707. else
708. {
709. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
710. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
711. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
712. }
713. }
714. break;
715. case 24:
716. if (num_tex[j] == ' ' || num_tex[j] == '\n')
717. {
718. add_key(token, ref v_k); token = null; num_si = 0;
719. }
720. else
721. {
722. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
723. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
724. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
725. }
726. break;
727. case 25:
728. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
729. else {
730. if (num_tex[j] == 'o') { num_si = 26; token += Convert.ToString(num_tex[j]); }
731. else
732. {
733. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
734. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
735. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
736. }
737. }
738. break;
739. case 26:
740. if (num_tex[j] == ' ' || num_tex[j] == '\n')
741. {
742. add_key(token, ref v_k); token = null; num_si = 0;
743. }
744. else
745. {
746. if (num_tex[j] == 'u') { num_si = 27; token += Convert.ToString(num_tex[j]); }
747. else
748. {
749. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
750. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
751. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
752. }
753. }
754. break;
755. case 27:
756. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
757. else {
758. if (num_tex[j] == 'b') { num_si = 28; token += Convert.ToString(num_tex[j]); }
759. else
760. {
761. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
762. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
763. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
764. }
765. }
766. break;
767. case 28:
768. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
769. else {
770. if (num_tex[j] == 'l') { num_si = 29; token += Convert.ToString(num_tex[j]); }
771. else
772. {
773. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
774. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
775. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
776. }
777. }
778. break;
779. case 29:
780. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
781. else {
782. if (num_tex[j] == 'e') { num_si = 30; token += Convert.ToString(num_tex[j]); }
783. else
784. {
785. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
786. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
787. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
788. }
789. }
790. break;
791. case 30:
792. if (num_tex[j] == ' ' || num_tex[j] == '\n')
793. {
794. add_key(token, ref v_k); token = null; num_si = 0;
795. }
796. else
797. {
798. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
799. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
800. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
801. }
802. break;
803. case 31:
804. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
805. else {
806. if (num_tex[j] == 'h') { num_si = 32; token += Convert.ToString(num_tex[j]); }
807. else
808. {
809. if (num_tex[j] == 'i') { num_si = 35; token += Convert.ToString(num_tex[j]); }
810. else
811. {
812. if (num_tex[j] == 'o') { num_si = 37; token += Convert.ToString(num_tex[j]); }
813. else
814. {
815. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
816. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
817. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
818. }
819. }
820. }
821. }
822. break;
823. case 32:
824. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
825. else {
826. if (num_tex[j] == 'a') { num_si = 33; token += Convert.ToString(num_tex[j]); }
827. else
828. {
829. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
830. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
831. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
832. }
833. }
834. break;
835. case 33:
836. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
837. else {
838. if (num_tex[j] == 'r') { num_si = 34; token += Convert.ToString(num_tex[j]); }
839. else
840. {
841. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
842. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
843. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
844. }
845. }
846. break;
847. case 34:
848. if (num_tex[j] == ' ' || num_tex[j] == '\n')
849. {
850. add_key(token, ref v_k); token = null; num_si = 0;
851. }
852. else
853. {
854. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
855. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
856. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
857. }
858. break;
859. case 35:
860. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
861. else {
862. if (num_tex[j] == 'n') { num_si = 36; token += Convert.ToString(num_tex[j]); }
863. else
864. {
865. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
866. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
867. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
868. }
869. }
870. break;
871. case 36:
872. if (num_tex[j] == ' ' || num_tex[j] == '\n')
873. {
874. add_key(token, ref v_k); token = null; num_si = 0;
875. }
876. else
877. {
878. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
879. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
880. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
881. }
882. break;
883. case 37:
884. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
885. else {
886. if (num_tex[j] == 'u') { num_si = 38; token += Convert.ToString(num_tex[j]); }
887. else
888. {
889. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
890. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
891. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
892. }
893. }
894. break;
895. case 38:
896. if (num_tex[j] == ' ' | num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
897. else {
898. if (num_tex[j] == 't') { num_si = 39; token += Convert.ToString(num_tex[j]); }
899. else
900. {
901. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
902. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
903. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
904. }
905. }
906. break;
907. case 39:
908. if (num_tex[j] == ' ' || num_tex[j] == '\n')
909. {
910. add_key(token, ref v_k); token = null; num_si = 0;
911. }
912. else
913. {
914. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
915. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
916. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
917. }
918. break;
919. case 40:
920. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
921. else {
922. if (num_tex[j] == 'h') { num_si = 41; token += Convert.ToString(num_tex[j]); }
923. else
924. {
925. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
926. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
927. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
928. }
929. }
930. break;
931. case 41:
932. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
933. else {
934. if (num_tex[j] == 'i') { num_si = 42; token += Convert.ToString(num_tex[j]); }
935. else
936. {
937. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
938. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
939. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
940. }
941. }
942. break;
943. case 42:
944. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
945. else {
946. if (num_tex[j] == 'l') { num_si = 43; token += Convert.ToString(num_tex[j]); }
947. else
948. {
949. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
950. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
951. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
952. }
953. }
954. break;
955. case 43:
956. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
957. else {
958. if (num_tex[j] == 'e') { num_si = 44; token += Convert.ToString(num_tex[j]); }
959. else
960. {
961. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
962. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
963. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
964. }
965. }
966. break;
967. case 44:
968. if (num_tex[j] == ' ' || num_tex[j] == '\n')
969. {
970. add_key(token, ref v_k); token = null; num_si = 0;
971. }
972. else
973. {
974. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
975. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
976. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
977. }
978. break;
979. case 46:
980. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
981. else {
982. if (num_tex[j] == 'r') { num_si = 47; token += Convert.ToString(num_tex[j]); }
983. else
984. {
985. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
986. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
987. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
988. }
989. }
990. break;
991. case 47:
992. if (num_tex[j] == ' ' || num_tex[j] == '\n')
993. {
994. add_key(token, ref v_k); token = null; num_si = 0;
995. }
996. else
997. {
998. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
999. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
1000. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1001. }
1002. break;
1003. case 48:
1004. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1005. else {
1006. if (num_tex[j] == 't') { num_si = 49; token += Convert.ToString(num_tex[j]); }
1007. else
1008. {
1009. if (num_tex[j] == 'p') { num_si = 51; token += Convert.ToString(num_tex[j]); }
1010. else
1011. {
1012. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1013. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1014. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1015. }
1016. }
1017. }
1018. break;
1019. case 49:
1020. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1021. else {
1022. if (num_tex[j] == 'd') { num_si = 50; token += Convert.ToString(num_tex[j]); }
1023. else
1024. {
1025. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1026. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1027. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1028. }
1029. }
1030. break;
1031. case 50:
1032. if (num_tex[j] == ' ' || num_tex[j] == '\n')
1033. {
1034. add_key(token, ref v_k); token = null; num_si = 0;
1035. }
1036. else
1037. {
1038. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1039. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
1040. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1041. }
1042. break;
1043. case 51:
1044. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1045. else {
1046. if (num_tex[j] == 'a') { num_si = 52; token += Convert.ToString(num_tex[j]); }
1047. else
1048. {
1049. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1050. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1051. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1052. }
1053. }
1054. break;
1055. case 52:
1056. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1057. else
1058. {
1059. if (num_tex[j] == 'c') { num_si = 53; token += Convert.ToString(num_tex[j]); }
1060. else
1061. {
1062. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1063. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1064. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1065. }
1066. }
1067. break;
1068. case 53:
1069. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1070. else {
1071. if (num_tex[j] == 'e') { num_si = 54; token += Convert.ToString(num_tex[j]); }
1072. else
1073. {
1074. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1075. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1076. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1077. }
1078. }
1079. break;
1080. case 54:
1081. if (num_tex[j] == ' ' || num_tex[j] == '\n')
1082. {
1083. add_key(token, ref v_k); token = null; num_si = 0;
1084. }
1085. else
1086. {
1087. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1088. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
1089. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1090. }
1091. break;
1092. case 55:
1093. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1094. else {
1095. if (num_tex[j] == 'e') { num_si = 56; token += Convert.ToString(num_tex[j]); }
1096. else
1097. {
1098. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1099. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1100. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1101. }
1102. }
1103. break;
1104. case 56:
1105. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1106. else {
1107. if (num_tex[j] == 'е') { num_si = 57; token += Convert.ToString(num_tex[j]); }
1108. else
1109. {
1110. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1111. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1112. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1113. }
1114. }
1115. break;
1116. case 57:
1117. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1118. else {
1119. if (num_tex[j] == 'u') { num_si = 58; token += Convert.ToString(num_tex[j]); }
1120. else
1121. {
1122. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1123. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1124. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1125. }
1126. }
1127. break;
1128. case 58:
1129. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1130. else {
1131. if (num_tex[j] == 'r') { num_si = 59; token += Convert.ToString(num_tex[j]); }
1132. else
1133. {
1134. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1135. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1136. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1137. }
1138. }
1139. break;
1140. case 59:
1141. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1142. else {
1143. if (num_tex[j] == 'n') { num_si = 60; token += Convert.ToString(num_tex[j]); }
1144. else
1145. {
1146. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1147. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1148. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1149. }
1150. }
1151. break;
1152. case 60:
1153. if (num_tex[j] == ' ' || num_tex[j] == '\n')
1154. {
1155. add_key(token, ref v_k); token = null; num_si = 0;
1156. }
1157. else
1158. {
1159. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1160. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
1161. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1162. }
1163. break;
1164. case 61:
1165. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1166. else {
1167. if (num_tex[j] == 's') { num_si = 62; token += Convert.ToString(num_tex[j]); }
1168. else
1169. {
1170. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1171. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1172. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1173. }
1174. }
1175. break;
1176. case 62:
1177. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1178. else {
1179. if (num_tex[j] == 'i') { num_si = 63; token += Convert.ToString(num_tex[j]); }
1180. else
1181. {
1182. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1183. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1184. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1185. }
1186. }
1187. break;
1188. case 63:
1189. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1190. else {
1191. if (num_tex[j] == 'n') { num_si = 64; token += Convert.ToString(num_tex[j]); }
1192. else
1193. {
1194. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1195. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1196. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1197. }
1198. }
1199. break;
1200. case 64:
1201. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1202. else {
1203. if (num_tex[j] == 'g') { num_si = 65; token += Convert.ToString(num_tex[j]); }
1204. else
1205. {
1206. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1207. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1208. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1209. }
1210. }
1211. break;
1212. case 65:
1213. if (num_tex[j] == ' ' || num_tex[j] == '\n')
1214. {
1215. add_key(token, ref v_k); token = null; num_si = 0;
1216. }
1217. else
1218. {
1219. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1220. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }
1221. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1222. }
1223. break;
1224. case 66:
1225. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1226. else {
1227. if (num_tex[j] == 'a') { num_si = 67; token += Convert.ToString(num_tex[j]); }
1228. else
1229. {
1230. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1231. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1232. else { num_si = 85; token += Convert.ToString(num_tex[i]); }
1233. }
1234. }
1235. break;
1236. case 67:
1237. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1238. else {
1239. if (num_tex[j] == 'm') { num_si = 68; token += Convert.ToString(num_tex[j]); }
1240. else
1241. {
1242. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1243. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1244. else { num_si = 85; token += Convert.ToString(num_tex[i]); }
1245. }
1246. }
1247. break;
1248. case 68:
1249. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1250. else {
1251. if (num_tex[j] == 'e') { num_si = 0; token += Convert.ToString(num_tex[j]); }
1252. else
1253. {
1254. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1255. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1256. else { num_si = 85; token += Convert.ToString(num_tex[i]); }
1257. }
1258. }
1259. break;
1260. case 69:
1261. if (num_tex[j] == ' ' || num_tex[j] == '\n')
1262. {
1263. add_key(token, ref v_k); token = null; num_si = 0;
1264. }
1265. else
1266. {
1267. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1268. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1269. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1270. }
1271. break;
1272. case 70:
1273. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_synt(token, ref v_sy); token = null; num_si = 0; }
1274. else
1275. {
1276. if (!alf(num_tex[j])) { add_synt(token, ref v_sy); token = null; num_si = 0; j-; }
1277. else
1278. {
1279. if (numb(num_tex[j])) { add_synt(token, ref v_sy); token = null; num_si = 0; j-; }
1280. else
1281. {
1282. if (f_synt(num_tex[j])) { add_synt(token, ref v_sy); token = null; num_si = 0; j-; }
1283. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1284. }
1285. }
1286. }
1287. break;
1288. case 71:
1289. if (num_tex[j] == ' ' || num_tex[j] == '\n')
1290. {
1291. add_nu(token, ref v_nu); token = null; num_si = 0;
1292. }
1293. else
1294. {
1295. if (numb(num_tex[j])) { num_si = 71; token += Convert.ToString(num_tex[j]); }
1296. else
1297. {
1298. if (num_tex[j] == '.') { num_si = 73; token += Convert.ToString(num_tex[j]); }
1299. else
1300. {
1301. if (num_tex[j] == 'e' || num_tex[j] == 'E') { num_si = 74; token += Convert.ToString(num_tex[j]); }
1302. else
1303. {
1304. if (!alf(num_tex[j])) { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1305. else
1306. {
1307. if (f_synt(num_tex[j])) { add_nu(token, ref v_nu); token = null; num_si = 0; j-; }
1308. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1309. }
1310. }
1311. }
1312. }
1313. }
1314. break;
1315. case 72:
1316. if (num_tex[j] == ' ' || num_tex[j] == '\n') { num_si = 78; token += Convert.ToString(num_tex[j]); }
1317. else
1318. {
1319. if (numb(num_tex[j]) ) { num_si = 71; token += Convert.ToString(num_tex[j]); }
1320. else
1321. {
1322. if (num_tex[j] == '=' || num_tex[j] == '-') { num_si = 78; token += Convert.ToString(num_tex[j]); }
1323. else
1324. {
1325. add_unId(num_tex, ref j, i); token = null; num_si = 0;
1326. }
1327. }
1328. }
1329. break;
1330. case 73:
1331. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1332. else
1333. {
1334. if (numb(num_tex[j])) { num_si = 76; token += Convert.ToString(num_tex[j]); }
1335. else
1336. {
1337. add_unId(num_tex, ref j, i); token = null; num_si = 0;
1338. }
1339. }
1340. break;
1341. case 74:
1342. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1343. else
1344. {
1345. if (num_tex[j] == '+' || num_tex[j] == '-') { num_si = 73; token += Convert.ToString(num_tex[j]); }
1346. else
1347. { add_unId(num_tex, ref j, i); token = null; num_si = 0;
1348. }
1349. }
1350. break;
1351. case 76:
1352. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_nu(token, ref v_nu); token = null; num_si = 0; }
1353. else
1354. {
1355. if (numb(num_tex[j])) { num_si = 76; token += Convert.ToString(num_tex[j]); }
1356. else
1357. {if (f_synt(num_tex[j])) { add_nu(token, ref v_nu); token = null; num_si = 0; j-; }
1358. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1359. }
1360. }
1361. break;
1362. case 77:
1363. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1364. else
1365. {
1366. if (num_tex[j]=='+') { num_si = 78; token += Convert.ToString(num_tex[j]); }
1367. else
1368. {if (num_tex[j] == '=') { num_si = 78; token += Convert.ToString(num_tex[j]); }
1369. else
1370. {
1371. if (f_synt(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; num_si = 0; j-; }
1372. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1373. }
1374. }
1375. }
1376. break;
1377. case 78:
1378. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_op(token, ref v_op); token = null; num_si = 0; }
1379. else if (!alf(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }
1380. else if (numb(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }
1381. else if (f_synt(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }
1382. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1383. break;
1384. case 79:
1385. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_op(token, ref v_op); token = null; num_si = 0; }
1386. else
1387. {
1388. if (num_tex[j] == '=') { num_si = 82; token += Convert.ToString(num_tex[j]); }
1389. else if (!alf(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }
1390. else if (numb(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }
1391. else if (f_synt(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }
1392. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1393. }
1394. break;
1395. case 80:
1396. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_op(token, ref v_op); token = null; num_si = 0; }
1397. else
1398. {
1399. if (num_tex[j] == '=') { num_si = 82; token += Convert.ToString(num_tex[j]); }
1400. else if (!alf(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }
1401. else if (numb(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }
1402. else if (f_synt(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }
1403. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1404. }
1405. break;
1406. case 82:
1407. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_cond(token, ref v_con); token = null; num_si = 0; }
1408. else
1409. if (!alf(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }
1410. else if (numb(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }
1411. else if (f_synt(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }
1412. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1413. break;
1414. case 83:
1415. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_cond(token, ref v_con); token = null; num_si = 0; }
1416. else
1417. {
1418. if (num_tex[j] == '<') { num_si = 78; token += Convert.ToString(num_tex[j]); }
1419. else
1420. {
1421. if (num_tex[j] == '=') { num_si = 82; token += Convert.ToString(num_tex[j]); }
1422. else if (numb(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }
1423. else if (f_synt(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }
1424. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1425. }
1426. }
1427. break;
1428. case 84:
1429. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_cond(token, ref v_con); token = null; num_si = 0; }
1430. else
1431. {
1432. if (num_tex[j] == '>') { num_si = 78; token += Convert.ToString(num_tex[j]); }
1433. else
1434. {
1435. if (num_tex[j] == '=') { num_si = 82; token += Convert.ToString(num_tex[j]); }
1436. else if (numb(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }
1437. else if (f_synt(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }
1438. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1439. }
1440. }
1441. break;
1442. case 85:
1443. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1444. else
1445. {
1446. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1447. else
1448. { if (!alf(num_tex[j])){ num_si = 85; token += Convert.ToString(num_tex[j]); }
1449. else
1450. {
1451. if (numb(num_tex[j])) { num_si = 85; token += Convert.ToString(num_tex[j]); }
1452. else
1453. {
1454. if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1455. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1456. }
1457. }
1458. }
1459. }
1460. break;
1461. case 86:
1462. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1463. else
1464. {
1465. if (num_tex[j] == 'o') { num_si = 87; token += Convert.ToString(num_tex[j]); }
1466. else
1467. {
1468. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1469. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1470. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1471. }
1472. }
1473. break;
1474. case 87:
1475. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1476. else
1477. {
1478. if (num_tex[j] == 'i') { num_si = 88; token += Convert.ToString(num_tex[j]); }
1479. else
1480. {
1481. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1482. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1483. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1484. }
1485. }
1486. break;
1487. case 88:
1488. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }
1489. else
1490. {
1491. if (num_tex[j] == 'd') { num_si =54; token += Convert.ToString(num_tex[j]); }
1492. else
1493. {
1494. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }
1495. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }
1496. else { num_si = 85; token += Convert.ToString(num_tex[j]); }
1497. }
1498. }
1499. break;
1500. }}num_si = 0; }}}
Приложение 3
Руководство пользователя
Общие сведения о программе
Программа на C#, моделирует работу компилятора для оператора do-while и for.
Инструкция по работе
Для того что-бы запустить программу вставте диск в дисковод.
Двараза кликните по LEX_AN.exe.
После запуска вы увидите интерфейс программы. (Рис.1)
синтаксический грамматика интерфейс анализатор
Рис. 1 Интерфейс программы
Ввод текста программы производится в соответствующее поле. После нажатия на кнопку “Обработка” программа удаляет коментарии и лишние пробелы, результат записывается в соответствующее поле. При нажатии на “Анализ” программа выделяет лексемы и выводит дескрипторный код и псевдокод в соответствующие поля, так же в соответсвующем поле отображается ошибка. При нажатии на “Сброс” программа перейдет в начальное состояние. При нажатии “Пример кода” программа выведет пример для обработки и анализа.
Размещено на Allbest.ru
Подобные документы
Разработка технического задания на проектирование, определение требований к программе. Предварительный выбор метода решения синтаксического анализатора, проектирование программного приложения, конфигурация технических средств программы и её тестирование.
курсовая работа [28,5 K], добавлен 28.06.2011Структура, классификация и требования к реализации компилятора. Проектирование и реализация анализирующей части компилятора языка С++. Способы реализации лексического анализа. Алгоритм работы синтаксического анализатора. Принципы программной реализации.
курсовая работа [774,2 K], добавлен 26.01.2013Проектирование программы-анализатора, состоящей из двух частей: лексического анализатора, разбивающего исходный текст программы на лексемы и заполняющего таблицу имен; синтаксического анализатора, проверяющего соответствие текста заданной грамматике.
курсовая работа [2,0 M], добавлен 14.06.2010Решение задач синтаксического анализа простой программы. Алгоритм нахождения синтаксических ошибок в ее тексте. Вывод данных о местоположении ошибки. Проектирование программы анализа арифметического выражения и методы проверки его на сумму или разность.
курсовая работа [2,6 M], добавлен 01.07.2011Понятие синтаксического анализа. Программный продукт для обработки данных строкового типа. Построение сканера текстов с использованием утилиты flex, синтаксического анализатора с помощью утилиты bison. Грамматика языка программирования обработки строк.
курсовая работа [261,7 K], добавлен 29.10.2012Разработка анализирующей части компилятора для выполнения проверки исходной программы на соответствие грамматике языка, правилам семантики и построения внутреннего представления. Описание анализаторов: лексического, синтаксического и семантического.
контрольная работа [704,9 K], добавлен 01.02.2013Место компилятора в программном обеспечении. Принципы работы и автоматизация построения синтаксического анализатора. Дерево разбора и его преобразование в дерево операций. Назначение и этапы семантического анализа. Идентификация языков программирования.
реферат [265,1 K], добавлен 20.12.2007Организация таблицы идентификаторов, ее содержание и назначение. Метод бинарного дерева и цепочек. Проектирование лексического анализатора и схема распознавателя. Построение дерева вывода, синтаксический анализатор. Анализ результатов работы программы.
курсовая работа [1,0 M], добавлен 25.12.2014Проектирование лексического и синтаксического анализаторов учебного языка. Правила преобразования логических выражений в ПОЛИЗ. Формирование триад, оптимизация их списка. Логическая структура программы. Тестирование модулей транслятора-интерпретатора.
курсовая работа [1,3 M], добавлен 28.05.2013Входная грамматика в структурированной форме. Функции переходов символьного преобразователя. Работа лексического анализатора. Структуры данных, символы действия. Описание семантики перевода. Построение и программная реализация атрибутного преобразователя.
курсовая работа [128,9 K], добавлен 03.07.2013